diff --git a/.github/workflows/windows-build.yml b/.github/workflows/windows-build.yml index b7ef44a9d..22d41c27c 100644 --- a/.github/workflows/windows-build.yml +++ b/.github/workflows/windows-build.yml @@ -136,6 +136,32 @@ jobs: echo "=== ccache statistics ===" /ucrt64/bin/ccache -s + - name: Run the unit tests + shell: msys2 {0} + env: + QT_QPA_PLATFORM: offscreen + run: | + set -euo pipefail + cd "$GITHUB_WORKSPACE/build" + ctest --output-on-failure --timeout 300 && exit 0 + # ctest shows no output for failed tests in this shell, so run each + # failed test again with QtTest writing its log to a file, and print it. + set +e + while IFS=: read -r _ name; do + name=${name%$'\r'} + exe=$(find tests -name "$name.exe" | head -1) + echo "::group::$name" + if [ -n "$exe" ]; then + QT_QPA_PLATFORM=offscreen "$exe" -o "$name.txt,txt" + echo "exit code $?" + cat "$name.txt" 2>/dev/null + else + echo "no executable for $name" + fi + echo "::endgroup::" + done < Testing/Temporary/LastTestsFailed.log + exit 1 + - name: Verify exe was built shell: msys2 {0} run: | @@ -373,6 +399,15 @@ jobs: echo "=== Contents of nsis_root/files/ ===" ls "$GITHUB_WORKSPACE/nsis_root/files/" + - name: Diagnose NSIS plugins + shell: msys2 {0} + run: | + pacman -Q mingw-w64-ucrt-x86_64-nsis || true + echo "=== nsDialogs.dll ===" + find "$MSYSTEM_PREFIX/share/nsis" -iname 'nsDialogs.dll' || true + echo "=== Plugins tree ===" + find "$MSYSTEM_PREFIX/share/nsis/Plugins" -maxdepth 2 | head -60 || true + - name: Build NSIS installer shell: msys2 {0} run: | @@ -380,8 +415,28 @@ jobs: NSIS_ROOT="$GITHUB_WORKSPACE/nsis_root" cd "$NSIS_ROOT" echo "=== CWD : $(pwd) ===" - MSYS2_ARG_CONV_EXCL="*" makensis /V4 QET64.nsi - RC=$? + echo "=== Unicode/Target directives in QET64.nsi ===" + grep -niE '^[[:space:]]*(unicode|target)[[:space:]]' QET64.nsi || echo "(none)" + + # Fallback: if makensis does not register its plugin dir, point it + # at the folder that actually contains nsDialogs.dll. + EXTRA=() + DLL=$(find "$MSYSTEM_PREFIX/share/nsis" -iname 'nsDialogs.dll' | head -1 || true) + if [ -n "$DLL" ]; then + PLUGDIR_WIN=$(cygpath -w "$(dirname "$DLL")") + echo "nsDialogs.dll found in: $PLUGDIR_WIN" + # Plugin dirs are per target in NSIS: declare it for all of them so + # it applies whatever Unicode/Target directive QET64.nsi uses. + EXTRA=(-X"!addplugindir /x86-ansi $PLUGDIR_WIN" + -X"!addplugindir /x86-unicode $PLUGDIR_WIN" + -X"!addplugindir /amd64-unicode $PLUGDIR_WIN") + else + echo "::error::nsDialogs.dll not found in the MSYS2 NSIS package" + exit 1 + fi + + RC=0 + MSYS2_ARG_CONV_EXCL="*" makensis /V4 "${EXTRA[@]}" QET64.nsi || RC=$? echo "=== Contents of nsis_root after makensis ===" ls "$NSIS_ROOT/" [ $RC -eq 0 ] || { echo "ERROR: makensis failed (exit $RC)"; exit 1; } @@ -407,6 +462,7 @@ jobs: name: build-logs-qt6 path: | build/CMakeFiles/*.log + build/Testing/Temporary/LastTest*.log nsis_root/files/bin/ if-no-files-found: warn diff --git a/CMakeLists.txt b/CMakeLists.txt index 243ca3e04..bd685a45d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify @@ -159,6 +159,18 @@ if(WIN32) ${QET_DIR}/qelectrotech.qrc ${QET_DIR}/ico/icon-themes.qrc ) + # Our own manifest (it declares longPathAware). MSVC merges a .manifest + # listed as a source; MinGW needs it embedded through a resource file, + # and ld then keeps it ahead of the toolchain's default manifest. + set(QET_MANIFEST_FILE ${QET_DIR}/build-aux/windows/qelectrotech.exe.manifest) + if(MSVC) + target_sources(${PROJECT_NAME} PRIVATE ${QET_MANIFEST_FILE}) + else() + configure_file(${QET_DIR}/build-aux/windows/qelectrotech-manifest.rc.in + ${CMAKE_CURRENT_BINARY_DIR}/qelectrotech-manifest.rc @ONLY) + target_sources(${PROJECT_NAME} PRIVATE + ${CMAKE_CURRENT_BINARY_DIR}/qelectrotech-manifest.rc) + endif() else() add_executable( ${PROJECT_NAME} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9a84d8a80..cf5f0f6a0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,157 @@ Here are some important resources: ## Testing +### Build the tests + +Start with the dependencies and platform-specific setup in +[INSTALL.md](INSTALL.md). Tests additionally require the Qt6 Test module. +The commands below use CMake/CTest 3.20 or newer (`--test-dir` needs 3.20), +a C++17 compiler, and the Qt6 development packages, including GuiPrivate, +Svg and LinguistTools. Configuration may download dependencies with +FetchContent, including Catch2, so an initial build needs network access. + +Run the following commands from the repository root. Keep build products in +a separate directory and use Debug for the regression tests: + +```sh +git submodule update --init --recursive +cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug -DPACKAGE_TESTS=ON +cmake --build build --config Debug --parallel +``` + +`PACKAGE_TESTS` defaults to `ON`; specify it explicitly when reusing a build +directory that previously disabled tests. `BUILD_WITH_KF` defaults to `ON`. +If KDE Frameworks are unavailable, add `-DBUILD_WITH_KF=OFF` to the configure +command, as described in INSTALL.md. Use a separate build directory when +changing compiler, Qt kit, or generator. + +### Run the tests with CTest + +After a successful build, list the registered tests, run them, or select a +test by name with `-R`: + +```sh +ctest --test-dir build -C Debug -N +ctest --test-dir build -C Debug --output-on-failure +ctest --test-dir build -C Debug -R '^tst_qetstrings$' --output-on-failure +``` + +`-N` only lists tests; it does not execute them. `-C Debug` selects the +configuration for multi-configuration generators such as Visual Studio. +For single-configuration generators such as Ninja and Unix Makefiles, +`CMAKE_BUILD_TYPE=Debug` selects it at configure time. CTest runs the tests +registered by CMake; it does not build their executables. + +Some tests create Qt widgets and need a graphical environment. On a Linux +machine without a display, use Xvfb as the Linux CI does: + +```sh +xvfb-run -a ctest --test-dir build -C Debug --output-on-failure +``` + +Tests that depend on optional features may not be registered. In particular, +several scripting tests require the Qt6 Qml module at configure time. +Review the test list and any skipped tests before reporting what was covered. + +### Windows + +Follow INSTALL.md for SQLite3 and the MSVC or MinGW toolchain. The compiler +and Qt kit must match. For MSVC, use a Visual Studio developer PowerShell; +the example below assumes Visual Studio 2022 and a 64-bit MSVC Qt kit. +Replace the example Qt path with your installation, and supply any SQLite3 +paths or toolchain file required by your setup: + +```powershell +$qtPrefix = 'C:/Qt/6.x.x/msvc2022_64' +cmake -S . -B build-msvc -G 'Visual Studio 17 2022' -A x64 ` + "-DCMAKE_PREFIX_PATH=$qtPrefix" -DBUILD_WITH_KF=OFF -DPACKAGE_TESTS=ON +cmake --build build-msvc --config Debug --parallel +$env:Path = "$qtPrefix/bin;$env:Path" +ctest --test-dir build-msvc -C Debug --output-on-failure +``` + +Putting the matching Qt `bin` directory on `PATH` lets test executables find +Qt DLLs. Other shared dependencies must also be available on `PATH`. +For MinGW with Ninja, use the matching MinGW Qt kit and compiler environment, +omit `-A x64`, select `-G Ninja`, and set `-DCMAKE_BUILD_TYPE=Debug`. +The Linux shell regression scripts below do not run natively on Windows. + +### Tests outside the CTest suite + +The Catch2 executable `C_unittests` is built with `PACKAGE_TESTS=ON`, but is +currently not registered with CTest. Run it separately from the repository +root after building: + +```sh +./build/tests/catch/C_unittests +``` + +This executable creates a Qt GUI application too. On headless Linux, use: + +```sh +xvfb-run -a ./build/tests/catch/C_unittests +``` + +For the Visual Studio example above, use this PowerShell command after +setting up `PATH`: + +```powershell +& ./build-msvc/tests/catch/Debug/C_unittests.exe +``` + +The Python MCP suite is also separate from CTest. Its unit and protocol +tests can be run without a QElectroTech binary. Some fixtures launch POSIX +shell scripts, so use a Unix-like environment for this suite: + +```sh +python3 misc/qet-mcp/test_qet_mcp.py +``` + +Use `python` instead of `python3` if that is your interpreter's command. +Integration tests need a built QElectroTech and the environment variables +documented in [the MCP testing guide](misc/qet-mcp/README.md#testing), +including `QET_ENABLE_SCRIPTING=1` for script-driven tests. Missing integration +prerequisites cause tests to be skipped, so a successful unit run alone does +not establish integration coverage. + +### Linux regression prerequisites + +In addition to the build dependencies in INSTALL.md, headless widget tests +need `xvfb-run`, Xvfb and `xauth`. The existing +[Linux workflow](.github/workflows/linux-build.yml) lists the packages used +by CI, including the QtSvg development package and SQLite driver for QtSql. +Package names vary by distribution. + +The IPC open-forwarding regression requires Bash, Xvfb, Openbox and xdotool. +Use a Qt6 Debug build; the documented reproduction used Qt 6.10.2. It uses +`examples/industrial.qet` by default and starts its own display, so run it +directly rather than wrapping it in `xvfb-run`: + +```sh +tests/ipc-regression/run.sh --binary build/qelectrotech +``` + +This test is separate from CTest. Exit code `0` means the scenario survived, +`1` means a crash, and `2` means inconclusive or unusable input. An inconclusive +run is not a pass. See [the IPC guide](tests/ipc-regression/README.md). + +The quit-during-modal regression needs gdb with Python support and a binary +with the symbols used by the test (use an unstripped Debug build). It uses +Qt's offscreen platform and needs no X server. It is registered with CTest +on Linux and can be selected with: + +```sh +ctest --test-dir build -C Debug -R '^modal_quit_regression$' --output-on-failure +``` + +Missing gdb, missing Python support in gdb, or a stripped binary can result +in exit code `77`, which CTest treats as skipped. See +[the modal-quit guide](tests/modal-quit-regression/README.md). + +When submitting changes, state the build configuration, commands actually +run, results, and any skipped or unavailable tests. If commands were only +checked against the build files or documentation, say so explicitly. + ## Submitting changes Always write a clear log message for your commits. diff --git a/CREDIT b/CREDIT index f303da2bd..b2f4ac75d 100644 --- a/CREDIT +++ b/CREDIT @@ -58,6 +58,36 @@ Thanks to Elbert from the NL for packaging OS/2 Thanks to zloidemon from for packaging FreeBsd (port GCC) Thanks to Mrbit for ebuild Gentoo packaging. +[de] +Dank an Qt Software für die Qt-Bibliothek (http://www.qtsoftware.com/), lizenziert unter der GNU/GPL. +Dank an das KDE-Projekt (http://www.kde.org/). +Dank an Loic für seine mathematischen Erläuterungen. +Dank an Remi Collet für die Fedora-Paketierung. +Dank an Laurent Trinques für die Debian-Paketierung. +Dank an „trem“ für die Mandriva-Paketierung. +Dank an TuxFamily (http://tuxfamily.org/) für das Hosting des Projekts. +Dank an „Nishiki“ für seine Elemente und seine Unterstützung. +Dank an qtcentre.org für die „SingleApplication“-Klasse. +Dank an Alfredo Carreto für seine spanischen Übersetzungen und die Korrektur der spanischen Übersetzungen (http://electronicosmx.net) +Dank an „Dr.Slump“ und Sivio für ihre Übersetzungen ins Italienische. +Dank an Jose Carlos Martins für seine Übersetzungen ins Portugiesische. +Dank an Pavel Fric für seine Übersetzungen ins Tschechische. +Dank an Pawel Smiech für seine polnischen Übersetzungen. +Dank an Yuriy Litkevich für seine Übersetzungen ins Russische. +Dank an Youssef Ouamalkran für seine Übersetzungen ins Katalanische. +Dank an Gabi Mandoc für seine Übersetzungen ins Rumänische. +Dank an Markus Budde, Jonas Stein und Noah Braden für ihre Übersetzungen ins Deutsche. +Dank an Mohamed Souabni für seine Übersetzungen ins Arabische. +Dank an Uroš Platiše für seine Übersetzungen ins Slowenische. +Dank an Antun Marakovic für seine Übersetzungen ins Kroatische. +Dank an Nikos Papadopoylos und Yannis Gyftomitros für ihre griechischen Übersetzungen. +Dank an Markos Chandras für die Gentoo-Paketierung. +Dank an David für die Paketierung von Slackware. +Dank an Chipsterjulien für die Paketierung der Archlinux-AUR-Pakete. +Dank an Elbert aus den Niederlanden für die Paketierung von OS/2. +Dank an zloidemon für die Paketierung von FreeBSD (GCC-Port). +Dank an Mrbit für die ebuild-Paketierung für Gentoo. + [fr] Merci à Qt Software pour la bibliothèque Qt ( http://www.qtsoftware.com/ ), sous licence GNU/GPL. Merci au projet KDE ( http://www.kde.org/ ). diff --git a/INSTALL.md b/INSTALL.md index eeb14e741..c651085f6 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -363,3 +363,20 @@ and running it concurrently with the normal `lrelease` compilation step (as would happen under `-j`/parallel builds) can corrupt a `.ts` file mid-write, causing `lrelease` to fail with "Premature end of document". Run it on its own, review the diff, and commit the updated `.ts` files separately. + +The strings in the code are French, so `lang/qet_fr.ts` is the source +language's own file. After `update_translations`, run + +```sh +python3 misc/i18n/mirror_source_language.py lang/qet_fr.ts +``` + +before committing: it copies every new French source string into its own +translation, so `qet_fr.qm` stays complete and French wording can later be +corrected in the `.ts` alone, without changing the key that the other +languages are attached to. Forgetting it breaks nothing (an empty entry +falls back to the code text); `--check` reports whether a run is needed. +A French correction typed into `qet_fr.ts` is lost like any other +translation when the code string is reworded; the vanished entry keeps the +old text for recovery. Never add `-removeidentical` to the `lrelease` +options: it would strip these entries again. diff --git a/README.md b/README.md index bbd246ca6..47e5432b3 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,8 @@ Here are the technical choices made for the software development: * Libraries: Qt 6.x * [KF6 Framework](https://github.com/KDE) [Cmake](https://cmake.org/install/) - [kcoreaddons](https://github.com/KDE/kcoreaddons/tree/kf6) - [kwidgetsaddons](https://github.com/KDE/kwidgetsaddons/tree/kf6). + [kcoreaddons](https://invent.kde.org/frameworks/kcoreaddons) + [kwidgetsaddons](https://invent.kde.org/frameworks/kwidgetsaddons). * Coding language: [C++](https://en.wikipedia.org/wiki/C%2B%2B) * GUI translations: [Qt Linguist](http://doc.qt.io/qt-6/qtlinguist-index.html) * Version control: [GIT](https://github.com/qelectrotech/qelectrotech-source-mirror.git) diff --git a/build-aux/windows/QET64.nsi b/build-aux/windows/QET64.nsi index fe1522457..fc79b780a 100644 --- a/build-aux/windows/QET64.nsi +++ b/build-aux/windows/QET64.nsi @@ -1,4 +1,4 @@ -; this file is part of installer for QElectroTech +; this file is part of installer for QElectroTech ; Copyright (C)2015 QElectroTech Team ; ; This program is free software; you can redistribute it and/or @@ -34,7 +34,7 @@ ;-------------------------------- ; NSIS 3 requires SetCompressor BEFORE any Section or Function SetCompressor /FINAL /SOLID lzma - +Unicode true ;-------------------------------- ; Includes !include x64.nsh diff --git a/build-aux/windows/lang_extra.nsh b/build-aux/windows/lang_extra.nsh index 2c6dcb45c..4c43cf55e 100644 --- a/build-aux/windows/lang_extra.nsh +++ b/build-aux/windows/lang_extra.nsh @@ -1,4 +1,4 @@ - LangString installed ${LANG_ENGLISH} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade." + LangString installed ${LANG_ENGLISH} "${SOFT_NAME} is already installed. $\n$\nClick `OK` to remove the previous version or `Cancel` to cancel this upgrade." LangString wrongArch ${LANG_ENGLISH} "This distribution is for 64 bits computers only." LangString Elements ${LANG_ENGLISH} "Elements" LangString Electric ${LANG_ENGLISH} "Electric" diff --git a/build-aux/windows/lang_extra_fr.nsh b/build-aux/windows/lang_extra_fr.nsh index bcfd9988b..33bfc025d 100644 --- a/build-aux/windows/lang_extra_fr.nsh +++ b/build-aux/windows/lang_extra_fr.nsh @@ -1,4 +1,4 @@ - LangString wrongArch ${LANG_FRENCH} "Ce programme est pour Windows 64 bits seulement." + LangString wrongArch ${LANG_FRENCH} "Ce programme est pour Windows 64 bits seulement." LangString installed ${LANG_FRENCH} "${SOFT_NAME} est déja installé. $\n$\nCliquer sur `OK` pour désinstaller l'ancienne version `Annuler` pour annuler cet upgrade." LangString Elements ${LANG_FRENCH} "Eléments" LangString Electric ${LANG_FRENCH} "Electrique" diff --git a/build-aux/windows/lang_extra_missing.nsh b/build-aux/windows/lang_extra_missing.nsh index afae58e03..4f22629c2 100644 --- a/build-aux/windows/lang_extra_missing.nsh +++ b/build-aux/windows/lang_extra_missing.nsh @@ -1,4 +1,4 @@ -; Missing language translations for QElectroTech installer +; Missing language translations for QElectroTech installer ; Languages added: hu, ja, mn, nb, nl_BE, nl_NL, pt_BR, rs/sr, sk, sl, sv, tr, uk, zh ; ---------------------------------------------------------------- diff --git a/build-aux/windows/qelectrotech-manifest.rc.in b/build-aux/windows/qelectrotech-manifest.rc.in new file mode 100644 index 000000000..54304e875 --- /dev/null +++ b/build-aux/windows/qelectrotech-manifest.rc.in @@ -0,0 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +// Embeds qelectrotech.exe.manifest as the program's manifest +// (resource id 1 = CREATEPROCESS_MANIFEST_RESOURCE_ID, type 24 = RT_MANIFEST). +1 24 "@QET_MANIFEST_FILE@" diff --git a/build-aux/windows/qelectrotech.exe.manifest b/build-aux/windows/qelectrotech.exe.manifest new file mode 100644 index 000000000..1aa9ef544 --- /dev/null +++ b/build-aux/windows/qelectrotech.exe.manifest @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + diff --git a/cmake/copyright_message.cmake b/cmake/copyright_message.cmake index a4b2ff704..2bd7872bf 100644 --- a/cmake/copyright_message.cmake +++ b/cmake/copyright_message.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify @@ -16,7 +16,7 @@ message( "_____________________________________________________________________" - "\nCopyright 2006 The QElectroTech Team" + "\nCopyright 2006-2026 The QElectroTech Team" "\nThis file is part of QElectroTech." "\n\nQElectroTech is free software: you can redistribute it and/or modify" diff --git a/cmake/define_definitions.cmake b/cmake/define_definitions.cmake index 89ea2c6d4..40b3bb904 100644 --- a/cmake/define_definitions.cmake +++ b/cmake/define_definitions.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/developer_options.cmake b/cmake/developer_options.cmake index bdc63930e..d7b1f154b 100644 --- a/cmake/developer_options.cmake +++ b/cmake/developer_options.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/fetch_kdeaddons.cmake b/cmake/fetch_kdeaddons.cmake index 561ed3550..3e428064d 100644 --- a/cmake/fetch_kdeaddons.cmake +++ b/cmake/fetch_kdeaddons.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/fetch_pugixml.cmake b/cmake/fetch_pugixml.cmake index 25f235570..fd9bfe6ef 100644 --- a/cmake/fetch_pugixml.cmake +++ b/cmake/fetch_pugixml.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/fetch_singleapplication.cmake b/cmake/fetch_singleapplication.cmake index 6983dfc2b..02a3281a1 100644 --- a/cmake/fetch_singleapplication.cmake +++ b/cmake/fetch_singleapplication.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/find_spacemouse.cmake b/cmake/find_spacemouse.cmake index f5ac77410..00d99aeec 100644 --- a/cmake/find_spacemouse.cmake +++ b/cmake/find_spacemouse.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/git_last_commit_sha.cmake b/cmake/git_last_commit_sha.cmake index 0e8164121..5ffb7081b 100644 --- a/cmake/git_last_commit_sha.cmake +++ b/cmake/git_last_commit_sha.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/git_update_submodules.cmake b/cmake/git_update_submodules.cmake index 9e1777c52..41cf44146 100644 --- a/cmake/git_update_submodules.cmake +++ b/cmake/git_update_submodules.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/hoto_update_cmake_message.cmake b/cmake/hoto_update_cmake_message.cmake index 8d2fb2485..2a8381595 100644 --- a/cmake/hoto_update_cmake_message.cmake +++ b/cmake/hoto_update_cmake_message.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/paths_compilation_installation.cmake b/cmake/paths_compilation_installation.cmake index c151ada30..de599f0c1 100644 --- a/cmake/paths_compilation_installation.cmake +++ b/cmake/paths_compilation_installation.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/cmake/qet_compilation_vars.cmake b/cmake/qet_compilation_vars.cmake index 6fd509de2..6ed57ae02 100644 --- a/cmake/qet_compilation_vars.cmake +++ b/cmake/qet_compilation_vars.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify @@ -179,6 +179,10 @@ set(QET_SRC_FILES ${QET_DIR}/sources/wiringlistexport.cpp ${QET_DIR}/sources/wirehops.h ${QET_DIR}/sources/wirehops.cpp + ${QET_DIR}/sources/wiringrules.h + ${QET_DIR}/sources/wiringrules.cpp + ${QET_DIR}/sources/conductorrouter.h + ${QET_DIR}/sources/conductorrouter.cpp ${QET_DIR}/sources/ui/wiringlistdialog.h ${QET_DIR}/sources/ui/wiringlistdialog.cpp ${QET_DIR}/sources/conductornumexport.h @@ -188,6 +192,7 @@ set(QET_SRC_FILES ${QET_DIR}/sources/conductorprofile.h ${QET_DIR}/sources/conductorproperties.cpp ${QET_DIR}/sources/conductorproperties.h + ${QET_DIR}/sources/conductormultiedit.h ${QET_DIR}/sources/conductorsegment.cpp ${QET_DIR}/sources/conductorsegment.h ${QET_DIR}/sources/conductorsegmentprofile.h @@ -239,6 +244,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/genericpanel.h ${QET_DIR}/sources/itemgroups.cpp ${QET_DIR}/sources/itemgroups.h + ${QET_DIR}/sources/shownkinds.cpp + ${QET_DIR}/sources/shownkinds.h ${QET_DIR}/sources/lastusedstyle.cpp ${QET_DIR}/sources/lastusedstyle.h ${QET_DIR}/sources/machine_info.cpp @@ -294,10 +301,16 @@ set(QET_SRC_FILES ${QET_DIR}/sources/shortcutmanager.h ${QET_DIR}/sources/shortcutbarsettings.cpp ${QET_DIR}/sources/shortcutbarsettings.h + ${QET_DIR}/sources/diagramtoolbarsettings.cpp + ${QET_DIR}/sources/diagramtoolbarsettings.h + ${QET_DIR}/sources/toolbarsettings.cpp + ${QET_DIR}/sources/toolbarsettings.h ${QET_DIR}/sources/diagramcontexttoolbar.cpp ${QET_DIR}/sources/diagramcontexttoolbar.h ${QET_DIR}/sources/diagramgestureoverlay.cpp ${QET_DIR}/sources/diagramgestureoverlay.h + ${QET_DIR}/sources/gesturesettings.cpp + ${QET_DIR}/sources/gesturesettings.h ${QET_DIR}/sources/commandsearchpopup.cpp ${QET_DIR}/sources/commandsearchpopup.h ${QET_DIR}/sources/titleblockcell.cpp @@ -317,6 +330,18 @@ set(QET_SRC_FILES ${QET_DIR}/sources/autoNum/numerotationcontext.h ${QET_DIR}/sources/autoNum/renumberelementscommand.cpp ${QET_DIR}/sources/autoNum/renumberelementscommand.h + ${QET_DIR}/sources/autoNum/autonumschemecommand.cpp + ${QET_DIR}/sources/autoNum/autonumschemecommand.h + ${QET_DIR}/sources/autoNum/elementautonumschemecommand.cpp + ${QET_DIR}/sources/autoNum/elementautonumschemecommand.h + ${QET_DIR}/sources/autoNum/ui/counterwarning.cpp + ${QET_DIR}/sources/autoNum/ui/counterwarning.h + ${QET_DIR}/sources/autoNum/ui/pastenumberingimport.cpp + ${QET_DIR}/sources/autoNum/ui/pastenumberingimport.h + ${QET_DIR}/sources/autoNum/ui/renumberpreviewdialog.cpp + ${QET_DIR}/sources/autoNum/ui/renumberpreviewdialog.h + ${QET_DIR}/sources/undocommand/freezeelementlabelcommand.cpp + ${QET_DIR}/sources/undocommand/freezeelementlabelcommand.h ${QET_DIR}/sources/autoNum/ui/autonumberingdockwidget.cpp ${QET_DIR}/sources/autoNum/ui/autonumberingdockwidget.h ${QET_DIR}/sources/autoNum/ui/autonumberingmanagementw.cpp @@ -352,6 +377,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/diagramevent/diagrameventaddimage.h ${QET_DIR}/sources/diagramevent/diagrameventaddshape.cpp ${QET_DIR}/sources/diagramevent/diagrameventaddshape.h + ${QET_DIR}/sources/diagramevent/diagrameventfillet.cpp + ${QET_DIR}/sources/diagramevent/diagrameventfillet.h ${QET_DIR}/sources/diagramevent/diagrameventaddpath.cpp ${QET_DIR}/sources/diagramevent/diagrameventaddpath.h ${QET_DIR}/sources/diagramevent/diagrameventaddcable.cpp @@ -445,6 +472,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/editor/ui/polygoneditor.h ${QET_DIR}/sources/editor/ui/rectangleeditor.cpp ${QET_DIR}/sources/editor/ui/rectangleeditor.h + ${QET_DIR}/sources/editor/ui/scaleelementdialog.cpp + ${QET_DIR}/sources/editor/ui/scaleelementdialog.h ${QET_DIR}/sources/editor/ui/terminaleditor.cpp ${QET_DIR}/sources/editor/ui/terminaleditor.h ${QET_DIR}/sources/editor/ui/texteditor.cpp @@ -595,6 +624,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandleritem.h ${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandlerutility.cpp ${QET_DIR}/sources/QetGraphicsItemModeler/qetgraphicshandlerutility.h + ${QET_DIR}/sources/QetGraphicsItemModeler/textresizehandles.cpp + ${QET_DIR}/sources/QetGraphicsItemModeler/textresizehandles.h ${QET_DIR}/sources/QPropertyUndoCommand/qpropertyundocommand.cpp ${QET_DIR}/sources/QPropertyUndoCommand/qpropertyundocommand.h @@ -794,6 +825,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/ui/importelementtextpatterndialog.h ${QET_DIR}/sources/ui/jumptoelementdialog.cpp ${QET_DIR}/sources/ui/jumptoelementdialog.h + ${QET_DIR}/sources/ui/wiringruleswarning.cpp + ${QET_DIR}/sources/ui/wiringruleswarning.h ${QET_DIR}/sources/ui/inditextpropertieswidget.cpp ${QET_DIR}/sources/ui/inditextpropertieswidget.h ${QET_DIR}/sources/ui/linksingleelementwidget.cpp @@ -835,6 +868,14 @@ set(QET_SRC_FILES ${QET_DIR}/sources/ui/configpage/shortcutsconfigpage.h ${QET_DIR}/sources/ui/configpage/shortcutbarconfigpage.cpp ${QET_DIR}/sources/ui/configpage/shortcutbarconfigpage.h + ${QET_DIR}/sources/ui/customizedialog.cpp + ${QET_DIR}/sources/ui/customizedialog.h + ${QET_DIR}/sources/ui/configpage/toolbarcommandsconfigpage.cpp + ${QET_DIR}/sources/ui/configpage/toolbarcommandsconfigpage.h + ${QET_DIR}/sources/ui/configpage/toolbarsconfigpage.cpp + ${QET_DIR}/sources/ui/configpage/toolbarsconfigpage.h + ${QET_DIR}/sources/ui/configpage/gesturesconfigpage.cpp + ${QET_DIR}/sources/ui/configpage/gesturesconfigpage.h ${QET_DIR}/sources/undocommand/addelementtextcommand.cpp ${QET_DIR}/sources/undocommand/addelementtextcommand.h @@ -864,6 +905,8 @@ set(QET_SRC_FILES ${QET_DIR}/sources/undocommand/groupitemscommand.h ${QET_DIR}/sources/undocommand/alignselectioncommand.cpp ${QET_DIR}/sources/undocommand/alignselectioncommand.h + ${QET_DIR}/sources/undocommand/mirrorselectioncommand.cpp + ${QET_DIR}/sources/undocommand/mirrorselectioncommand.h ${QET_DIR}/sources/undocommand/rotateselectioncommand.cpp ${QET_DIR}/sources/undocommand/rotateselectioncommand.h ${QET_DIR}/sources/undocommand/promoteshapecommand.cpp @@ -965,6 +1008,17 @@ list(APPEND QET_SRC_FILES ${QET_DIR}/sources/scripting/qetscriptapi.h ${QET_DIR}/sources/scripting/qetscripting.cpp ${QET_DIR}/sources/scripting/qetscripting.h + ${QET_DIR}/sources/scripting/scriptheader.h + ${QET_DIR}/sources/scripting/scriptlibrary.cpp + ${QET_DIR}/sources/scripting/scriptlibrary.h + ${QET_DIR}/sources/scripting/scriptmanagerdialog.cpp + ${QET_DIR}/sources/scripting/scriptmanagerdialog.h + ${QET_DIR}/sources/scripting/liveserver.cpp + ${QET_DIR}/sources/scripting/liveserver.h + ${QET_DIR}/sources/scripting/macrorecorder.cpp + ${QET_DIR}/sources/scripting/macrorecorder.h + ${QET_DIR}/sources/scripting/assistantinfo.cpp + ${QET_DIR}/sources/scripting/assistantinfo.h ) if(QET_SPACEMOUSE_ENABLED) diff --git a/cmake/start_options.cmake b/cmake/start_options.cmake index f8cfae1a9..a5fc68991 100644 --- a/cmake/start_options.cmake +++ b/cmake/start_options.cmake @@ -1,4 +1,4 @@ -# Copyright 2006 The QElectroTech Team +# Copyright 2006-2026 The QElectroTech Team # This file is part of QElectroTech. # # QElectroTech is free software: you can redistribute it and/or modify diff --git a/docs/smart-device-bom.md b/docs/smart-device-bom.md index d62823919..4252332c5 100644 --- a/docs/smart-device-bom.md +++ b/docs/smart-device-bom.md @@ -42,10 +42,18 @@ unit conventions and decimal quantities are not changed implicitly. ## BOM Policy -The default BOM query exports one row per Simple or Master element. Slave -contacts, terminal-strip elements, reports, thumbnails, and conductor -definitions are excluded. A Master device is counted once and PLC I/O entries -are not expanded. The existing `exclude_from_bom` property is honored by the +The default BOM query exports one row per Simple, Master, Slave or Terminal +element: an auxiliary contact block and a terminal block are parts of their +own (discussion #847). Reports, thumbnails and conductor definitions are +excluded. A Master device is counted once and PLC I/O entries are not +expanded. + +Two options leave rows out (#1178). Contact blocks: uncheck **Contacts +esclaves** in the dialog, or pass `--no-slaves`. Junctions, the +terminal-type symbols drawn where wires branch (`114_connections`), which +have no label, designation, manufacturer or manufacturer reference: check +**Laisser de côté les jonctions**, or pass `--no-junctions`. A terminal block +with a label or a part number is kept. The existing `exclude_from_bom` property is honored by the SQL view, including common true representations (`true`, `1`, `yes`, `on`). The default columns are: diff --git a/ico/128x128/configure-shortcuts.png b/ico/128x128/configure-shortcuts.png deleted file mode 100644 index 6046a6286..000000000 Binary files a/ico/128x128/configure-shortcuts.png and /dev/null differ diff --git a/ico/128x128/diagram.png b/ico/128x128/diagram.png deleted file mode 100644 index 75d8a18ee..000000000 Binary files a/ico/128x128/diagram.png and /dev/null differ diff --git a/ico/128x128/document-export.png b/ico/128x128/document-export.png deleted file mode 100644 index b7891a130..000000000 Binary files a/ico/128x128/document-export.png and /dev/null differ diff --git a/ico/128x128/printer.png b/ico/128x128/printer.png deleted file mode 100644 index a28ba4bba..000000000 Binary files a/ico/128x128/printer.png and /dev/null differ diff --git a/ico/128x128/settings.png b/ico/128x128/settings.png deleted file mode 100644 index 5683686e0..000000000 Binary files a/ico/128x128/settings.png and /dev/null differ diff --git a/ico/128x128/terminalstrip.svg b/ico/128x128/terminalstrip.svg deleted file mode 100644 index ec2b9c651..000000000 --- a/ico/128x128/terminalstrip.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ico/16x16/application-exit.png b/ico/16x16/application-exit.png deleted file mode 100644 index 35ec37b9d..000000000 Binary files a/ico/16x16/application-exit.png and /dev/null differ diff --git a/ico/16x16/arrow-left.png b/ico/16x16/arrow-left.png deleted file mode 100644 index cb61de837..000000000 Binary files a/ico/16x16/arrow-left.png and /dev/null differ diff --git a/ico/16x16/arrow-right.png b/ico/16x16/arrow-right.png deleted file mode 100644 index 1d5e3d9d4..000000000 Binary files a/ico/16x16/arrow-right.png and /dev/null differ diff --git a/ico/16x16/circle.png b/ico/16x16/circle.png deleted file mode 100644 index 8d1beb0c5..000000000 Binary files a/ico/16x16/circle.png and /dev/null differ diff --git a/ico/16x16/conductor.png b/ico/16x16/conductor.png deleted file mode 100644 index 63689325e..000000000 Binary files a/ico/16x16/conductor.png and /dev/null differ diff --git a/ico/16x16/configure.png b/ico/16x16/configure.png deleted file mode 100644 index 9fbee6234..000000000 Binary files a/ico/16x16/configure.png and /dev/null differ diff --git a/ico/16x16/diagram.png b/ico/16x16/diagram.png deleted file mode 100644 index ad64610d7..000000000 Binary files a/ico/16x16/diagram.png and /dev/null differ diff --git a/ico/16x16/dialog-cancel.png b/ico/16x16/dialog-cancel.png deleted file mode 100644 index c731f7ace..000000000 Binary files a/ico/16x16/dialog-cancel.png and /dev/null differ diff --git a/ico/16x16/dialog-ok.png b/ico/16x16/dialog-ok.png deleted file mode 100644 index 14d314a05..000000000 Binary files a/ico/16x16/dialog-ok.png and /dev/null differ diff --git a/ico/16x16/document-close.png b/ico/16x16/document-close.png deleted file mode 100644 index ebe8cad21..000000000 Binary files a/ico/16x16/document-close.png and /dev/null differ diff --git a/ico/16x16/document-export.png b/ico/16x16/document-export.png deleted file mode 100644 index 42060fc3a..000000000 Binary files a/ico/16x16/document-export.png and /dev/null differ diff --git a/ico/16x16/document-import.png b/ico/16x16/document-import.png deleted file mode 100644 index 48097aa36..000000000 Binary files a/ico/16x16/document-import.png and /dev/null differ diff --git a/ico/16x16/document-new.png b/ico/16x16/document-new.png deleted file mode 100644 index 3c7b13cc5..000000000 Binary files a/ico/16x16/document-new.png and /dev/null differ diff --git a/ico/16x16/document-open-recent.png b/ico/16x16/document-open-recent.png deleted file mode 100644 index 12d9726ea..000000000 Binary files a/ico/16x16/document-open-recent.png and /dev/null differ diff --git a/ico/16x16/document-open.png b/ico/16x16/document-open.png deleted file mode 100644 index a7dd1bc62..000000000 Binary files a/ico/16x16/document-open.png and /dev/null differ diff --git a/ico/16x16/document-print-frame.png b/ico/16x16/document-print-frame.png deleted file mode 100644 index aaff67f23..000000000 Binary files a/ico/16x16/document-print-frame.png and /dev/null differ diff --git a/ico/16x16/document-print.png b/ico/16x16/document-print.png deleted file mode 100644 index aaff67f23..000000000 Binary files a/ico/16x16/document-print.png and /dev/null differ diff --git a/ico/16x16/document-save-all.png b/ico/16x16/document-save-all.png deleted file mode 100644 index 7a288174d..000000000 Binary files a/ico/16x16/document-save-all.png and /dev/null differ diff --git a/ico/16x16/document-save-as.png b/ico/16x16/document-save-as.png deleted file mode 100644 index e4f0a726a..000000000 Binary files a/ico/16x16/document-save-as.png and /dev/null differ diff --git a/ico/16x16/document-save.png b/ico/16x16/document-save.png deleted file mode 100644 index 5f3e7777b..000000000 Binary files a/ico/16x16/document-save.png and /dev/null differ diff --git a/ico/16x16/edit-clear-locationbar-ltr.png b/ico/16x16/edit-clear-locationbar-ltr.png deleted file mode 100644 index 9386508fe..000000000 Binary files a/ico/16x16/edit-clear-locationbar-ltr.png and /dev/null differ diff --git a/ico/16x16/edit-clear-locationbar-rtl.png b/ico/16x16/edit-clear-locationbar-rtl.png deleted file mode 100644 index 4f3511a57..000000000 Binary files a/ico/16x16/edit-clear-locationbar-rtl.png and /dev/null differ diff --git a/ico/16x16/edit-clear.png b/ico/16x16/edit-clear.png deleted file mode 100644 index e570733a8..000000000 Binary files a/ico/16x16/edit-clear.png and /dev/null differ diff --git a/ico/16x16/edit-copy.png b/ico/16x16/edit-copy.png deleted file mode 100644 index b804d7a98..000000000 Binary files a/ico/16x16/edit-copy.png and /dev/null differ diff --git a/ico/16x16/edit-cut.png b/ico/16x16/edit-cut.png deleted file mode 100644 index e3ddef14f..000000000 Binary files a/ico/16x16/edit-cut.png and /dev/null differ diff --git a/ico/16x16/edit-delete.png b/ico/16x16/edit-delete.png deleted file mode 100644 index 21ce6f71c..000000000 Binary files a/ico/16x16/edit-delete.png and /dev/null differ diff --git a/ico/16x16/edit-download.png b/ico/16x16/edit-download.png deleted file mode 100644 index 18a931b42..000000000 Binary files a/ico/16x16/edit-download.png and /dev/null differ diff --git a/ico/16x16/edit-paste.png b/ico/16x16/edit-paste.png deleted file mode 100644 index 8fe8effbc..000000000 Binary files a/ico/16x16/edit-paste.png and /dev/null differ diff --git a/ico/16x16/edit-redo.png b/ico/16x16/edit-redo.png deleted file mode 100644 index 473fd5271..000000000 Binary files a/ico/16x16/edit-redo.png and /dev/null differ diff --git a/ico/16x16/edit-rename.png b/ico/16x16/edit-rename.png deleted file mode 100644 index c0d8e8bfd..000000000 Binary files a/ico/16x16/edit-rename.png and /dev/null differ diff --git a/ico/16x16/edit-select-all.png b/ico/16x16/edit-select-all.png deleted file mode 100644 index 0755c5e64..000000000 Binary files a/ico/16x16/edit-select-all.png and /dev/null differ diff --git a/ico/16x16/edit-select-invert.png b/ico/16x16/edit-select-invert.png deleted file mode 100644 index d6a5b1fe1..000000000 Binary files a/ico/16x16/edit-select-invert.png and /dev/null differ diff --git a/ico/16x16/edit-select-none.png b/ico/16x16/edit-select-none.png deleted file mode 100644 index 39e824a95..000000000 Binary files a/ico/16x16/edit-select-none.png and /dev/null differ diff --git a/ico/16x16/edit-table-cell-merge.png b/ico/16x16/edit-table-cell-merge.png deleted file mode 100644 index 68ea6fa5f..000000000 Binary files a/ico/16x16/edit-table-cell-merge.png and /dev/null differ diff --git a/ico/16x16/edit-table-cell-split.png b/ico/16x16/edit-table-cell-split.png deleted file mode 100644 index f5af72655..000000000 Binary files a/ico/16x16/edit-table-cell-split.png and /dev/null differ diff --git a/ico/16x16/edit-table-delete-column.png b/ico/16x16/edit-table-delete-column.png deleted file mode 100644 index 90a8a76f8..000000000 Binary files a/ico/16x16/edit-table-delete-column.png and /dev/null differ diff --git a/ico/16x16/edit-table-delete-row.png b/ico/16x16/edit-table-delete-row.png deleted file mode 100644 index a7a740f9e..000000000 Binary files a/ico/16x16/edit-table-delete-row.png and /dev/null differ diff --git a/ico/16x16/edit-table-insert-column-left.png b/ico/16x16/edit-table-insert-column-left.png deleted file mode 100644 index 363501016..000000000 Binary files a/ico/16x16/edit-table-insert-column-left.png and /dev/null differ diff --git a/ico/16x16/edit-table-insert-column-right.png b/ico/16x16/edit-table-insert-column-right.png deleted file mode 100644 index 9e5d7d3da..000000000 Binary files a/ico/16x16/edit-table-insert-column-right.png and /dev/null differ diff --git a/ico/16x16/edit-table-insert-row-above.png b/ico/16x16/edit-table-insert-row-above.png deleted file mode 100644 index 7edf81493..000000000 Binary files a/ico/16x16/edit-table-insert-row-above.png and /dev/null differ diff --git a/ico/16x16/edit-table-insert-row-under.png b/ico/16x16/edit-table-insert-row-under.png deleted file mode 100644 index ff4299901..000000000 Binary files a/ico/16x16/edit-table-insert-row-under.png and /dev/null differ diff --git a/ico/16x16/edit-undo.png b/ico/16x16/edit-undo.png deleted file mode 100644 index d9e6dccbf..000000000 Binary files a/ico/16x16/edit-undo.png and /dev/null differ diff --git a/ico/16x16/element.png b/ico/16x16/element.png deleted file mode 100644 index 14888be00..000000000 Binary files a/ico/16x16/element.png and /dev/null differ diff --git a/ico/16x16/flip.png b/ico/16x16/flip.png deleted file mode 100644 index 72c40bf95..000000000 Binary files a/ico/16x16/flip.png and /dev/null differ diff --git a/ico/16x16/folder-new.png b/ico/16x16/folder-new.png deleted file mode 100644 index 81fe83d54..000000000 Binary files a/ico/16x16/folder-new.png and /dev/null differ diff --git a/ico/16x16/folder-open.png b/ico/16x16/folder-open.png deleted file mode 100644 index a191f9979..000000000 Binary files a/ico/16x16/folder-open.png and /dev/null differ diff --git a/ico/16x16/folder-properties.png b/ico/16x16/folder-properties.png deleted file mode 100644 index e5a609d4d..000000000 Binary files a/ico/16x16/folder-properties.png and /dev/null differ diff --git a/ico/16x16/folder.png b/ico/16x16/folder.png deleted file mode 100644 index 2e2ea1a3f..000000000 Binary files a/ico/16x16/folder.png and /dev/null differ diff --git a/ico/16x16/folio-delete.png b/ico/16x16/folio-delete.png deleted file mode 100644 index 1ed2b8028..000000000 Binary files a/ico/16x16/folio-delete.png and /dev/null differ diff --git a/ico/16x16/folio-new.png b/ico/16x16/folio-new.png deleted file mode 100644 index a788a722f..000000000 Binary files a/ico/16x16/folio-new.png and /dev/null differ diff --git a/ico/16x16/folio-properties.png b/ico/16x16/folio-properties.png deleted file mode 100644 index a4581c162..000000000 Binary files a/ico/16x16/folio-properties.png and /dev/null differ diff --git a/ico/16x16/go-bottom.png b/ico/16x16/go-bottom.png deleted file mode 100644 index 490b265c0..000000000 Binary files a/ico/16x16/go-bottom.png and /dev/null differ diff --git a/ico/16x16/go-down-double.png b/ico/16x16/go-down-double.png deleted file mode 100644 index 46e2bed31..000000000 Binary files a/ico/16x16/go-down-double.png and /dev/null differ diff --git a/ico/16x16/go-down.png b/ico/16x16/go-down.png deleted file mode 100644 index 05c690b06..000000000 Binary files a/ico/16x16/go-down.png and /dev/null differ diff --git a/ico/16x16/go-home.png b/ico/16x16/go-home.png deleted file mode 100644 index a3cf271c9..000000000 Binary files a/ico/16x16/go-home.png and /dev/null differ diff --git a/ico/16x16/go-top.png b/ico/16x16/go-top.png deleted file mode 100644 index ae516930f..000000000 Binary files a/ico/16x16/go-top.png and /dev/null differ diff --git a/ico/16x16/go-up-double.png b/ico/16x16/go-up-double.png deleted file mode 100644 index cef7f8b41..000000000 Binary files a/ico/16x16/go-up-double.png and /dev/null differ diff --git a/ico/16x16/go-up.png b/ico/16x16/go-up.png deleted file mode 100644 index 8a0d0e2dd..000000000 Binary files a/ico/16x16/go-up.png and /dev/null differ diff --git a/ico/16x16/grid.png b/ico/16x16/grid.png deleted file mode 100644 index 2c646c60d..000000000 Binary files a/ico/16x16/grid.png and /dev/null differ diff --git a/ico/16x16/help-contents.png b/ico/16x16/help-contents.png deleted file mode 100644 index 3fb63a165..000000000 Binary files a/ico/16x16/help-contents.png and /dev/null differ diff --git a/ico/16x16/help-donate.png b/ico/16x16/help-donate.png deleted file mode 100644 index 8d13033d3..000000000 Binary files a/ico/16x16/help-donate.png and /dev/null differ diff --git a/ico/16x16/item-cancel.png b/ico/16x16/item-cancel.png deleted file mode 100644 index c731f7ace..000000000 Binary files a/ico/16x16/item-cancel.png and /dev/null differ diff --git a/ico/16x16/item-copy.png b/ico/16x16/item-copy.png deleted file mode 100644 index b804d7a98..000000000 Binary files a/ico/16x16/item-copy.png and /dev/null differ diff --git a/ico/16x16/item-move.png b/ico/16x16/item-move.png deleted file mode 100644 index 5f8cee2fa..000000000 Binary files a/ico/16x16/item-move.png and /dev/null differ diff --git a/ico/16x16/kdenlive-show-video.png b/ico/16x16/kdenlive-show-video.png deleted file mode 100644 index 9135f40ed..000000000 Binary files a/ico/16x16/kdenlive-show-video.png and /dev/null differ diff --git a/ico/16x16/label.png b/ico/16x16/label.png deleted file mode 100644 index 315cb5279..000000000 Binary files a/ico/16x16/label.png and /dev/null differ diff --git a/ico/16x16/list-add.png b/ico/16x16/list-add.png deleted file mode 100644 index 67ceb4113..000000000 Binary files a/ico/16x16/list-add.png and /dev/null differ diff --git a/ico/16x16/list-remove.png b/ico/16x16/list-remove.png deleted file mode 100644 index e165fb747..000000000 Binary files a/ico/16x16/list-remove.png and /dev/null differ diff --git a/ico/16x16/masquer.png b/ico/16x16/masquer.png deleted file mode 100644 index 8f8e9a3b6..000000000 Binary files a/ico/16x16/masquer.png and /dev/null differ diff --git a/ico/16x16/mirror.png b/ico/16x16/mirror.png deleted file mode 100644 index 6a842bc07..000000000 Binary files a/ico/16x16/mirror.png and /dev/null differ diff --git a/ico/16x16/move.png b/ico/16x16/move.png deleted file mode 100644 index 5553e93e7..000000000 Binary files a/ico/16x16/move.png and /dev/null differ diff --git a/ico/16x16/object-group.png b/ico/16x16/object-group.png deleted file mode 100644 index d1c0e093c..000000000 Binary files a/ico/16x16/object-group.png and /dev/null differ diff --git a/ico/16x16/object-rotate-right.png b/ico/16x16/object-rotate-right.png deleted file mode 100644 index 30a29672f..000000000 Binary files a/ico/16x16/object-rotate-right.png and /dev/null differ diff --git a/ico/16x16/preferences-desktop-user.png b/ico/16x16/preferences-desktop-user.png deleted file mode 100644 index 25222b46b..000000000 Binary files a/ico/16x16/preferences-desktop-user.png and /dev/null differ diff --git a/ico/16x16/project-delete.png b/ico/16x16/project-delete.png deleted file mode 100644 index 6a14a5649..000000000 Binary files a/ico/16x16/project-delete.png and /dev/null differ diff --git a/ico/16x16/qet.png b/ico/16x16/qet.png deleted file mode 100644 index c0c7eb9b5..000000000 Binary files a/ico/16x16/qet.png and /dev/null differ diff --git a/ico/16x16/qt.png b/ico/16x16/qt.png deleted file mode 100644 index 74b406ec0..000000000 Binary files a/ico/16x16/qt.png and /dev/null differ diff --git a/ico/16x16/select.png b/ico/16x16/select.png deleted file mode 100644 index 9fa393cdd..000000000 Binary files a/ico/16x16/select.png and /dev/null differ diff --git a/ico/16x16/table-of-content.png b/ico/16x16/table-of-content.png deleted file mode 100644 index 604fe31c2..000000000 Binary files a/ico/16x16/table-of-content.png and /dev/null differ diff --git a/ico/16x16/transform-rotate.png b/ico/16x16/transform-rotate.png deleted file mode 100644 index 71042d3c3..000000000 Binary files a/ico/16x16/transform-rotate.png and /dev/null differ diff --git a/ico/16x16/user-busy.png b/ico/16x16/user-busy.png deleted file mode 100644 index 45fbaa667..000000000 Binary files a/ico/16x16/user-busy.png and /dev/null differ diff --git a/ico/16x16/user-online.png b/ico/16x16/user-online.png deleted file mode 100644 index 1d358cbab..000000000 Binary files a/ico/16x16/user-online.png and /dev/null differ diff --git a/ico/16x16/view-fullscreen.png b/ico/16x16/view-fullscreen.png deleted file mode 100644 index d00b8133a..000000000 Binary files a/ico/16x16/view-fullscreen.png and /dev/null differ diff --git a/ico/16x16/view-refresh.png b/ico/16x16/view-refresh.png deleted file mode 100644 index 7527ee00d..000000000 Binary files a/ico/16x16/view-refresh.png and /dev/null differ diff --git a/ico/16x16/view-restore.png b/ico/16x16/view-restore.png deleted file mode 100644 index 645b5db98..000000000 Binary files a/ico/16x16/view-restore.png and /dev/null differ diff --git a/ico/16x16/window-close.svg b/ico/16x16/window-close.svg deleted file mode 100644 index 1fc40d94c..000000000 --- a/ico/16x16/window-close.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - diff --git a/ico/16x16/window-new.png b/ico/16x16/window-new.png deleted file mode 100644 index f60d2d000..000000000 Binary files a/ico/16x16/window-new.png and /dev/null differ diff --git a/ico/16x16/zoom-draw.png b/ico/16x16/zoom-draw.png deleted file mode 100644 index 0879f41e8..000000000 Binary files a/ico/16x16/zoom-draw.png and /dev/null differ diff --git a/ico/16x16/zoom-in.png b/ico/16x16/zoom-in.png deleted file mode 100644 index 74886f5a6..000000000 Binary files a/ico/16x16/zoom-in.png and /dev/null differ diff --git a/ico/16x16/zoom-out.png b/ico/16x16/zoom-out.png deleted file mode 100644 index 998789b83..000000000 Binary files a/ico/16x16/zoom-out.png and /dev/null differ diff --git a/ico/22x22/Actions-player-time-icon.png b/ico/22x22/Actions-player-time-icon.png deleted file mode 100644 index 19c5d3411..000000000 Binary files a/ico/22x22/Actions-player-time-icon.png and /dev/null differ diff --git a/ico/22x22/application-exit.png b/ico/22x22/application-exit.png deleted file mode 100644 index b4b5c263b..000000000 Binary files a/ico/22x22/application-exit.png and /dev/null differ diff --git a/ico/22x22/applications-development-translation.png b/ico/22x22/applications-development-translation.png deleted file mode 100644 index 34599ba3c..000000000 Binary files a/ico/22x22/applications-development-translation.png and /dev/null differ diff --git a/ico/22x22/arc.png b/ico/22x22/arc.png deleted file mode 100644 index 082df111f..000000000 Binary files a/ico/22x22/arc.png and /dev/null differ diff --git a/ico/22x22/arrow-left.png b/ico/22x22/arrow-left.png deleted file mode 100644 index c2e522864..000000000 Binary files a/ico/22x22/arrow-left.png and /dev/null differ diff --git a/ico/22x22/arrow-right.png b/ico/22x22/arrow-right.png deleted file mode 100644 index 6b4d4094d..000000000 Binary files a/ico/22x22/arrow-right.png and /dev/null differ diff --git a/ico/22x22/autoconnect.png b/ico/22x22/autoconnect.png deleted file mode 100644 index b1b3ef8dd..000000000 Binary files a/ico/22x22/autoconnect.png and /dev/null differ diff --git a/ico/22x22/bring_forward.png b/ico/22x22/bring_forward.png deleted file mode 100644 index c3b8b1642..000000000 Binary files a/ico/22x22/bring_forward.png and /dev/null differ diff --git a/ico/22x22/configure.png b/ico/22x22/configure.png deleted file mode 100644 index fdc4f0d94..000000000 Binary files a/ico/22x22/configure.png and /dev/null differ diff --git a/ico/22x22/dialog-cancel.png b/ico/22x22/dialog-cancel.png deleted file mode 100644 index c81277891..000000000 Binary files a/ico/22x22/dialog-cancel.png and /dev/null differ diff --git a/ico/22x22/dialog-ok.png b/ico/22x22/dialog-ok.png deleted file mode 100644 index b07cf10a2..000000000 Binary files a/ico/22x22/dialog-ok.png and /dev/null differ diff --git a/ico/22x22/document-close.png b/ico/22x22/document-close.png deleted file mode 100644 index c36e97b30..000000000 Binary files a/ico/22x22/document-close.png and /dev/null differ diff --git a/ico/22x22/document-export.png b/ico/22x22/document-export.png deleted file mode 100644 index d7b6cfbba..000000000 Binary files a/ico/22x22/document-export.png and /dev/null differ diff --git a/ico/22x22/document-import.png b/ico/22x22/document-import.png deleted file mode 100644 index 0d22342fb..000000000 Binary files a/ico/22x22/document-import.png and /dev/null differ diff --git a/ico/22x22/document-new.png b/ico/22x22/document-new.png deleted file mode 100644 index b25da4ce0..000000000 Binary files a/ico/22x22/document-new.png and /dev/null differ diff --git a/ico/22x22/document-open-recent.png b/ico/22x22/document-open-recent.png deleted file mode 100644 index 76a88838c..000000000 Binary files a/ico/22x22/document-open-recent.png and /dev/null differ diff --git a/ico/22x22/document-open.png b/ico/22x22/document-open.png deleted file mode 100644 index c73e84cf1..000000000 Binary files a/ico/22x22/document-open.png and /dev/null differ diff --git a/ico/22x22/document-print-frame.png b/ico/22x22/document-print-frame.png deleted file mode 100644 index 778f2fc19..000000000 Binary files a/ico/22x22/document-print-frame.png and /dev/null differ diff --git a/ico/22x22/document-print.png b/ico/22x22/document-print.png deleted file mode 100644 index 778f2fc19..000000000 Binary files a/ico/22x22/document-print.png and /dev/null differ diff --git a/ico/22x22/document-save-all.png b/ico/22x22/document-save-all.png deleted file mode 100644 index 5c670cd9b..000000000 Binary files a/ico/22x22/document-save-all.png and /dev/null differ diff --git a/ico/22x22/document-save-as.png b/ico/22x22/document-save-as.png deleted file mode 100644 index 55f60a51e..000000000 Binary files a/ico/22x22/document-save-as.png and /dev/null differ diff --git a/ico/22x22/document-save.png b/ico/22x22/document-save.png deleted file mode 100644 index b0e516b3f..000000000 Binary files a/ico/22x22/document-save.png and /dev/null differ diff --git a/ico/22x22/edit-clear-locationbar-ltr.png b/ico/22x22/edit-clear-locationbar-ltr.png deleted file mode 100644 index bf798c4b8..000000000 Binary files a/ico/22x22/edit-clear-locationbar-ltr.png and /dev/null differ diff --git a/ico/22x22/edit-clear-locationbar-rtl.png b/ico/22x22/edit-clear-locationbar-rtl.png deleted file mode 100644 index 694cae9d3..000000000 Binary files a/ico/22x22/edit-clear-locationbar-rtl.png and /dev/null differ diff --git a/ico/22x22/edit-clear.png b/ico/22x22/edit-clear.png deleted file mode 100644 index 4cabdd5db..000000000 Binary files a/ico/22x22/edit-clear.png and /dev/null differ diff --git a/ico/22x22/edit-copy.png b/ico/22x22/edit-copy.png deleted file mode 100644 index edb6ce67b..000000000 Binary files a/ico/22x22/edit-copy.png and /dev/null differ diff --git a/ico/22x22/edit-cut.png b/ico/22x22/edit-cut.png deleted file mode 100644 index d1f4f1155..000000000 Binary files a/ico/22x22/edit-cut.png and /dev/null differ diff --git a/ico/22x22/edit-delete.png b/ico/22x22/edit-delete.png deleted file mode 100644 index a34adf695..000000000 Binary files a/ico/22x22/edit-delete.png and /dev/null differ diff --git a/ico/22x22/edit-paste.png b/ico/22x22/edit-paste.png deleted file mode 100644 index 441bc83b8..000000000 Binary files a/ico/22x22/edit-paste.png and /dev/null differ diff --git a/ico/22x22/edit-redo.png b/ico/22x22/edit-redo.png deleted file mode 100644 index f970b7b66..000000000 Binary files a/ico/22x22/edit-redo.png and /dev/null differ diff --git a/ico/22x22/edit-rename.png b/ico/22x22/edit-rename.png deleted file mode 100644 index f4a8dd15f..000000000 Binary files a/ico/22x22/edit-rename.png and /dev/null differ diff --git a/ico/22x22/edit-select-all.png b/ico/22x22/edit-select-all.png deleted file mode 100644 index 42d56eda6..000000000 Binary files a/ico/22x22/edit-select-all.png and /dev/null differ diff --git a/ico/22x22/edit-table-cell-merge.png b/ico/22x22/edit-table-cell-merge.png deleted file mode 100644 index 3c0500038..000000000 Binary files a/ico/22x22/edit-table-cell-merge.png and /dev/null differ diff --git a/ico/22x22/edit-table-cell-split.png b/ico/22x22/edit-table-cell-split.png deleted file mode 100644 index c625fbfbc..000000000 Binary files a/ico/22x22/edit-table-cell-split.png and /dev/null differ diff --git a/ico/22x22/edit-table-delete-column.png b/ico/22x22/edit-table-delete-column.png deleted file mode 100644 index a94df56fa..000000000 Binary files a/ico/22x22/edit-table-delete-column.png and /dev/null differ diff --git a/ico/22x22/edit-table-delete-row.png b/ico/22x22/edit-table-delete-row.png deleted file mode 100644 index 48138a07a..000000000 Binary files a/ico/22x22/edit-table-delete-row.png and /dev/null differ diff --git a/ico/22x22/edit-table-insert-column-left.png b/ico/22x22/edit-table-insert-column-left.png deleted file mode 100644 index fa2abf463..000000000 Binary files a/ico/22x22/edit-table-insert-column-left.png and /dev/null differ diff --git a/ico/22x22/edit-table-insert-column-right.png b/ico/22x22/edit-table-insert-column-right.png deleted file mode 100644 index 02cdf5e89..000000000 Binary files a/ico/22x22/edit-table-insert-column-right.png and /dev/null differ diff --git a/ico/22x22/edit-table-insert-row-above.png b/ico/22x22/edit-table-insert-row-above.png deleted file mode 100644 index b4a15aab5..000000000 Binary files a/ico/22x22/edit-table-insert-row-above.png and /dev/null differ diff --git a/ico/22x22/edit-table-insert-row-under.png b/ico/22x22/edit-table-insert-row-under.png deleted file mode 100644 index 2309e4923..000000000 Binary files a/ico/22x22/edit-table-insert-row-under.png and /dev/null differ diff --git a/ico/22x22/edit-undo.png b/ico/22x22/edit-undo.png deleted file mode 100644 index 005705c51..000000000 Binary files a/ico/22x22/edit-undo.png and /dev/null differ diff --git a/ico/22x22/ellipse.png b/ico/22x22/ellipse.png deleted file mode 100644 index 501b8b25b..000000000 Binary files a/ico/22x22/ellipse.png and /dev/null differ diff --git a/ico/22x22/folder-new.png b/ico/22x22/folder-new.png deleted file mode 100644 index 8be615292..000000000 Binary files a/ico/22x22/folder-new.png and /dev/null differ diff --git a/ico/22x22/folder-open.png b/ico/22x22/folder-open.png deleted file mode 100644 index d7e71cd01..000000000 Binary files a/ico/22x22/folder-open.png and /dev/null differ diff --git a/ico/22x22/format-text-subscript.png b/ico/22x22/format-text-subscript.png deleted file mode 100644 index b1b0965b9..000000000 Binary files a/ico/22x22/format-text-subscript.png and /dev/null differ diff --git a/ico/22x22/format-text-superscript.png b/ico/22x22/format-text-superscript.png deleted file mode 100644 index 53194aa66..000000000 Binary files a/ico/22x22/format-text-superscript.png and /dev/null differ diff --git a/ico/22x22/go-down.png b/ico/22x22/go-down.png deleted file mode 100644 index 2b5cc5abf..000000000 Binary files a/ico/22x22/go-down.png and /dev/null differ diff --git a/ico/22x22/go-home.png b/ico/22x22/go-home.png deleted file mode 100644 index 3d5b72879..000000000 Binary files a/ico/22x22/go-home.png and /dev/null differ diff --git a/ico/22x22/go-up.png b/ico/22x22/go-up.png deleted file mode 100644 index 258977752..000000000 Binary files a/ico/22x22/go-up.png and /dev/null differ diff --git a/ico/22x22/grid.png b/ico/22x22/grid.png deleted file mode 100644 index 8cd01f801..000000000 Binary files a/ico/22x22/grid.png and /dev/null differ diff --git a/ico/22x22/insert-image.png b/ico/22x22/insert-image.png deleted file mode 100644 index 760803eef..000000000 Binary files a/ico/22x22/insert-image.png and /dev/null differ diff --git a/ico/22x22/line.png b/ico/22x22/line.png deleted file mode 100644 index 6f5346cbb..000000000 Binary files a/ico/22x22/line.png and /dev/null differ diff --git a/ico/22x22/list-add.png b/ico/22x22/list-add.png deleted file mode 100644 index 69a2f307c..000000000 Binary files a/ico/22x22/list-add.png and /dev/null differ diff --git a/ico/22x22/list-remove.png b/ico/22x22/list-remove.png deleted file mode 100644 index d986f138f..000000000 Binary files a/ico/22x22/list-remove.png and /dev/null differ diff --git a/ico/22x22/move.png b/ico/22x22/move.png deleted file mode 100644 index 2d8f17207..000000000 Binary files a/ico/22x22/move.png and /dev/null differ diff --git a/ico/22x22/object-locked.png b/ico/22x22/object-locked.png deleted file mode 100644 index 0da503d94..000000000 Binary files a/ico/22x22/object-locked.png and /dev/null differ diff --git a/ico/22x22/object-rotate-right.png b/ico/22x22/object-rotate-right.png deleted file mode 100644 index df0eecd90..000000000 Binary files a/ico/22x22/object-rotate-right.png and /dev/null differ diff --git a/ico/22x22/object-unlocked.png b/ico/22x22/object-unlocked.png deleted file mode 100644 index 446d31ad4..000000000 Binary files a/ico/22x22/object-unlocked.png and /dev/null differ diff --git a/ico/22x22/polygon.png b/ico/22x22/polygon.png deleted file mode 100644 index f5a7f1a05..000000000 Binary files a/ico/22x22/polygon.png and /dev/null differ diff --git a/ico/22x22/preferences-desktop-user.png b/ico/22x22/preferences-desktop-user.png deleted file mode 100644 index 401dcf1e1..000000000 Binary files a/ico/22x22/preferences-desktop-user.png and /dev/null differ diff --git a/ico/22x22/project-delete.png b/ico/22x22/project-delete.png deleted file mode 100644 index 24557da5b..000000000 Binary files a/ico/22x22/project-delete.png and /dev/null differ diff --git a/ico/22x22/rectangle.png b/ico/22x22/rectangle.png deleted file mode 100644 index 19e1706fa..000000000 Binary files a/ico/22x22/rectangle.png and /dev/null differ diff --git a/ico/22x22/restaurer.png b/ico/22x22/restaurer.png deleted file mode 100644 index ca9208c8e..000000000 Binary files a/ico/22x22/restaurer.png and /dev/null differ diff --git a/ico/22x22/select.png b/ico/22x22/select.png deleted file mode 100644 index cf56e90ca..000000000 Binary files a/ico/22x22/select.png and /dev/null differ diff --git a/ico/22x22/single_page.png b/ico/22x22/single_page.png deleted file mode 100644 index 3be1b7b40..000000000 Binary files a/ico/22x22/single_page.png and /dev/null differ diff --git a/ico/22x22/start.png b/ico/22x22/start.png deleted file mode 100644 index 694cae9d3..000000000 Binary files a/ico/22x22/start.png and /dev/null differ diff --git a/ico/22x22/text.png b/ico/22x22/text.png deleted file mode 100644 index bb5a7f9ae..000000000 Binary files a/ico/22x22/text.png and /dev/null differ diff --git a/ico/22x22/transform-scale.png b/ico/22x22/transform-scale.png deleted file mode 100644 index aee868587..000000000 Binary files a/ico/22x22/transform-scale.png and /dev/null differ diff --git a/ico/22x22/two_pages.png b/ico/22x22/two_pages.png deleted file mode 100644 index 8c3d5c515..000000000 Binary files a/ico/22x22/two_pages.png and /dev/null differ diff --git a/ico/22x22/view-fit-window.png b/ico/22x22/view-fit-window.png deleted file mode 100644 index 557a5e970..000000000 Binary files a/ico/22x22/view-fit-window.png and /dev/null differ diff --git a/ico/22x22/view-fullscreen.png b/ico/22x22/view-fullscreen.png deleted file mode 100644 index 4b28b0413..000000000 Binary files a/ico/22x22/view-fullscreen.png and /dev/null differ diff --git a/ico/22x22/view-refresh.png b/ico/22x22/view-refresh.png deleted file mode 100644 index 273307b35..000000000 Binary files a/ico/22x22/view-refresh.png and /dev/null differ diff --git a/ico/22x22/view-restore.png b/ico/22x22/view-restore.png deleted file mode 100644 index 6c5b11094..000000000 Binary files a/ico/22x22/view-restore.png and /dev/null differ diff --git a/ico/22x22/view_fit_width.png b/ico/22x22/view_fit_width.png deleted file mode 100644 index 607c5da32..000000000 Binary files a/ico/22x22/view_fit_width.png and /dev/null differ diff --git a/ico/22x22/window-new.png b/ico/22x22/window-new.png deleted file mode 100644 index 58d82d02b..000000000 Binary files a/ico/22x22/window-new.png and /dev/null differ diff --git a/ico/22x22/zoom-draw.png b/ico/22x22/zoom-draw.png deleted file mode 100644 index 1d04149d1..000000000 Binary files a/ico/22x22/zoom-draw.png and /dev/null differ diff --git a/ico/22x22/zoom-in.png b/ico/22x22/zoom-in.png deleted file mode 100644 index 2ae499de1..000000000 Binary files a/ico/22x22/zoom-in.png and /dev/null differ diff --git a/ico/22x22/zoom-out.png b/ico/22x22/zoom-out.png deleted file mode 100644 index cdd8d7505..000000000 Binary files a/ico/22x22/zoom-out.png and /dev/null differ diff --git a/ico/32x32/format-text-bold.png b/ico/32x32/format-text-bold.png deleted file mode 100644 index 52d835f86..000000000 Binary files a/ico/32x32/format-text-bold.png and /dev/null differ diff --git a/ico/32x32/format-text-color.png b/ico/32x32/format-text-color.png deleted file mode 100644 index 5ac3f0812..000000000 Binary files a/ico/32x32/format-text-color.png and /dev/null differ diff --git a/ico/32x32/format-text-italic.png b/ico/32x32/format-text-italic.png deleted file mode 100644 index fc025fb0a..000000000 Binary files a/ico/32x32/format-text-italic.png and /dev/null differ diff --git a/ico/32x32/format-text-underline.png b/ico/32x32/format-text-underline.png deleted file mode 100644 index 53a8045dc..000000000 Binary files a/ico/32x32/format-text-underline.png and /dev/null differ diff --git a/ico/32x32/image-x-eps.png b/ico/32x32/image-x-eps.png deleted file mode 100644 index dec8112cb..000000000 Binary files a/ico/32x32/image-x-eps.png and /dev/null differ diff --git a/ico/32x32/insert-link.png b/ico/32x32/insert-link.png deleted file mode 100644 index f8bd90cff..000000000 Binary files a/ico/32x32/insert-link.png and /dev/null differ diff --git a/ico/32x32/printer.png b/ico/32x32/printer.png deleted file mode 100644 index 47f73d6f1..000000000 Binary files a/ico/32x32/printer.png and /dev/null differ diff --git a/ico/32x32/qt.png b/ico/32x32/qt.png deleted file mode 100644 index 0c6a07751..000000000 Binary files a/ico/32x32/qt.png and /dev/null differ diff --git a/ico/48x48/document-print-frame.png b/ico/48x48/document-print-frame.png deleted file mode 100644 index 6c3e47233..000000000 Binary files a/ico/48x48/document-print-frame.png and /dev/null differ diff --git a/ico/48x48/user-away-extended.png b/ico/48x48/user-away-extended.png deleted file mode 100644 index 4ff79a78b..000000000 Binary files a/ico/48x48/user-away-extended.png and /dev/null differ diff --git a/ico/48x48/user-away.png b/ico/48x48/user-away.png deleted file mode 100644 index 4ff79a78b..000000000 Binary files a/ico/48x48/user-away.png and /dev/null differ diff --git a/ico/48x48/view-pim-journal.png b/ico/48x48/view-pim-journal.png deleted file mode 100644 index a741f7157..000000000 Binary files a/ico/48x48/view-pim-journal.png and /dev/null differ diff --git a/ico/README.md b/ico/README.md new file mode 100644 index 000000000..aacba1846 --- /dev/null +++ b/ico/README.md @@ -0,0 +1,37 @@ +# Icons + +QElectroTech loads most icons by name from an icon theme, for example +`QIcon::fromTheme("document-save")`. An icon theme is a folder of icons +sorted by size, with an `index.theme` file that lists the sizes. QET +has two themes, `qet` for light windows and `qet-dark` for dark ones. +`misc/make_icon_themes.py` builds both from the source folders below. + +| Folder | Contents | Source | Built by a script | License | +|---|---|---|---|---| +| `qet/traced/` | QET's icons as SVG, at 16 and 22 px, with smooth versions for larger sizes | Traced from QET's former PNG icons, or drawn by contributors | No | GPL-2.0-or-later | +| `qet/scalable/` | QET's SVG icons drawn on a 24 px canvas; `16/` holds 16 px versions | Drawn by contributors | No | GPL-2.0-or-later | +| `qet/pages/` | Settings page icons | Drawn by contributors | No | GPL-2.0-or-later | +| `breeze/` | KDE Breeze icons, in folders by pixel size | KDE Breeze | `misc/import_breeze_icons.py` | LGPL-3.0-or-later | +| `breeze/added/` | 16 px versions of Breeze icons that Breeze lacks or draws in another style | Drawn by contributors in the Breeze style | No | LGPL-3.0-or-later | +| `flags/` | Language flags | Damien Sorel's flag pack | No | Public domain | +| `colors/` | Color swatches for the element editor | Contributed in 2020 | No | GPL-2.0-or-later | +| `themes/` | The `qet` and `qet-dark` themes; `generated/` holds intermediate files | Built from the folders above | `misc/make_icon_themes.py` | Same as the source file | +| `breeze-icons/` | App and file-type icons in the Breeze style | Nuri | No | CC-BY-ND-3.0 | +| `256x256/` | QET logo for windows, the tray and the About menu; app icon | Nuri | No | CC-BY-ND-3.0 | +| `mac_icon/`, `windows_icon/` | App and file-type icons for macOS and Windows | Nuri | No | CC-BY-ND-3.0 | +| `splash.png` | Splash screen | Nuri | No | CC-BY-ND-3.0 | + +`icon-themes.qrc` lists the theme files for the Qt resource system and +is written by `misc/make_icon_themes.py`. Do not edit it by hand. + +`copyright` is the Debian copyright file for the whole project. It +holds the full license and credit for each icon. + +## Adding an icon + +1. Put the SVG in `qet/scalable/` and add it to `SVGS` in + `misc/make_icon_themes.py`. For a Breeze icon, add its name to + `BREEZE` there instead and run `misc/import_breeze_icons.py`. +2. Run `python3 misc/make_icon_themes.py`. +3. Load it with `QIcon::fromTheme("")`. +4. Credit it in `copyright`. diff --git a/ico/breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg b/ico/breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg deleted file mode 100644 index 677ae6200..000000000 --- a/ico/breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/ico/breeze-icons/scalable/apps/hidef/edit-opacity.svg b/ico/breeze-icons/scalable/apps/hidef/edit-opacity.svg deleted file mode 100644 index 186cbf3d6..000000000 --- a/ico/breeze-icons/scalable/apps/hidef/edit-opacity.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/ico/breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg b/ico/breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg deleted file mode 100644 index 6967dc851..000000000 --- a/ico/breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/ico/breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg b/ico/breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg deleted file mode 100644 index 342d873a6..000000000 --- a/ico/breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/ico/breeze-icons/scalable/apps/hidef/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/hidef/qelectrotech.svgz deleted file mode 100644 index 1094c540f..000000000 Binary files a/ico/breeze-icons/scalable/apps/hidef/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/apps/hidef/transform-crop.svg b/ico/breeze-icons/scalable/apps/hidef/transform-crop.svg deleted file mode 100644 index edd5fa4b7..000000000 --- a/ico/breeze-icons/scalable/apps/hidef/transform-crop.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/ico/breeze-icons/scalable/apps/small/16x16/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/small/16x16/qelectrotech.svgz deleted file mode 100644 index c2e7ef39b..000000000 Binary files a/ico/breeze-icons/scalable/apps/small/16x16/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/apps/small/22x22/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/small/22x22/qelectrotech.svgz deleted file mode 100644 index faddaa864..000000000 Binary files a/ico/breeze-icons/scalable/apps/small/22x22/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/apps/small/32x32/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/small/32x32/qelectrotech.svgz deleted file mode 100644 index b2c70db14..000000000 Binary files a/ico/breeze-icons/scalable/apps/small/32x32/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/apps/small/48x48/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/small/48x48/qelectrotech.svgz deleted file mode 100644 index 8ee441f4c..000000000 Binary files a/ico/breeze-icons/scalable/apps/small/48x48/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/apps/small/64x64/qelectrotech.svgz b/ico/breeze-icons/scalable/apps/small/64x64/qelectrotech.svgz deleted file mode 100644 index b03b40f8d..000000000 Binary files a/ico/breeze-icons/scalable/apps/small/64x64/qelectrotech.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-element.svgz b/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-element.svgz deleted file mode 100644 index dcf7bb167..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-element.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-project.svgz b/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-project.svgz deleted file mode 100644 index cbbdb444a..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-project.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-titleblock.svgz b/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-titleblock.svgz deleted file mode 100644 index 0b246716b..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-titleblock.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-element.svgz b/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-element.svgz deleted file mode 100644 index 83ea59b01..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-element.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-project.svgz b/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-project.svgz deleted file mode 100644 index 80b41b013..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-project.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/22x22/application-x-qet-element.svgz b/ico/breeze-icons/scalable/mimetypes/small/22x22/application-x-qet-element.svgz deleted file mode 100644 index e588e5466..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/22x22/application-x-qet-element.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-element.svgz b/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-element.svgz deleted file mode 100644 index 2098cc221..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-element.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-project.svgz b/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-project.svgz deleted file mode 100644 index c7c6a825f..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-project.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-titleblock.svgz b/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-titleblock.svgz deleted file mode 100644 index 49af172ba..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-titleblock.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-element.svgz b/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-element.svgz deleted file mode 100644 index 58774fa19..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-element.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-project.svgz b/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-project.svgz deleted file mode 100644 index e591a539e..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-project.svgz and /dev/null differ diff --git a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-titleblock.svgz b/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-titleblock.svgz deleted file mode 100644 index cffe76af5..000000000 Binary files a/ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-titleblock.svgz and /dev/null differ diff --git a/ico/breeze/16/draw-bezier-curves.svg b/ico/breeze/16/draw-bezier-curves.svg new file mode 100644 index 000000000..ce3a8d60b --- /dev/null +++ b/ico/breeze/16/draw-bezier-curves.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/ico/breeze/16/draw-circle.svg b/ico/breeze/16/draw-circle.svg deleted file mode 100644 index 54ff98519..000000000 --- a/ico/breeze/16/draw-circle.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/breeze/16/draw-ellipse.svg b/ico/breeze/16/draw-ellipse.svg deleted file mode 100644 index 5323404c8..000000000 --- a/ico/breeze/16/draw-ellipse.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/breeze/16/edit-opacity.svg b/ico/breeze/16/edit-opacity.svg new file mode 100644 index 000000000..1a85db709 --- /dev/null +++ b/ico/breeze/16/edit-opacity.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/ico/breeze/16/go-next-skip.svg b/ico/breeze/16/go-next-skip.svg deleted file mode 100644 index 85ae02d5e..000000000 --- a/ico/breeze/16/go-next-skip.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/ico/breeze/16/go-previous-skip.svg b/ico/breeze/16/go-previous-skip.svg deleted file mode 100644 index 4e556a50a..000000000 --- a/ico/breeze/16/go-previous-skip.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - diff --git a/ico/breeze/16/text-csv.svg b/ico/breeze/16/text-csv.svg deleted file mode 100644 index 706719a6d..000000000 --- a/ico/breeze/16/text-csv.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/ico/breeze/16/text-field.svg b/ico/breeze/16/text-field.svg deleted file mode 100644 index 8eb9c52be..000000000 --- a/ico/breeze/16/text-field.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/ico/breeze/16/text-xml.svg b/ico/breeze/16/text-xml.svg deleted file mode 100644 index 1a12e4b23..000000000 --- a/ico/breeze/16/text-xml.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/ico/breeze/16/transform-crop.svg b/ico/breeze/16/transform-crop.svg new file mode 100644 index 000000000..87d8c6ff9 --- /dev/null +++ b/ico/breeze/16/transform-crop.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/ico/breeze/16/view-pages-overview.svg b/ico/breeze/16/view-pages-overview.svg deleted file mode 100644 index 1831d1a87..000000000 --- a/ico/breeze/16/view-pages-overview.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/ico/breeze/16/window-close.svg b/ico/breeze/16/window-close.svg new file mode 100644 index 000000000..688add815 --- /dev/null +++ b/ico/breeze/16/window-close.svg @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/ico/breeze/22/draw-bezier-curves.svg b/ico/breeze/22/draw-bezier-curves.svg new file mode 100644 index 000000000..d8df8606b --- /dev/null +++ b/ico/breeze/22/draw-bezier-curves.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/ico/breeze/22/draw-circle.svg b/ico/breeze/22/draw-circle.svg deleted file mode 100644 index 2b95109cc..000000000 --- a/ico/breeze/22/draw-circle.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/breeze/22/draw-ellipse.svg b/ico/breeze/22/draw-ellipse.svg deleted file mode 100644 index 60e0527e4..000000000 --- a/ico/breeze/22/draw-ellipse.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/breeze/22/edit-opacity.svg b/ico/breeze/22/edit-opacity.svg new file mode 100644 index 000000000..3f94901c6 --- /dev/null +++ b/ico/breeze/22/edit-opacity.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/ico/breeze/22/go-next-skip.svg b/ico/breeze/22/go-next-skip.svg deleted file mode 100644 index 0ec9674a1..000000000 --- a/ico/breeze/22/go-next-skip.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/ico/breeze/22/go-previous-skip.svg b/ico/breeze/22/go-previous-skip.svg deleted file mode 100644 index f9ef7544f..000000000 --- a/ico/breeze/22/go-previous-skip.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/ico/breeze/22/text-csv.svg b/ico/breeze/22/text-csv.svg deleted file mode 100644 index 20f53dd51..000000000 --- a/ico/breeze/22/text-csv.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/ico/breeze/22/text-field.svg b/ico/breeze/22/text-field.svg deleted file mode 100644 index 03947bedd..000000000 --- a/ico/breeze/22/text-field.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/ico/breeze/22/text-xml.svg b/ico/breeze/22/text-xml.svg deleted file mode 100644 index e627ee108..000000000 --- a/ico/breeze/22/text-xml.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - \ No newline at end of file diff --git a/ico/breeze/22/transform-crop.svg b/ico/breeze/22/transform-crop.svg new file mode 100644 index 000000000..277b54d67 --- /dev/null +++ b/ico/breeze/22/transform-crop.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/ico/breeze/22/view-pages-overview.svg b/ico/breeze/22/view-pages-overview.svg deleted file mode 100644 index 2b0e87053..000000000 --- a/ico/breeze/22/view-pages-overview.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - diff --git a/ico/breeze/22/window-close.svg b/ico/breeze/22/window-close.svg new file mode 100644 index 000000000..c92017a29 --- /dev/null +++ b/ico/breeze/22/window-close.svg @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/ico/breeze/32/go-next-skip.svg b/ico/breeze/32/go-next-skip.svg deleted file mode 100644 index f04490974..000000000 --- a/ico/breeze/32/go-next-skip.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/ico/breeze/32/go-previous-skip.svg b/ico/breeze/32/go-previous-skip.svg deleted file mode 100644 index 0197efd74..000000000 --- a/ico/breeze/32/go-previous-skip.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/ico/breeze/32/text-csv.svg b/ico/breeze/32/text-csv.svg deleted file mode 100644 index 54e71c7b6..000000000 --- a/ico/breeze/32/text-csv.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ico/breeze/32/text-xml.svg b/ico/breeze/32/text-xml.svg deleted file mode 100644 index 412e09202..000000000 --- a/ico/breeze/32/text-xml.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/ico/breeze/32/window-close.svg b/ico/breeze/32/window-close.svg new file mode 100644 index 000000000..2916f4a1b --- /dev/null +++ b/ico/breeze/32/window-close.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/ico/breeze/48/systemsettings.svg b/ico/breeze/48/systemsettings.svg new file mode 100644 index 000000000..847b3e338 --- /dev/null +++ b/ico/breeze/48/systemsettings.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/breeze/64/printer.svg b/ico/breeze/64/printer.svg new file mode 100644 index 000000000..d96428e5b --- /dev/null +++ b/ico/breeze/64/printer.svg @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/breeze-added/16/preferences-desktop-user.svg b/ico/breeze/added/16/preferences-desktop-user.svg similarity index 100% rename from ico/breeze-added/16/preferences-desktop-user.svg rename to ico/breeze/added/16/preferences-desktop-user.svg diff --git a/ico/breeze/added/16/transform-crop.svg b/ico/breeze/added/16/transform-crop.svg new file mode 100644 index 000000000..08715c08b --- /dev/null +++ b/ico/breeze/added/16/transform-crop.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/ico/22x22/color/color-01-pink-01-pink.png b/ico/colors/color-01-pink-01-pink.png similarity index 100% rename from ico/22x22/color/color-01-pink-01-pink.png rename to ico/colors/color-01-pink-01-pink.png diff --git a/ico/22x22/color/color-01-pink-02-lightpink.png b/ico/colors/color-01-pink-02-lightpink.png similarity index 100% rename from ico/22x22/color/color-01-pink-02-lightpink.png rename to ico/colors/color-01-pink-02-lightpink.png diff --git a/ico/22x22/color/color-01-pink-03-hotpink.png b/ico/colors/color-01-pink-03-hotpink.png similarity index 100% rename from ico/22x22/color/color-01-pink-03-hotpink.png rename to ico/colors/color-01-pink-03-hotpink.png diff --git a/ico/22x22/color/color-01-pink-04-deeppink.png b/ico/colors/color-01-pink-04-deeppink.png similarity index 100% rename from ico/22x22/color/color-01-pink-04-deeppink.png rename to ico/colors/color-01-pink-04-deeppink.png diff --git a/ico/22x22/color/color-01-pink-05-palevioletred.png b/ico/colors/color-01-pink-05-palevioletred.png similarity index 100% rename from ico/22x22/color/color-01-pink-05-palevioletred.png rename to ico/colors/color-01-pink-05-palevioletred.png diff --git a/ico/22x22/color/color-01-pink-06-mediumvioletred.png b/ico/colors/color-01-pink-06-mediumvioletred.png similarity index 100% rename from ico/22x22/color/color-01-pink-06-mediumvioletred.png rename to ico/colors/color-01-pink-06-mediumvioletred.png diff --git a/ico/22x22/color/color-02-red-01-lightsalmon.png b/ico/colors/color-02-red-01-lightsalmon.png similarity index 100% rename from ico/22x22/color/color-02-red-01-lightsalmon.png rename to ico/colors/color-02-red-01-lightsalmon.png diff --git a/ico/22x22/color/color-02-red-02-salmon.png b/ico/colors/color-02-red-02-salmon.png similarity index 100% rename from ico/22x22/color/color-02-red-02-salmon.png rename to ico/colors/color-02-red-02-salmon.png diff --git a/ico/22x22/color/color-02-red-03-darksalmon.png b/ico/colors/color-02-red-03-darksalmon.png similarity index 100% rename from ico/22x22/color/color-02-red-03-darksalmon.png rename to ico/colors/color-02-red-03-darksalmon.png diff --git a/ico/22x22/color/color-02-red-04-lightcoral.png b/ico/colors/color-02-red-04-lightcoral.png similarity index 100% rename from ico/22x22/color/color-02-red-04-lightcoral.png rename to ico/colors/color-02-red-04-lightcoral.png diff --git a/ico/22x22/color/color-02-red-05-indianred.png b/ico/colors/color-02-red-05-indianred.png similarity index 100% rename from ico/22x22/color/color-02-red-05-indianred.png rename to ico/colors/color-02-red-05-indianred.png diff --git a/ico/22x22/color/color-02-red-06-crimson.png b/ico/colors/color-02-red-06-crimson.png similarity index 100% rename from ico/22x22/color/color-02-red-06-crimson.png rename to ico/colors/color-02-red-06-crimson.png diff --git a/ico/22x22/color/color-02-red-07-firebrick.png b/ico/colors/color-02-red-07-firebrick.png similarity index 100% rename from ico/22x22/color/color-02-red-07-firebrick.png rename to ico/colors/color-02-red-07-firebrick.png diff --git a/ico/22x22/color/color-02-red-08-darkred.png b/ico/colors/color-02-red-08-darkred.png similarity index 100% rename from ico/22x22/color/color-02-red-08-darkred.png rename to ico/colors/color-02-red-08-darkred.png diff --git a/ico/22x22/color/color-02-red-09-red.png b/ico/colors/color-02-red-09-red.png similarity index 100% rename from ico/22x22/color/color-02-red-09-red.png rename to ico/colors/color-02-red-09-red.png diff --git a/ico/22x22/color/color-03-orange-01-orangered.png b/ico/colors/color-03-orange-01-orangered.png similarity index 100% rename from ico/22x22/color/color-03-orange-01-orangered.png rename to ico/colors/color-03-orange-01-orangered.png diff --git a/ico/22x22/color/color-03-orange-02-tomato.png b/ico/colors/color-03-orange-02-tomato.png similarity index 100% rename from ico/22x22/color/color-03-orange-02-tomato.png rename to ico/colors/color-03-orange-02-tomato.png diff --git a/ico/22x22/color/color-03-orange-03-coral.png b/ico/colors/color-03-orange-03-coral.png similarity index 100% rename from ico/22x22/color/color-03-orange-03-coral.png rename to ico/colors/color-03-orange-03-coral.png diff --git a/ico/22x22/color/color-03-orange-04-darkorange.png b/ico/colors/color-03-orange-04-darkorange.png similarity index 100% rename from ico/22x22/color/color-03-orange-04-darkorange.png rename to ico/colors/color-03-orange-04-darkorange.png diff --git a/ico/22x22/color/color-03-orange-05-orange.png b/ico/colors/color-03-orange-05-orange.png similarity index 100% rename from ico/22x22/color/color-03-orange-05-orange.png rename to ico/colors/color-03-orange-05-orange.png diff --git a/ico/22x22/color/color-04-yellow-01-yellow.png b/ico/colors/color-04-yellow-01-yellow.png similarity index 100% rename from ico/22x22/color/color-04-yellow-01-yellow.png rename to ico/colors/color-04-yellow-01-yellow.png diff --git a/ico/22x22/color/color-04-yellow-02-lightyellow.png b/ico/colors/color-04-yellow-02-lightyellow.png similarity index 100% rename from ico/22x22/color/color-04-yellow-02-lightyellow.png rename to ico/colors/color-04-yellow-02-lightyellow.png diff --git a/ico/22x22/color/color-04-yellow-03-lemonchiffon.png b/ico/colors/color-04-yellow-03-lemonchiffon.png similarity index 100% rename from ico/22x22/color/color-04-yellow-03-lemonchiffon.png rename to ico/colors/color-04-yellow-03-lemonchiffon.png diff --git a/ico/22x22/color/color-04-yellow-04-lightgoldenrodyellow.png b/ico/colors/color-04-yellow-04-lightgoldenrodyellow.png similarity index 100% rename from ico/22x22/color/color-04-yellow-04-lightgoldenrodyellow.png rename to ico/colors/color-04-yellow-04-lightgoldenrodyellow.png diff --git a/ico/22x22/color/color-04-yellow-05-papayawhip.png b/ico/colors/color-04-yellow-05-papayawhip.png similarity index 100% rename from ico/22x22/color/color-04-yellow-05-papayawhip.png rename to ico/colors/color-04-yellow-05-papayawhip.png diff --git a/ico/22x22/color/color-04-yellow-06-moccasin.png b/ico/colors/color-04-yellow-06-moccasin.png similarity index 100% rename from ico/22x22/color/color-04-yellow-06-moccasin.png rename to ico/colors/color-04-yellow-06-moccasin.png diff --git a/ico/22x22/color/color-04-yellow-07-peachpuff.png b/ico/colors/color-04-yellow-07-peachpuff.png similarity index 100% rename from ico/22x22/color/color-04-yellow-07-peachpuff.png rename to ico/colors/color-04-yellow-07-peachpuff.png diff --git a/ico/22x22/color/color-04-yellow-08-palegoldenrod.png b/ico/colors/color-04-yellow-08-palegoldenrod.png similarity index 100% rename from ico/22x22/color/color-04-yellow-08-palegoldenrod.png rename to ico/colors/color-04-yellow-08-palegoldenrod.png diff --git a/ico/22x22/color/color-04-yellow-09-khaki.png b/ico/colors/color-04-yellow-09-khaki.png similarity index 100% rename from ico/22x22/color/color-04-yellow-09-khaki.png rename to ico/colors/color-04-yellow-09-khaki.png diff --git a/ico/22x22/color/color-04-yellow-10-darkkhaki.png b/ico/colors/color-04-yellow-10-darkkhaki.png similarity index 100% rename from ico/22x22/color/color-04-yellow-10-darkkhaki.png rename to ico/colors/color-04-yellow-10-darkkhaki.png diff --git a/ico/22x22/color/color-04-yellow-11-gold.png b/ico/colors/color-04-yellow-11-gold.png similarity index 100% rename from ico/22x22/color/color-04-yellow-11-gold.png rename to ico/colors/color-04-yellow-11-gold.png diff --git a/ico/22x22/color/color-05-brown-01-cornsilk.png b/ico/colors/color-05-brown-01-cornsilk.png similarity index 100% rename from ico/22x22/color/color-05-brown-01-cornsilk.png rename to ico/colors/color-05-brown-01-cornsilk.png diff --git a/ico/22x22/color/color-05-brown-02-blanchedalmond.png b/ico/colors/color-05-brown-02-blanchedalmond.png similarity index 100% rename from ico/22x22/color/color-05-brown-02-blanchedalmond.png rename to ico/colors/color-05-brown-02-blanchedalmond.png diff --git a/ico/22x22/color/color-05-brown-03-bisque.png b/ico/colors/color-05-brown-03-bisque.png similarity index 100% rename from ico/22x22/color/color-05-brown-03-bisque.png rename to ico/colors/color-05-brown-03-bisque.png diff --git a/ico/22x22/color/color-05-brown-04-navajowhite.png b/ico/colors/color-05-brown-04-navajowhite.png similarity index 100% rename from ico/22x22/color/color-05-brown-04-navajowhite.png rename to ico/colors/color-05-brown-04-navajowhite.png diff --git a/ico/22x22/color/color-05-brown-05-wheat.png b/ico/colors/color-05-brown-05-wheat.png similarity index 100% rename from ico/22x22/color/color-05-brown-05-wheat.png rename to ico/colors/color-05-brown-05-wheat.png diff --git a/ico/22x22/color/color-05-brown-06-burlywood.png b/ico/colors/color-05-brown-06-burlywood.png similarity index 100% rename from ico/22x22/color/color-05-brown-06-burlywood.png rename to ico/colors/color-05-brown-06-burlywood.png diff --git a/ico/22x22/color/color-05-brown-07-tan.png b/ico/colors/color-05-brown-07-tan.png similarity index 100% rename from ico/22x22/color/color-05-brown-07-tan.png rename to ico/colors/color-05-brown-07-tan.png diff --git a/ico/22x22/color/color-05-brown-08-rosybrown.png b/ico/colors/color-05-brown-08-rosybrown.png similarity index 100% rename from ico/22x22/color/color-05-brown-08-rosybrown.png rename to ico/colors/color-05-brown-08-rosybrown.png diff --git a/ico/22x22/color/color-05-brown-09-sandybrown.png b/ico/colors/color-05-brown-09-sandybrown.png similarity index 100% rename from ico/22x22/color/color-05-brown-09-sandybrown.png rename to ico/colors/color-05-brown-09-sandybrown.png diff --git a/ico/22x22/color/color-05-brown-10-goldenrod.png b/ico/colors/color-05-brown-10-goldenrod.png similarity index 100% rename from ico/22x22/color/color-05-brown-10-goldenrod.png rename to ico/colors/color-05-brown-10-goldenrod.png diff --git a/ico/22x22/color/color-05-brown-11-darkgoldenrod.png b/ico/colors/color-05-brown-11-darkgoldenrod.png similarity index 100% rename from ico/22x22/color/color-05-brown-11-darkgoldenrod.png rename to ico/colors/color-05-brown-11-darkgoldenrod.png diff --git a/ico/22x22/color/color-05-brown-12-peru.png b/ico/colors/color-05-brown-12-peru.png similarity index 100% rename from ico/22x22/color/color-05-brown-12-peru.png rename to ico/colors/color-05-brown-12-peru.png diff --git a/ico/22x22/color/color-05-brown-13-chocolate.png b/ico/colors/color-05-brown-13-chocolate.png similarity index 100% rename from ico/22x22/color/color-05-brown-13-chocolate.png rename to ico/colors/color-05-brown-13-chocolate.png diff --git a/ico/22x22/color/color-05-brown-14-saddlebrown.png b/ico/colors/color-05-brown-14-saddlebrown.png similarity index 100% rename from ico/22x22/color/color-05-brown-14-saddlebrown.png rename to ico/colors/color-05-brown-14-saddlebrown.png diff --git a/ico/22x22/color/color-05-brown-15-sienna.png b/ico/colors/color-05-brown-15-sienna.png similarity index 100% rename from ico/22x22/color/color-05-brown-15-sienna.png rename to ico/colors/color-05-brown-15-sienna.png diff --git a/ico/22x22/color/color-05-brown-16-brown.png b/ico/colors/color-05-brown-16-brown.png similarity index 100% rename from ico/22x22/color/color-05-brown-16-brown.png rename to ico/colors/color-05-brown-16-brown.png diff --git a/ico/22x22/color/color-05-brown-17-maroon.png b/ico/colors/color-05-brown-17-maroon.png similarity index 100% rename from ico/22x22/color/color-05-brown-17-maroon.png rename to ico/colors/color-05-brown-17-maroon.png diff --git a/ico/22x22/color/color-06-green-01-darkolivegreen.png b/ico/colors/color-06-green-01-darkolivegreen.png similarity index 100% rename from ico/22x22/color/color-06-green-01-darkolivegreen.png rename to ico/colors/color-06-green-01-darkolivegreen.png diff --git a/ico/22x22/color/color-06-green-02-olive.png b/ico/colors/color-06-green-02-olive.png similarity index 100% rename from ico/22x22/color/color-06-green-02-olive.png rename to ico/colors/color-06-green-02-olive.png diff --git a/ico/22x22/color/color-06-green-03-olivedrab.png b/ico/colors/color-06-green-03-olivedrab.png similarity index 100% rename from ico/22x22/color/color-06-green-03-olivedrab.png rename to ico/colors/color-06-green-03-olivedrab.png diff --git a/ico/22x22/color/color-06-green-04-yellowgreen.png b/ico/colors/color-06-green-04-yellowgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-04-yellowgreen.png rename to ico/colors/color-06-green-04-yellowgreen.png diff --git a/ico/22x22/color/color-06-green-05-limegreen.png b/ico/colors/color-06-green-05-limegreen.png similarity index 100% rename from ico/22x22/color/color-06-green-05-limegreen.png rename to ico/colors/color-06-green-05-limegreen.png diff --git a/ico/22x22/color/color-06-green-06-lime.png b/ico/colors/color-06-green-06-lime.png similarity index 100% rename from ico/22x22/color/color-06-green-06-lime.png rename to ico/colors/color-06-green-06-lime.png diff --git a/ico/22x22/color/color-06-green-07-lawngreen.png b/ico/colors/color-06-green-07-lawngreen.png similarity index 100% rename from ico/22x22/color/color-06-green-07-lawngreen.png rename to ico/colors/color-06-green-07-lawngreen.png diff --git a/ico/22x22/color/color-06-green-08-chartreuse.png b/ico/colors/color-06-green-08-chartreuse.png similarity index 100% rename from ico/22x22/color/color-06-green-08-chartreuse.png rename to ico/colors/color-06-green-08-chartreuse.png diff --git a/ico/22x22/color/color-06-green-09-greenyellow.png b/ico/colors/color-06-green-09-greenyellow.png similarity index 100% rename from ico/22x22/color/color-06-green-09-greenyellow.png rename to ico/colors/color-06-green-09-greenyellow.png diff --git a/ico/22x22/color/color-06-green-10-springgreen.png b/ico/colors/color-06-green-10-springgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-10-springgreen.png rename to ico/colors/color-06-green-10-springgreen.png diff --git a/ico/22x22/color/color-06-green-11-mediumspringgreen.png b/ico/colors/color-06-green-11-mediumspringgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-11-mediumspringgreen.png rename to ico/colors/color-06-green-11-mediumspringgreen.png diff --git a/ico/22x22/color/color-06-green-12-lightgreen.png b/ico/colors/color-06-green-12-lightgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-12-lightgreen.png rename to ico/colors/color-06-green-12-lightgreen.png diff --git a/ico/22x22/color/color-06-green-13-palegreen.png b/ico/colors/color-06-green-13-palegreen.png similarity index 100% rename from ico/22x22/color/color-06-green-13-palegreen.png rename to ico/colors/color-06-green-13-palegreen.png diff --git a/ico/22x22/color/color-06-green-14-darkseagreen.png b/ico/colors/color-06-green-14-darkseagreen.png similarity index 100% rename from ico/22x22/color/color-06-green-14-darkseagreen.png rename to ico/colors/color-06-green-14-darkseagreen.png diff --git a/ico/22x22/color/color-06-green-15-mediumaquamarine.png b/ico/colors/color-06-green-15-mediumaquamarine.png similarity index 100% rename from ico/22x22/color/color-06-green-15-mediumaquamarine.png rename to ico/colors/color-06-green-15-mediumaquamarine.png diff --git a/ico/22x22/color/color-06-green-16-mediumseagreen.png b/ico/colors/color-06-green-16-mediumseagreen.png similarity index 100% rename from ico/22x22/color/color-06-green-16-mediumseagreen.png rename to ico/colors/color-06-green-16-mediumseagreen.png diff --git a/ico/22x22/color/color-06-green-17-seagreen.png b/ico/colors/color-06-green-17-seagreen.png similarity index 100% rename from ico/22x22/color/color-06-green-17-seagreen.png rename to ico/colors/color-06-green-17-seagreen.png diff --git a/ico/22x22/color/color-06-green-18-forestgreen.png b/ico/colors/color-06-green-18-forestgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-18-forestgreen.png rename to ico/colors/color-06-green-18-forestgreen.png diff --git a/ico/22x22/color/color-06-green-19-green.png b/ico/colors/color-06-green-19-green.png similarity index 100% rename from ico/22x22/color/color-06-green-19-green.png rename to ico/colors/color-06-green-19-green.png diff --git a/ico/22x22/color/color-06-green-20-darkgreen.png b/ico/colors/color-06-green-20-darkgreen.png similarity index 100% rename from ico/22x22/color/color-06-green-20-darkgreen.png rename to ico/colors/color-06-green-20-darkgreen.png diff --git a/ico/22x22/color/color-07-cyan-01-aqua.png b/ico/colors/color-07-cyan-01-aqua.png similarity index 100% rename from ico/22x22/color/color-07-cyan-01-aqua.png rename to ico/colors/color-07-cyan-01-aqua.png diff --git a/ico/22x22/color/color-07-cyan-02-cyan.png b/ico/colors/color-07-cyan-02-cyan.png similarity index 100% rename from ico/22x22/color/color-07-cyan-02-cyan.png rename to ico/colors/color-07-cyan-02-cyan.png diff --git a/ico/22x22/color/color-07-cyan-03-lightcyan.png b/ico/colors/color-07-cyan-03-lightcyan.png similarity index 100% rename from ico/22x22/color/color-07-cyan-03-lightcyan.png rename to ico/colors/color-07-cyan-03-lightcyan.png diff --git a/ico/22x22/color/color-07-cyan-04-paleturquoise.png b/ico/colors/color-07-cyan-04-paleturquoise.png similarity index 100% rename from ico/22x22/color/color-07-cyan-04-paleturquoise.png rename to ico/colors/color-07-cyan-04-paleturquoise.png diff --git a/ico/22x22/color/color-07-cyan-05-aquamarine.png b/ico/colors/color-07-cyan-05-aquamarine.png similarity index 100% rename from ico/22x22/color/color-07-cyan-05-aquamarine.png rename to ico/colors/color-07-cyan-05-aquamarine.png diff --git a/ico/22x22/color/color-07-cyan-06-turquoise.png b/ico/colors/color-07-cyan-06-turquoise.png similarity index 100% rename from ico/22x22/color/color-07-cyan-06-turquoise.png rename to ico/colors/color-07-cyan-06-turquoise.png diff --git a/ico/22x22/color/color-07-cyan-07-mediumturquoise.png b/ico/colors/color-07-cyan-07-mediumturquoise.png similarity index 100% rename from ico/22x22/color/color-07-cyan-07-mediumturquoise.png rename to ico/colors/color-07-cyan-07-mediumturquoise.png diff --git a/ico/22x22/color/color-07-cyan-08-darkturquoise.png b/ico/colors/color-07-cyan-08-darkturquoise.png similarity index 100% rename from ico/22x22/color/color-07-cyan-08-darkturquoise.png rename to ico/colors/color-07-cyan-08-darkturquoise.png diff --git a/ico/22x22/color/color-07-cyan-09-lightseagreen.png b/ico/colors/color-07-cyan-09-lightseagreen.png similarity index 100% rename from ico/22x22/color/color-07-cyan-09-lightseagreen.png rename to ico/colors/color-07-cyan-09-lightseagreen.png diff --git a/ico/22x22/color/color-07-cyan-10-cadetblue.png b/ico/colors/color-07-cyan-10-cadetblue.png similarity index 100% rename from ico/22x22/color/color-07-cyan-10-cadetblue.png rename to ico/colors/color-07-cyan-10-cadetblue.png diff --git a/ico/22x22/color/color-07-cyan-11-darkcyan.png b/ico/colors/color-07-cyan-11-darkcyan.png similarity index 100% rename from ico/22x22/color/color-07-cyan-11-darkcyan.png rename to ico/colors/color-07-cyan-11-darkcyan.png diff --git a/ico/22x22/color/color-07-cyan-12-teal.png b/ico/colors/color-07-cyan-12-teal.png similarity index 100% rename from ico/22x22/color/color-07-cyan-12-teal.png rename to ico/colors/color-07-cyan-12-teal.png diff --git a/ico/22x22/color/color-08-blue-01-lightsteelblue.png b/ico/colors/color-08-blue-01-lightsteelblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-01-lightsteelblue.png rename to ico/colors/color-08-blue-01-lightsteelblue.png diff --git a/ico/22x22/color/color-08-blue-02-powderblue.png b/ico/colors/color-08-blue-02-powderblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-02-powderblue.png rename to ico/colors/color-08-blue-02-powderblue.png diff --git a/ico/22x22/color/color-08-blue-03-lightblue.png b/ico/colors/color-08-blue-03-lightblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-03-lightblue.png rename to ico/colors/color-08-blue-03-lightblue.png diff --git a/ico/22x22/color/color-08-blue-04-skyblue.png b/ico/colors/color-08-blue-04-skyblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-04-skyblue.png rename to ico/colors/color-08-blue-04-skyblue.png diff --git a/ico/22x22/color/color-08-blue-05-lightskyblue.png b/ico/colors/color-08-blue-05-lightskyblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-05-lightskyblue.png rename to ico/colors/color-08-blue-05-lightskyblue.png diff --git a/ico/22x22/color/color-08-blue-06-deepskyblue.png b/ico/colors/color-08-blue-06-deepskyblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-06-deepskyblue.png rename to ico/colors/color-08-blue-06-deepskyblue.png diff --git a/ico/22x22/color/color-08-blue-07-dodgerblue.png b/ico/colors/color-08-blue-07-dodgerblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-07-dodgerblue.png rename to ico/colors/color-08-blue-07-dodgerblue.png diff --git a/ico/22x22/color/color-08-blue-08-cornflowerblue.png b/ico/colors/color-08-blue-08-cornflowerblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-08-cornflowerblue.png rename to ico/colors/color-08-blue-08-cornflowerblue.png diff --git a/ico/22x22/color/color-08-blue-09-steelblue.png b/ico/colors/color-08-blue-09-steelblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-09-steelblue.png rename to ico/colors/color-08-blue-09-steelblue.png diff --git a/ico/22x22/color/color-08-blue-10-royalblue.png b/ico/colors/color-08-blue-10-royalblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-10-royalblue.png rename to ico/colors/color-08-blue-10-royalblue.png diff --git a/ico/22x22/color/color-08-blue-11-blue.png b/ico/colors/color-08-blue-11-blue.png similarity index 100% rename from ico/22x22/color/color-08-blue-11-blue.png rename to ico/colors/color-08-blue-11-blue.png diff --git a/ico/22x22/color/color-08-blue-12-mediumblue.png b/ico/colors/color-08-blue-12-mediumblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-12-mediumblue.png rename to ico/colors/color-08-blue-12-mediumblue.png diff --git a/ico/22x22/color/color-08-blue-13-darkblue.png b/ico/colors/color-08-blue-13-darkblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-13-darkblue.png rename to ico/colors/color-08-blue-13-darkblue.png diff --git a/ico/22x22/color/color-08-blue-14-navy.png b/ico/colors/color-08-blue-14-navy.png similarity index 100% rename from ico/22x22/color/color-08-blue-14-navy.png rename to ico/colors/color-08-blue-14-navy.png diff --git a/ico/22x22/color/color-08-blue-15-midnightblue.png b/ico/colors/color-08-blue-15-midnightblue.png similarity index 100% rename from ico/22x22/color/color-08-blue-15-midnightblue.png rename to ico/colors/color-08-blue-15-midnightblue.png diff --git a/ico/22x22/color/color-09-purple-01-lavender.png b/ico/colors/color-09-purple-01-lavender.png similarity index 100% rename from ico/22x22/color/color-09-purple-01-lavender.png rename to ico/colors/color-09-purple-01-lavender.png diff --git a/ico/22x22/color/color-09-purple-02-thistle.png b/ico/colors/color-09-purple-02-thistle.png similarity index 100% rename from ico/22x22/color/color-09-purple-02-thistle.png rename to ico/colors/color-09-purple-02-thistle.png diff --git a/ico/22x22/color/color-09-purple-03-plum.png b/ico/colors/color-09-purple-03-plum.png similarity index 100% rename from ico/22x22/color/color-09-purple-03-plum.png rename to ico/colors/color-09-purple-03-plum.png diff --git a/ico/22x22/color/color-09-purple-04-violet.png b/ico/colors/color-09-purple-04-violet.png similarity index 100% rename from ico/22x22/color/color-09-purple-04-violet.png rename to ico/colors/color-09-purple-04-violet.png diff --git a/ico/22x22/color/color-09-purple-05-orchid.png b/ico/colors/color-09-purple-05-orchid.png similarity index 100% rename from ico/22x22/color/color-09-purple-05-orchid.png rename to ico/colors/color-09-purple-05-orchid.png diff --git a/ico/22x22/color/color-09-purple-06-fuchsia.png b/ico/colors/color-09-purple-06-fuchsia.png similarity index 100% rename from ico/22x22/color/color-09-purple-06-fuchsia.png rename to ico/colors/color-09-purple-06-fuchsia.png diff --git a/ico/22x22/color/color-09-purple-07-magenta.png b/ico/colors/color-09-purple-07-magenta.png similarity index 100% rename from ico/22x22/color/color-09-purple-07-magenta.png rename to ico/colors/color-09-purple-07-magenta.png diff --git a/ico/22x22/color/color-09-purple-08-mediumorchid.png b/ico/colors/color-09-purple-08-mediumorchid.png similarity index 100% rename from ico/22x22/color/color-09-purple-08-mediumorchid.png rename to ico/colors/color-09-purple-08-mediumorchid.png diff --git a/ico/22x22/color/color-09-purple-09-mediumpurple.png b/ico/colors/color-09-purple-09-mediumpurple.png similarity index 100% rename from ico/22x22/color/color-09-purple-09-mediumpurple.png rename to ico/colors/color-09-purple-09-mediumpurple.png diff --git a/ico/22x22/color/color-09-purple-10-blueviolet.png b/ico/colors/color-09-purple-10-blueviolet.png similarity index 100% rename from ico/22x22/color/color-09-purple-10-blueviolet.png rename to ico/colors/color-09-purple-10-blueviolet.png diff --git a/ico/22x22/color/color-09-purple-11-darkviolet.png b/ico/colors/color-09-purple-11-darkviolet.png similarity index 100% rename from ico/22x22/color/color-09-purple-11-darkviolet.png rename to ico/colors/color-09-purple-11-darkviolet.png diff --git a/ico/22x22/color/color-09-purple-12-darkorchid.png b/ico/colors/color-09-purple-12-darkorchid.png similarity index 100% rename from ico/22x22/color/color-09-purple-12-darkorchid.png rename to ico/colors/color-09-purple-12-darkorchid.png diff --git a/ico/22x22/color/color-09-purple-13-darkmagenta.png b/ico/colors/color-09-purple-13-darkmagenta.png similarity index 100% rename from ico/22x22/color/color-09-purple-13-darkmagenta.png rename to ico/colors/color-09-purple-13-darkmagenta.png diff --git a/ico/22x22/color/color-09-purple-14-purple.png b/ico/colors/color-09-purple-14-purple.png similarity index 100% rename from ico/22x22/color/color-09-purple-14-purple.png rename to ico/colors/color-09-purple-14-purple.png diff --git a/ico/22x22/color/color-09-purple-15-indigo.png b/ico/colors/color-09-purple-15-indigo.png similarity index 100% rename from ico/22x22/color/color-09-purple-15-indigo.png rename to ico/colors/color-09-purple-15-indigo.png diff --git a/ico/22x22/color/color-09-purple-16-darkslateblue.png b/ico/colors/color-09-purple-16-darkslateblue.png similarity index 100% rename from ico/22x22/color/color-09-purple-16-darkslateblue.png rename to ico/colors/color-09-purple-16-darkslateblue.png diff --git a/ico/22x22/color/color-09-purple-17-slateblue.png b/ico/colors/color-09-purple-17-slateblue.png similarity index 100% rename from ico/22x22/color/color-09-purple-17-slateblue.png rename to ico/colors/color-09-purple-17-slateblue.png diff --git a/ico/22x22/color/color-09-purple-18-mediumslateblue.png b/ico/colors/color-09-purple-18-mediumslateblue.png similarity index 100% rename from ico/22x22/color/color-09-purple-18-mediumslateblue.png rename to ico/colors/color-09-purple-18-mediumslateblue.png diff --git a/ico/22x22/color/color-10-white-01-white.png b/ico/colors/color-10-white-01-white.png similarity index 100% rename from ico/22x22/color/color-10-white-01-white.png rename to ico/colors/color-10-white-01-white.png diff --git a/ico/22x22/color/color-10-white-02-snow.png b/ico/colors/color-10-white-02-snow.png similarity index 100% rename from ico/22x22/color/color-10-white-02-snow.png rename to ico/colors/color-10-white-02-snow.png diff --git a/ico/22x22/color/color-10-white-03-honeydew.png b/ico/colors/color-10-white-03-honeydew.png similarity index 100% rename from ico/22x22/color/color-10-white-03-honeydew.png rename to ico/colors/color-10-white-03-honeydew.png diff --git a/ico/22x22/color/color-10-white-04-mintcream.png b/ico/colors/color-10-white-04-mintcream.png similarity index 100% rename from ico/22x22/color/color-10-white-04-mintcream.png rename to ico/colors/color-10-white-04-mintcream.png diff --git a/ico/22x22/color/color-10-white-05-azure.png b/ico/colors/color-10-white-05-azure.png similarity index 100% rename from ico/22x22/color/color-10-white-05-azure.png rename to ico/colors/color-10-white-05-azure.png diff --git a/ico/22x22/color/color-10-white-06-aliceblue.png b/ico/colors/color-10-white-06-aliceblue.png similarity index 100% rename from ico/22x22/color/color-10-white-06-aliceblue.png rename to ico/colors/color-10-white-06-aliceblue.png diff --git a/ico/22x22/color/color-10-white-07-ghostwhite.png b/ico/colors/color-10-white-07-ghostwhite.png similarity index 100% rename from ico/22x22/color/color-10-white-07-ghostwhite.png rename to ico/colors/color-10-white-07-ghostwhite.png diff --git a/ico/22x22/color/color-10-white-08-whitesmoke.png b/ico/colors/color-10-white-08-whitesmoke.png similarity index 100% rename from ico/22x22/color/color-10-white-08-whitesmoke.png rename to ico/colors/color-10-white-08-whitesmoke.png diff --git a/ico/22x22/color/color-10-white-09-seashell.png b/ico/colors/color-10-white-09-seashell.png similarity index 100% rename from ico/22x22/color/color-10-white-09-seashell.png rename to ico/colors/color-10-white-09-seashell.png diff --git a/ico/22x22/color/color-10-white-10-beige.png b/ico/colors/color-10-white-10-beige.png similarity index 100% rename from ico/22x22/color/color-10-white-10-beige.png rename to ico/colors/color-10-white-10-beige.png diff --git a/ico/22x22/color/color-10-white-11-oldlace.png b/ico/colors/color-10-white-11-oldlace.png similarity index 100% rename from ico/22x22/color/color-10-white-11-oldlace.png rename to ico/colors/color-10-white-11-oldlace.png diff --git a/ico/22x22/color/color-10-white-12-floralwhite.png b/ico/colors/color-10-white-12-floralwhite.png similarity index 100% rename from ico/22x22/color/color-10-white-12-floralwhite.png rename to ico/colors/color-10-white-12-floralwhite.png diff --git a/ico/22x22/color/color-10-white-13-ivory.png b/ico/colors/color-10-white-13-ivory.png similarity index 100% rename from ico/22x22/color/color-10-white-13-ivory.png rename to ico/colors/color-10-white-13-ivory.png diff --git a/ico/22x22/color/color-10-white-14-antiquewhite.png b/ico/colors/color-10-white-14-antiquewhite.png similarity index 100% rename from ico/22x22/color/color-10-white-14-antiquewhite.png rename to ico/colors/color-10-white-14-antiquewhite.png diff --git a/ico/22x22/color/color-10-white-15-linen.png b/ico/colors/color-10-white-15-linen.png similarity index 100% rename from ico/22x22/color/color-10-white-15-linen.png rename to ico/colors/color-10-white-15-linen.png diff --git a/ico/22x22/color/color-10-white-16-lavenderblush.png b/ico/colors/color-10-white-16-lavenderblush.png similarity index 100% rename from ico/22x22/color/color-10-white-16-lavenderblush.png rename to ico/colors/color-10-white-16-lavenderblush.png diff --git a/ico/22x22/color/color-10-white-17-mistyrose.png b/ico/colors/color-10-white-17-mistyrose.png similarity index 100% rename from ico/22x22/color/color-10-white-17-mistyrose.png rename to ico/colors/color-10-white-17-mistyrose.png diff --git a/ico/22x22/color/color-11-gray-01-gainsboro.png b/ico/colors/color-11-gray-01-gainsboro.png similarity index 100% rename from ico/22x22/color/color-11-gray-01-gainsboro.png rename to ico/colors/color-11-gray-01-gainsboro.png diff --git a/ico/22x22/color/color-11-gray-02-lightgray.png b/ico/colors/color-11-gray-02-lightgray.png similarity index 100% rename from ico/22x22/color/color-11-gray-02-lightgray.png rename to ico/colors/color-11-gray-02-lightgray.png diff --git a/ico/22x22/color/color-11-gray-03-silver.png b/ico/colors/color-11-gray-03-silver.png similarity index 100% rename from ico/22x22/color/color-11-gray-03-silver.png rename to ico/colors/color-11-gray-03-silver.png diff --git a/ico/22x22/color/color-11-gray-04-darkgray.png b/ico/colors/color-11-gray-04-darkgray.png similarity index 100% rename from ico/22x22/color/color-11-gray-04-darkgray.png rename to ico/colors/color-11-gray-04-darkgray.png diff --git a/ico/22x22/color/color-11-gray-05-gray.png b/ico/colors/color-11-gray-05-gray.png similarity index 100% rename from ico/22x22/color/color-11-gray-05-gray.png rename to ico/colors/color-11-gray-05-gray.png diff --git a/ico/22x22/color/color-11-gray-06-dimgray.png b/ico/colors/color-11-gray-06-dimgray.png similarity index 100% rename from ico/22x22/color/color-11-gray-06-dimgray.png rename to ico/colors/color-11-gray-06-dimgray.png diff --git a/ico/22x22/color/color-11-gray-07-lightslategray.png b/ico/colors/color-11-gray-07-lightslategray.png similarity index 100% rename from ico/22x22/color/color-11-gray-07-lightslategray.png rename to ico/colors/color-11-gray-07-lightslategray.png diff --git a/ico/22x22/color/color-11-gray-08-slategray.png b/ico/colors/color-11-gray-08-slategray.png similarity index 100% rename from ico/22x22/color/color-11-gray-08-slategray.png rename to ico/colors/color-11-gray-08-slategray.png diff --git a/ico/22x22/color/color-11-gray-09-darkslategray.png b/ico/colors/color-11-gray-09-darkslategray.png similarity index 100% rename from ico/22x22/color/color-11-gray-09-darkslategray.png rename to ico/colors/color-11-gray-09-darkslategray.png diff --git a/ico/22x22/color/color-11-gray-10-black.png b/ico/colors/color-11-gray-10-black.png similarity index 100% rename from ico/22x22/color/color-11-gray-10-black.png rename to ico/colors/color-11-gray-10-black.png diff --git a/ico/22x22/color/color-brown.png b/ico/colors/color-brown.png similarity index 100% rename from ico/22x22/color/color-brown.png rename to ico/colors/color-brown.png diff --git a/ico/22x22/color/color-gray.png b/ico/colors/color-gray.png similarity index 100% rename from ico/22x22/color/color-gray.png rename to ico/colors/color-gray.png diff --git a/ico/22x22/color/color-orange.png b/ico/colors/color-orange.png similarity index 100% rename from ico/22x22/color/color-orange.png rename to ico/colors/color-orange.png diff --git a/ico/22x22/color/color-purple.png b/ico/colors/color-purple.png similarity index 100% rename from ico/22x22/color/color-purple.png rename to ico/colors/color-purple.png diff --git a/ico/copyright b/ico/copyright index a0c7c532a..334a2f14f 100644 --- a/ico/copyright +++ b/ico/copyright @@ -69,6 +69,8 @@ License: CC-BY-3.0 The usage, the modification and the integration of the elements into electric diagrams is allowed without any condition, whatever the final license of the diagrams is. + Permission is not granted to use this software or any of the associated files + as sample data for the purposes of building machine learning models. If you redistribute all or a part of the QElectroTech collection, with or without any modification, out of an electric diagram, you must respect the conditions of the CC-BY license: @@ -77,7 +79,7 @@ License: CC-BY-3.0 http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. -Files: ico/24x16/* +Files: ico/flags/* Copyright: Damien Sorel License: public-domain 24x16 Flag icons - http://www.strangeplanet.fr @@ -87,137 +89,143 @@ License: public-domain If you find these icons useful, share-them! Contact: webmaster@strangeplanet.fr -Files: ico/16x16/* -Files: ico/22x22/* -Files: ico/32x32/* -Files: ico/48x48/* -Files: ico/128x128/* -From the KDE Breeze theme icons +Files: ico/breeze/* Copyright: 2014, Uri Herrera and others +License: LGPL-3+ +Comment: From the KDE Breeze icon theme, https://invent.kde.org/frameworks/breeze-icons - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. +Files: ico/breeze/added/* +Copyright: 2026, The QElectroTech Team +License: LGPL-3+ +Comment: 16 pixel versions of the KDE Breeze icons of the same names, under + the Breeze license. - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. +Files: ico/qet/* ico/colors/* +Copyright: 2006-2026, The QElectroTech Team +License: GPL-2+ +Comment: + ico/qet/traced/*/east.svg by the QElectroTech team, traced from east.png by Nuri, with permission + changes: icon color, icon rotation + ico/qet/traced/*/element.svg by the QElectroTech team, traced from element.png by Nuri, with permission + ico/qet/traced/*/element-delete.svg by the QElectroTech team, traced from element-delete.png by Nuri, with permission + ico/qet/traced/*/element-edit.svg by the QElectroTech team, traced from element-edit.png by Nuri, with permission + ico/qet/traced/*/element-new.svg by the QElectroTech team, traced from element-new.png by Nuri, with permission + ico/qet/traced/*/endline-circle.svg by the QElectroTech team, traced from endline-circle.png by Nuri, with permission + ico/qet/traced/*/endline-diamond.svg by the QElectroTech team, traced from endline-diamond.png by Nuri, with permission + ico/qet/traced/*/endline-none.svg by the QElectroTech team, traced from endline-none.png by Nuri, with permission + ico/qet/traced/*/endline-simple.svg by the QElectroTech team, traced from endline-simple.png by Nuri, with permission + ico/qet/traced/*/endline-triangle.svg by the QElectroTech team, traced from endline-triangle.png by Nuri, with permission + ico/qet/traced/*/export-csv.svg by the QElectroTech team, traced from export-csv.png by Nuri, with permission + ico/qet/traced/*/folder-delete.svg by the QElectroTech team, traced from folder-delete.png by Nuri, with permission + ico/qet/traced/*/folder-edit.svg by the QElectroTech team, traced from folder-edit.png by Nuri, with permission + ico/qet/traced/*/folder-only-this.svg by the QElectroTech team, traced from folder-only-this.png by Nuri, with permission + ico/qet/traced/*/folder-show-all.svg by the QElectroTech team, traced from folder-show-all.png by Nuri, with permission + ico/qet/traced/*/ground.svg by the QElectroTech team, traced from ground.png by Nuri, with permission + ico/qet/traced/*/neutral.svg by the QElectroTech team, traced from neutral.png by Nuri, with permission + ico/qet/traced/*/north.svg by the QElectroTech team, traced from north.png by Nuri, with permission + ico/qet/traced/*/phase.svg by the QElectroTech team, traced from phase.png by Nuri, with permission + ico/qet/traced/*/project.svg by the QElectroTech team, traced from project.png by Nuri, with permission + ico/qet/traced/*/project-close.svg by the QElectroTech team, traced from project-close.png by Nuri, with permission + ico/qet/traced/*/project-new.svg by the QElectroTech team, traced from project-new.png by Nuri, with permission + ico/qet/traced/*/project-properties.svg by the QElectroTech team, traced from project-properties.png by Nuri, with permission + ico/qet/traced/*/qet.svg by the QElectroTech team, traced from qet.png by Nuri, with permission + ico/qet/traced/*/south.svg by the QElectroTech team, traced from south.png by Nuri, with permission + ico/qet/traced/*/terminalstrip.svg by the QElectroTech team, traced from terminalstrip.png by Nuri, with permission + ico/qet/traced/*/west.svg by the QElectroTech team, traced from west.png by Nuri, with permission + ico/qet/traced/*/arc.svg by the QElectroTech team, traced from arc.png by Nuri, with permission + ico/qet/traced/*/autoconnect.svg by the QElectroTech team, traced from autoconnect.png by Nuri, with permission + ico/qet/traced/*/diagram_bg.svg by the QElectroTech team, traced from diagram_bg.png by Nuri, with permission + changes: icon color, icon rotation + ico/qet/traced/*/hotspot.svg by the QElectroTech team, traced from hotspot.png by Nuri, with permission + ico/qet/traced/*/landscape.svg by the QElectroTech team, traced from landscape.png by Nuri, with permission + ico/qet/traced/*/portrait.svg by the QElectroTech team, traced from portrait.png by Nuri, with permission + ico/qet/traced/*/terminal.svg by the QElectroTech team, traced from terminal.png by Nuri, with permission + ico/qet/traced/*/titleblock-bottom.svg by the QElectroTech team, traced from titleblock-bottom.png by Nuri, with permission + ico/qet/traced/*/titleblock-right.svg by the QElectroTech team, traced from titleblock-right.png by Nuri, with permission + ico/qet/traced/*/simplifyrichtext.svg by the QElectroTech team, traced from simplifyrichtext.png by Nuri, with permission + ico/qet/pages/configure-shortcuts.svg by Jeff Patterson from the QElectroTech team + ico/qet/scalable/pdf-import.svg by Jeff Patterson from the QElectroTech team, laid out like the former insert-image.png + ico/qet/scalable/diagram.svg, folio-new.svg, folio-delete.svg, folio-properties.svg, label.svg by Jeff Patterson from the QElectroTech team, the folio icons redrawn in the same style + ico/qet/traced/*/circle.svg, ellipse.svg, view-fit-window.svg by ispyisail from the QElectroTech team, 16 pixel versions by the QElectroTech team + ico/qet/traced/*/ellipse-to-bezier.svg, rect-to-bezier.svg, rect-to-polyline.svg by the QElectroTech team, redrawn from Andre Rummler's drawings, with permission + ico/qet/traced/* other than the above by the QElectroTech team, traced from QElectroTech's PNG icons of the same names + ico/qet/scalable/16/* by the QElectroTech team, 16 pixel versions of the ico/qet/scalable/ icons of the same names + ico/colors/* by Arnaud, contributed in 2020 - You should have received a copy of the GNU Lesser General Public - License along with this library. If not, see . +Files: ico/qet/traced/*/qt.svg +Copyright: The Qt Company Ltd. +License: Qt-trademark +Comment: The Qt logo, traced by the QElectroTech team from + http://brand.qt.io/downloads/ -Clarification: +Files: ico/256x256/* ico/breeze-icons/* ico/mac_icon/* ico/windows_icon/* + ico/splash.png +Copyright: Nuri +License: CC-BY-ND-3.0 +Comment: Drawn for QElectroTech in the style of KDE Breeze. - The GNU Lesser General Public License or LGPL is written for - software libraries in the first place. We expressly want the LGPL to - be valid for this artwork library too. +Files: ico/windows_icon/*.sh ico/windows_icon/*.rc +Copyright: 2006-2026, The QElectroTech Team +License: GPL-2+ - KDE Breeze theme icons is a special kind of software library, it is an - artwork library, it's elements can be used in a Graphical User Interface, or - GUI. +Files: ico/themes/* +Copyright: 2014, Uri Herrera and others + 2006-2026, The QElectroTech Team +License: LGPL-3+ and GPL-2+ +Comment: Built by misc/make_icon_themes.py from ico/breeze/ and ico/qet/. + Each file has the license of the file it is built from. - Source code, for this library means: - - where they exist, SVG; - - otherwise, if applicable, the multi-layered formats xcf or psd, or - otherwise png. +License: LGPL-3+ + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + . + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with this library. If not, see . + . + Clarification: + . + The GNU Lesser General Public License or LGPL is written for + software libraries in the first place. We expressly want the LGPL to + be valid for this artwork library too. + . + KDE Breeze theme icons is a special kind of software library, it is an + artwork library, it's elements can be used in a Graphical User Interface, or + GUI. + . + Source code, for this library means: + - where they exist, SVG; + - otherwise, if applicable, the multi-layered formats xcf or psd, or + otherwise png. + . + The LGPL in some sections obliges you to make the files carry + notices. With images this is in some cases impossible or hardly useful. + . + With this library a notice is placed at a prominent place in the directory + containing the elements. You may follow this practice. + . + The exception in section 5 of the GNU Lesser General Public License covers + the use of elements of this art library in a GUI. + . + https://vdesign.kde.org/ - The LGPL in some sections obliges you to make the files carry - notices. With images this is in some cases impossible or hardly useful. +License: CC-BY-ND-3.0 + This work is licensed under the Creative Commons Attribution-NoDerivs 3.0 + Unported License. To view a copy of this license, visit + http://creativecommons.org/licenses/by-nd/3.0/ - With this library a notice is placed at a prominent place in the directory - containing the elements. You may follow this practice. - - The exception in section 5 of the GNU Lesser General Public License covers - the use of elements of this art library in a GUI. - - https://vdesign.kde.org/ - - Some icons have been created exclusively for QElectroTech. They are based or inspired by the KDE Breeze icon theme. - These icons are: - ico/16x16/diagram.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/document-open.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/east.svg by the QElectroTech team, traced from east.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/edit-clear.png from https://www.brandeps.com (License CC BY-ND 3.0) - changes: icon color, icon rotation - ico/16x16/element.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/element-delete.svg by the QElectroTech team, traced from element-delete.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/element-edit.svg by the QElectroTech team, traced from element-edit.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/element-new.svg by the QElectroTech team, traced from element-new.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/endline-circle.svg by the QElectroTech team, traced from endline-circle.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/endline-diamond.svg by the QElectroTech team, traced from endline-diamond.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/endline-none.svg by the QElectroTech team, traced from endline-none.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/endline-simple.svg by the QElectroTech team, traced from endline-simple.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/endline-triangle.svg by the QElectroTech team, traced from endline-triangle.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/export-csv.svg by the QElectroTech team, traced from export-csv.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/folio-delete.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/folio-new.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/folio-properties.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/folder-delete.svg by the QElectroTech team, traced from folder-delete.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/folder-edit.svg by the QElectroTech team, traced from folder-edit.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/folder-only-this.svg by the QElectroTech team, traced from folder-only-this.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/folder-properties.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/folder-show-all.svg by the QElectroTech team, traced from folder-show-all.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/go-down-double.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/go-up-double.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/ground.svg by the QElectroTech team, traced from ground.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/label.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/list-remove.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/neutral.svg by the QElectroTech team, traced from neutral.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/north.svg by the QElectroTech team, traced from north.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/phase.svg by the QElectroTech team, traced from phase.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/project.svg by the QElectroTech team, traced from project.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/project-close.svg by the QElectroTech team, traced from project-close.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/project-delete.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/project-new.svg by the QElectroTech team, traced from project-new.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/project-properties.svg by the QElectroTech team, traced from project-properties.png by Nuri, with permission (License GPL-2.0-or-later) - ico/16x16/qet.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/16x16/qt.png from http://brand.qt.io/downloads/ - ico/traced/*/south.svg by the QElectroTech team, traced from south.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/terminalstrip.svg by the QElectroTech team, traced from terminalstrip.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/west.svg by the QElectroTech team, traced from west.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/arc.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/autoconnect.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/diagram.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/diagram_add.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/diagram_bg.svg by the QElectroTech team, traced from diagram_bg.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/diagram_del.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/dialog-information.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/document-open.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/edit-clear.png from https://www.brandeps.com (License CC BY-ND 3.0) - changes: icon color, icon rotation - ico/22x22/folder-new.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/hotspot.svg by the QElectroTech team, traced from hotspot.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/label.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/landscape.svg by the QElectroTech team, traced from landscape.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/line.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/list-remove.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/portrait.svg by the QElectroTech team, traced from portrait.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/project-delete.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/22x22/single_page.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/traced/*/terminal.svg by the QElectroTech team, traced from terminal.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/titleblock-bottom.svg by the QElectroTech team, traced from titleblock-bottom.png by Nuri, with permission (License GPL-2.0-or-later) - ico/traced/*/titleblock-right.svg by the QElectroTech team, traced from titleblock-right.png by Nuri, with permission (License GPL-2.0-or-later) - ico/22x22/two_pages.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/32x32/qt.png from http://brand.qt.io/downloads/ - ico/traced/*/simplifyrichtext.svg by the QElectroTech team, traced from simplifyrichtext.png by Nuri, with permission (License GPL-2.0-or-later) - ico/48x48/document-print-frame.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/128x128/diagram.png by the QElectroTech team (License CC BY-ND 3.0) - ico/128x128/document-export.png by the QElectroTech team (License CC BY-ND 3.0) - ico/128x128/configure-shortcuts.png by Jeff Patterson from the QElectroTech team (License CC BY-ND 3.0), rendered from the .svg files beside them - ico/scalable/pdf-import.svg by Jeff Patterson from the QElectroTech team (License CC BY-ND 3.0), laid out like ico/22x22/insert-image.png - ico/scalable/diagram.svg, folio-new.svg, folio-delete.svg, folio-properties.svg, label.svg by Jeff Patterson from the QElectroTech team (License CC BY-ND 3.0), the folio icons redrawn in the same style - ico/traced/* other than the above by the QElectroTech team (License GPL-2.0-or-later), traced from QElectroTech's PNG icons of the same names - ico/scalable/16/* by the QElectroTech team (License GPL-2.0-or-later), 16 pixel versions of the ico/scalable/ icons of the same names - ico/breeze-added/16/* by the QElectroTech team, 16 pixel versions of the KDE Breeze icons of the same names (License LGPL, as Breeze) - ico/256x256/* by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/breeze-icons/* by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/diagram.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/mac_icon/* by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/splash.png by Nuri from the QElectroTech team (License CC BY-ND 3.0) - ico/windows_icon/* by Nuri from the QElectroTech team (License CC BY-ND 3.0) +License: Qt-trademark + The Qt logo is a trademark of The Qt Company Ltd., used under its brand + guidelines: http://brand.qt.io/ +License: unknown + The author has not stated a license. Files: debian/* Copyright: 2011-2017, Laurent Trinques diff --git a/ico/diagram.png b/ico/diagram.png deleted file mode 100644 index 1a59e02b8..000000000 Binary files a/ico/diagram.png and /dev/null differ diff --git a/ico/24x16/ad.png b/ico/flags/ad.png similarity index 100% rename from ico/24x16/ad.png rename to ico/flags/ad.png diff --git a/ico/24x16/ae.png b/ico/flags/ae.png similarity index 100% rename from ico/24x16/ae.png rename to ico/flags/ae.png diff --git a/ico/24x16/af.png b/ico/flags/af.png similarity index 100% rename from ico/24x16/af.png rename to ico/flags/af.png diff --git a/ico/24x16/ag.png b/ico/flags/ag.png similarity index 100% rename from ico/24x16/ag.png rename to ico/flags/ag.png diff --git a/ico/24x16/ai.png b/ico/flags/ai.png similarity index 100% rename from ico/24x16/ai.png rename to ico/flags/ai.png diff --git a/ico/24x16/al.png b/ico/flags/al.png similarity index 100% rename from ico/24x16/al.png rename to ico/flags/al.png diff --git a/ico/24x16/alderney.png b/ico/flags/alderney.png similarity index 100% rename from ico/24x16/alderney.png rename to ico/flags/alderney.png diff --git a/ico/24x16/am.png b/ico/flags/am.png similarity index 100% rename from ico/24x16/am.png rename to ico/flags/am.png diff --git a/ico/24x16/an.png b/ico/flags/an.png similarity index 100% rename from ico/24x16/an.png rename to ico/flags/an.png diff --git a/ico/24x16/ao.png b/ico/flags/ao.png similarity index 100% rename from ico/24x16/ao.png rename to ico/flags/ao.png diff --git a/ico/24x16/aq.png b/ico/flags/aq.png similarity index 100% rename from ico/24x16/aq.png rename to ico/flags/aq.png diff --git a/ico/24x16/ar.png b/ico/flags/ar.png similarity index 100% rename from ico/24x16/ar.png rename to ico/flags/ar.png diff --git a/ico/24x16/as.png b/ico/flags/as.png similarity index 100% rename from ico/24x16/as.png rename to ico/flags/as.png diff --git a/ico/24x16/at.png b/ico/flags/at.png similarity index 100% rename from ico/24x16/at.png rename to ico/flags/at.png diff --git a/ico/24x16/au.png b/ico/flags/au.png similarity index 100% rename from ico/24x16/au.png rename to ico/flags/au.png diff --git a/ico/24x16/aw.png b/ico/flags/aw.png similarity index 100% rename from ico/24x16/aw.png rename to ico/flags/aw.png diff --git a/ico/24x16/ax.png b/ico/flags/ax.png similarity index 100% rename from ico/24x16/ax.png rename to ico/flags/ax.png diff --git a/ico/24x16/az.png b/ico/flags/az.png similarity index 100% rename from ico/24x16/az.png rename to ico/flags/az.png diff --git a/ico/24x16/azores.png b/ico/flags/azores.png similarity index 100% rename from ico/24x16/azores.png rename to ico/flags/azores.png diff --git a/ico/24x16/ba.png b/ico/flags/ba.png similarity index 100% rename from ico/24x16/ba.png rename to ico/flags/ba.png diff --git a/ico/24x16/bb.png b/ico/flags/bb.png similarity index 100% rename from ico/24x16/bb.png rename to ico/flags/bb.png diff --git a/ico/24x16/bd.png b/ico/flags/bd.png similarity index 100% rename from ico/24x16/bd.png rename to ico/flags/bd.png diff --git a/ico/24x16/bf.png b/ico/flags/bf.png similarity index 100% rename from ico/24x16/bf.png rename to ico/flags/bf.png diff --git a/ico/24x16/bg.png b/ico/flags/bg.png similarity index 100% rename from ico/24x16/bg.png rename to ico/flags/bg.png diff --git a/ico/24x16/bh.png b/ico/flags/bh.png similarity index 100% rename from ico/24x16/bh.png rename to ico/flags/bh.png diff --git a/ico/24x16/bi.png b/ico/flags/bi.png similarity index 100% rename from ico/24x16/bi.png rename to ico/flags/bi.png diff --git a/ico/24x16/bj.png b/ico/flags/bj.png similarity index 100% rename from ico/24x16/bj.png rename to ico/flags/bj.png diff --git a/ico/24x16/bl.png b/ico/flags/bl.png similarity index 100% rename from ico/24x16/bl.png rename to ico/flags/bl.png diff --git a/ico/24x16/bm.png b/ico/flags/bm.png similarity index 100% rename from ico/24x16/bm.png rename to ico/flags/bm.png diff --git a/ico/24x16/bn.png b/ico/flags/bn.png similarity index 100% rename from ico/24x16/bn.png rename to ico/flags/bn.png diff --git a/ico/24x16/bo.png b/ico/flags/bo.png similarity index 100% rename from ico/24x16/bo.png rename to ico/flags/bo.png diff --git a/ico/24x16/bonaire.png b/ico/flags/bonaire.png similarity index 100% rename from ico/24x16/bonaire.png rename to ico/flags/bonaire.png diff --git a/ico/24x16/br.png b/ico/flags/br.png similarity index 100% rename from ico/24x16/br.png rename to ico/flags/br.png diff --git a/ico/24x16/british_antarctic_territory.png b/ico/flags/british_antarctic_territory.png similarity index 100% rename from ico/24x16/british_antarctic_territory.png rename to ico/flags/british_antarctic_territory.png diff --git a/ico/24x16/bs.png b/ico/flags/bs.png similarity index 100% rename from ico/24x16/bs.png rename to ico/flags/bs.png diff --git a/ico/24x16/bt.png b/ico/flags/bt.png similarity index 100% rename from ico/24x16/bt.png rename to ico/flags/bt.png diff --git a/ico/24x16/bv.png b/ico/flags/bv.png similarity index 100% rename from ico/24x16/bv.png rename to ico/flags/bv.png diff --git a/ico/24x16/bw.png b/ico/flags/bw.png similarity index 100% rename from ico/24x16/bw.png rename to ico/flags/bw.png diff --git a/ico/24x16/by.png b/ico/flags/by.png similarity index 100% rename from ico/24x16/by.png rename to ico/flags/by.png diff --git a/ico/24x16/bz.png b/ico/flags/bz.png similarity index 100% rename from ico/24x16/bz.png rename to ico/flags/bz.png diff --git a/ico/24x16/ca.png b/ico/flags/ca.png similarity index 100% rename from ico/24x16/ca.png rename to ico/flags/ca.png diff --git a/ico/24x16/catalonia.png b/ico/flags/catalonia.png similarity index 100% rename from ico/24x16/catalonia.png rename to ico/flags/catalonia.png diff --git a/ico/24x16/cc.png b/ico/flags/cc.png similarity index 100% rename from ico/24x16/cc.png rename to ico/flags/cc.png diff --git a/ico/24x16/cd.png b/ico/flags/cd.png similarity index 100% rename from ico/24x16/cd.png rename to ico/flags/cd.png diff --git a/ico/24x16/cf.png b/ico/flags/cf.png similarity index 100% rename from ico/24x16/cf.png rename to ico/flags/cf.png diff --git a/ico/24x16/cg.png b/ico/flags/cg.png similarity index 100% rename from ico/24x16/cg.png rename to ico/flags/cg.png diff --git a/ico/24x16/ch.png b/ico/flags/ch.png similarity index 100% rename from ico/24x16/ch.png rename to ico/flags/ch.png diff --git a/ico/24x16/ci.png b/ico/flags/ci.png similarity index 100% rename from ico/24x16/ci.png rename to ico/flags/ci.png diff --git a/ico/24x16/ck.png b/ico/flags/ck.png similarity index 100% rename from ico/24x16/ck.png rename to ico/flags/ck.png diff --git a/ico/24x16/cl.png b/ico/flags/cl.png similarity index 100% rename from ico/24x16/cl.png rename to ico/flags/cl.png diff --git a/ico/24x16/cm.png b/ico/flags/cm.png similarity index 100% rename from ico/24x16/cm.png rename to ico/flags/cm.png diff --git a/ico/24x16/cn.png b/ico/flags/cn.png similarity index 100% rename from ico/24x16/cn.png rename to ico/flags/cn.png diff --git a/ico/24x16/co.png b/ico/flags/co.png similarity index 100% rename from ico/24x16/co.png rename to ico/flags/co.png diff --git a/ico/24x16/cr.png b/ico/flags/cr.png similarity index 100% rename from ico/24x16/cr.png rename to ico/flags/cr.png diff --git a/ico/24x16/cs.png b/ico/flags/cs.png similarity index 100% rename from ico/24x16/cs.png rename to ico/flags/cs.png diff --git a/ico/24x16/cu.png b/ico/flags/cu.png similarity index 100% rename from ico/24x16/cu.png rename to ico/flags/cu.png diff --git a/ico/24x16/cv.png b/ico/flags/cv.png similarity index 100% rename from ico/24x16/cv.png rename to ico/flags/cv.png diff --git a/ico/24x16/cx.png b/ico/flags/cx.png similarity index 100% rename from ico/24x16/cx.png rename to ico/flags/cx.png diff --git a/ico/24x16/cy.png b/ico/flags/cy.png similarity index 100% rename from ico/24x16/cy.png rename to ico/flags/cy.png diff --git a/ico/24x16/cz.png b/ico/flags/cz.png similarity index 100% rename from ico/24x16/cz.png rename to ico/flags/cz.png diff --git a/ico/24x16/de.png b/ico/flags/de.png similarity index 100% rename from ico/24x16/de.png rename to ico/flags/de.png diff --git a/ico/24x16/dj.png b/ico/flags/dj.png similarity index 100% rename from ico/24x16/dj.png rename to ico/flags/dj.png diff --git a/ico/24x16/dk.png b/ico/flags/dk.png similarity index 100% rename from ico/24x16/dk.png rename to ico/flags/dk.png diff --git a/ico/24x16/dm.png b/ico/flags/dm.png similarity index 100% rename from ico/24x16/dm.png rename to ico/flags/dm.png diff --git a/ico/24x16/do.png b/ico/flags/do.png similarity index 100% rename from ico/24x16/do.png rename to ico/flags/do.png diff --git a/ico/24x16/dz.png b/ico/flags/dz.png similarity index 100% rename from ico/24x16/dz.png rename to ico/flags/dz.png diff --git a/ico/24x16/ec.png b/ico/flags/ec.png similarity index 100% rename from ico/24x16/ec.png rename to ico/flags/ec.png diff --git a/ico/24x16/ee.png b/ico/flags/ee.png similarity index 100% rename from ico/24x16/ee.png rename to ico/flags/ee.png diff --git a/ico/24x16/eg.png b/ico/flags/eg.png similarity index 100% rename from ico/24x16/eg.png rename to ico/flags/eg.png diff --git a/ico/24x16/eh.png b/ico/flags/eh.png similarity index 100% rename from ico/24x16/eh.png rename to ico/flags/eh.png diff --git a/ico/24x16/en.png b/ico/flags/en.png similarity index 100% rename from ico/24x16/en.png rename to ico/flags/en.png diff --git a/ico/24x16/eo.png b/ico/flags/eo.png similarity index 100% rename from ico/24x16/eo.png rename to ico/flags/eo.png diff --git a/ico/24x16/er.png b/ico/flags/er.png similarity index 100% rename from ico/24x16/er.png rename to ico/flags/er.png diff --git a/ico/24x16/es.png b/ico/flags/es.png similarity index 100% rename from ico/24x16/es.png rename to ico/flags/es.png diff --git a/ico/24x16/et.png b/ico/flags/et.png similarity index 100% rename from ico/24x16/et.png rename to ico/flags/et.png diff --git a/ico/24x16/eu.png b/ico/flags/eu.png similarity index 100% rename from ico/24x16/eu.png rename to ico/flags/eu.png diff --git a/ico/24x16/fi.png b/ico/flags/fi.png similarity index 100% rename from ico/24x16/fi.png rename to ico/flags/fi.png diff --git a/ico/24x16/fj.png b/ico/flags/fj.png similarity index 100% rename from ico/24x16/fj.png rename to ico/flags/fj.png diff --git a/ico/24x16/fk.png b/ico/flags/fk.png similarity index 100% rename from ico/24x16/fk.png rename to ico/flags/fk.png diff --git a/ico/24x16/fm.png b/ico/flags/fm.png similarity index 100% rename from ico/24x16/fm.png rename to ico/flags/fm.png diff --git a/ico/24x16/fo.png b/ico/flags/fo.png similarity index 100% rename from ico/24x16/fo.png rename to ico/flags/fo.png diff --git a/ico/24x16/fr.png b/ico/flags/fr.png similarity index 100% rename from ico/24x16/fr.png rename to ico/flags/fr.png diff --git a/ico/24x16/ga.png b/ico/flags/ga.png similarity index 100% rename from ico/24x16/ga.png rename to ico/flags/ga.png diff --git a/ico/24x16/gb.png b/ico/flags/gb.png similarity index 100% rename from ico/24x16/gb.png rename to ico/flags/gb.png diff --git a/ico/24x16/gd.png b/ico/flags/gd.png similarity index 100% rename from ico/24x16/gd.png rename to ico/flags/gd.png diff --git a/ico/24x16/ge.png b/ico/flags/ge.png similarity index 100% rename from ico/24x16/ge.png rename to ico/flags/ge.png diff --git a/ico/24x16/gf.png b/ico/flags/gf.png similarity index 100% rename from ico/24x16/gf.png rename to ico/flags/gf.png diff --git a/ico/24x16/gg.png b/ico/flags/gg.png similarity index 100% rename from ico/24x16/gg.png rename to ico/flags/gg.png diff --git a/ico/24x16/gh.png b/ico/flags/gh.png similarity index 100% rename from ico/24x16/gh.png rename to ico/flags/gh.png diff --git a/ico/24x16/gi.png b/ico/flags/gi.png similarity index 100% rename from ico/24x16/gi.png rename to ico/flags/gi.png diff --git a/ico/24x16/gl.png b/ico/flags/gl.png similarity index 100% rename from ico/24x16/gl.png rename to ico/flags/gl.png diff --git a/ico/24x16/gm.png b/ico/flags/gm.png similarity index 100% rename from ico/24x16/gm.png rename to ico/flags/gm.png diff --git a/ico/24x16/gn.png b/ico/flags/gn.png similarity index 100% rename from ico/24x16/gn.png rename to ico/flags/gn.png diff --git a/ico/24x16/gp.png b/ico/flags/gp.png similarity index 100% rename from ico/24x16/gp.png rename to ico/flags/gp.png diff --git a/ico/24x16/gq.png b/ico/flags/gq.png similarity index 100% rename from ico/24x16/gq.png rename to ico/flags/gq.png diff --git a/ico/24x16/gr.png b/ico/flags/gr.png similarity index 100% rename from ico/24x16/gr.png rename to ico/flags/gr.png diff --git a/ico/24x16/gs.png b/ico/flags/gs.png similarity index 100% rename from ico/24x16/gs.png rename to ico/flags/gs.png diff --git a/ico/24x16/gt.png b/ico/flags/gt.png similarity index 100% rename from ico/24x16/gt.png rename to ico/flags/gt.png diff --git a/ico/24x16/gu.png b/ico/flags/gu.png similarity index 100% rename from ico/24x16/gu.png rename to ico/flags/gu.png diff --git a/ico/24x16/gw.png b/ico/flags/gw.png similarity index 100% rename from ico/24x16/gw.png rename to ico/flags/gw.png diff --git a/ico/24x16/gy.png b/ico/flags/gy.png similarity index 100% rename from ico/24x16/gy.png rename to ico/flags/gy.png diff --git a/ico/24x16/herm.png b/ico/flags/herm.png similarity index 100% rename from ico/24x16/herm.png rename to ico/flags/herm.png diff --git a/ico/24x16/hk.png b/ico/flags/hk.png similarity index 100% rename from ico/24x16/hk.png rename to ico/flags/hk.png diff --git a/ico/24x16/hm.png b/ico/flags/hm.png similarity index 100% rename from ico/24x16/hm.png rename to ico/flags/hm.png diff --git a/ico/24x16/hn.png b/ico/flags/hn.png similarity index 100% rename from ico/24x16/hn.png rename to ico/flags/hn.png diff --git a/ico/24x16/hr.png b/ico/flags/hr.png similarity index 100% rename from ico/24x16/hr.png rename to ico/flags/hr.png diff --git a/ico/24x16/ht.png b/ico/flags/ht.png similarity index 100% rename from ico/24x16/ht.png rename to ico/flags/ht.png diff --git a/ico/24x16/hu.png b/ico/flags/hu.png similarity index 100% rename from ico/24x16/hu.png rename to ico/flags/hu.png diff --git a/ico/24x16/id.png b/ico/flags/id.png similarity index 100% rename from ico/24x16/id.png rename to ico/flags/id.png diff --git a/ico/24x16/ie.png b/ico/flags/ie.png similarity index 100% rename from ico/24x16/ie.png rename to ico/flags/ie.png diff --git a/ico/24x16/il.png b/ico/flags/il.png similarity index 100% rename from ico/24x16/il.png rename to ico/flags/il.png diff --git a/ico/24x16/im.png b/ico/flags/im.png similarity index 100% rename from ico/24x16/im.png rename to ico/flags/im.png diff --git a/ico/24x16/in.png b/ico/flags/in.png similarity index 100% rename from ico/24x16/in.png rename to ico/flags/in.png diff --git a/ico/24x16/io.png b/ico/flags/io.png similarity index 100% rename from ico/24x16/io.png rename to ico/flags/io.png diff --git a/ico/24x16/iq.png b/ico/flags/iq.png similarity index 100% rename from ico/24x16/iq.png rename to ico/flags/iq.png diff --git a/ico/24x16/ir.png b/ico/flags/ir.png similarity index 100% rename from ico/24x16/ir.png rename to ico/flags/ir.png diff --git a/ico/24x16/is.png b/ico/flags/is.png similarity index 100% rename from ico/24x16/is.png rename to ico/flags/is.png diff --git a/ico/24x16/it.png b/ico/flags/it.png similarity index 100% rename from ico/24x16/it.png rename to ico/flags/it.png diff --git a/ico/24x16/je.png b/ico/flags/je.png similarity index 100% rename from ico/24x16/je.png rename to ico/flags/je.png diff --git a/ico/24x16/jm.png b/ico/flags/jm.png similarity index 100% rename from ico/24x16/jm.png rename to ico/flags/jm.png diff --git a/ico/24x16/jo.png b/ico/flags/jo.png similarity index 100% rename from ico/24x16/jo.png rename to ico/flags/jo.png diff --git a/ico/24x16/jp.png b/ico/flags/jp.png similarity index 100% rename from ico/24x16/jp.png rename to ico/flags/jp.png diff --git a/ico/24x16/ke.png b/ico/flags/ke.png similarity index 100% rename from ico/24x16/ke.png rename to ico/flags/ke.png diff --git a/ico/24x16/kg.png b/ico/flags/kg.png similarity index 100% rename from ico/24x16/kg.png rename to ico/flags/kg.png diff --git a/ico/24x16/kh.png b/ico/flags/kh.png similarity index 100% rename from ico/24x16/kh.png rename to ico/flags/kh.png diff --git a/ico/24x16/ki.png b/ico/flags/ki.png similarity index 100% rename from ico/24x16/ki.png rename to ico/flags/ki.png diff --git a/ico/24x16/km.png b/ico/flags/km.png similarity index 100% rename from ico/24x16/km.png rename to ico/flags/km.png diff --git a/ico/24x16/kn.png b/ico/flags/kn.png similarity index 100% rename from ico/24x16/kn.png rename to ico/flags/kn.png diff --git a/ico/24x16/kosovo.png b/ico/flags/kosovo.png similarity index 100% rename from ico/24x16/kosovo.png rename to ico/flags/kosovo.png diff --git a/ico/24x16/kp.png b/ico/flags/kp.png similarity index 100% rename from ico/24x16/kp.png rename to ico/flags/kp.png diff --git a/ico/24x16/kr.png b/ico/flags/kr.png similarity index 100% rename from ico/24x16/kr.png rename to ico/flags/kr.png diff --git a/ico/24x16/kw.png b/ico/flags/kw.png similarity index 100% rename from ico/24x16/kw.png rename to ico/flags/kw.png diff --git a/ico/24x16/ky.png b/ico/flags/ky.png similarity index 100% rename from ico/24x16/ky.png rename to ico/flags/ky.png diff --git a/ico/24x16/kz.png b/ico/flags/kz.png similarity index 100% rename from ico/24x16/kz.png rename to ico/flags/kz.png diff --git a/ico/24x16/la.png b/ico/flags/la.png similarity index 100% rename from ico/24x16/la.png rename to ico/flags/la.png diff --git a/ico/24x16/lb.png b/ico/flags/lb.png similarity index 100% rename from ico/24x16/lb.png rename to ico/flags/lb.png diff --git a/ico/24x16/lc.png b/ico/flags/lc.png similarity index 100% rename from ico/24x16/lc.png rename to ico/flags/lc.png diff --git a/ico/24x16/li.png b/ico/flags/li.png similarity index 100% rename from ico/24x16/li.png rename to ico/flags/li.png diff --git a/ico/24x16/lk.png b/ico/flags/lk.png similarity index 100% rename from ico/24x16/lk.png rename to ico/flags/lk.png diff --git a/ico/24x16/lr.png b/ico/flags/lr.png similarity index 100% rename from ico/24x16/lr.png rename to ico/flags/lr.png diff --git a/ico/24x16/ls.png b/ico/flags/ls.png similarity index 100% rename from ico/24x16/ls.png rename to ico/flags/ls.png diff --git a/ico/24x16/lt.png b/ico/flags/lt.png similarity index 100% rename from ico/24x16/lt.png rename to ico/flags/lt.png diff --git a/ico/24x16/lu.png b/ico/flags/lu.png similarity index 100% rename from ico/24x16/lu.png rename to ico/flags/lu.png diff --git a/ico/24x16/lv.png b/ico/flags/lv.png similarity index 100% rename from ico/24x16/lv.png rename to ico/flags/lv.png diff --git a/ico/24x16/ly.png b/ico/flags/ly.png similarity index 100% rename from ico/24x16/ly.png rename to ico/flags/ly.png diff --git a/ico/24x16/ma.png b/ico/flags/ma.png similarity index 100% rename from ico/24x16/ma.png rename to ico/flags/ma.png diff --git a/ico/24x16/madeira.png b/ico/flags/madeira.png similarity index 100% rename from ico/24x16/madeira.png rename to ico/flags/madeira.png diff --git a/ico/24x16/mc.png b/ico/flags/mc.png similarity index 100% rename from ico/24x16/mc.png rename to ico/flags/mc.png diff --git a/ico/24x16/md.png b/ico/flags/md.png similarity index 100% rename from ico/24x16/md.png rename to ico/flags/md.png diff --git a/ico/24x16/me.png b/ico/flags/me.png similarity index 100% rename from ico/24x16/me.png rename to ico/flags/me.png diff --git a/ico/24x16/mf.png b/ico/flags/mf.png similarity index 100% rename from ico/24x16/mf.png rename to ico/flags/mf.png diff --git a/ico/24x16/mg.png b/ico/flags/mg.png similarity index 100% rename from ico/24x16/mg.png rename to ico/flags/mg.png diff --git a/ico/24x16/mh.png b/ico/flags/mh.png similarity index 100% rename from ico/24x16/mh.png rename to ico/flags/mh.png diff --git a/ico/24x16/mk.png b/ico/flags/mk.png similarity index 100% rename from ico/24x16/mk.png rename to ico/flags/mk.png diff --git a/ico/24x16/ml.png b/ico/flags/ml.png similarity index 100% rename from ico/24x16/ml.png rename to ico/flags/ml.png diff --git a/ico/24x16/mm.png b/ico/flags/mm.png similarity index 100% rename from ico/24x16/mm.png rename to ico/flags/mm.png diff --git a/ico/24x16/mn.png b/ico/flags/mn.png similarity index 100% rename from ico/24x16/mn.png rename to ico/flags/mn.png diff --git a/ico/24x16/mo.png b/ico/flags/mo.png similarity index 100% rename from ico/24x16/mo.png rename to ico/flags/mo.png diff --git a/ico/24x16/mp.png b/ico/flags/mp.png similarity index 100% rename from ico/24x16/mp.png rename to ico/flags/mp.png diff --git a/ico/24x16/mq.png b/ico/flags/mq.png similarity index 100% rename from ico/24x16/mq.png rename to ico/flags/mq.png diff --git a/ico/24x16/mr.png b/ico/flags/mr.png similarity index 100% rename from ico/24x16/mr.png rename to ico/flags/mr.png diff --git a/ico/24x16/ms.png b/ico/flags/ms.png similarity index 100% rename from ico/24x16/ms.png rename to ico/flags/ms.png diff --git a/ico/24x16/mt.png b/ico/flags/mt.png similarity index 100% rename from ico/24x16/mt.png rename to ico/flags/mt.png diff --git a/ico/24x16/mu.png b/ico/flags/mu.png similarity index 100% rename from ico/24x16/mu.png rename to ico/flags/mu.png diff --git a/ico/24x16/mv.png b/ico/flags/mv.png similarity index 100% rename from ico/24x16/mv.png rename to ico/flags/mv.png diff --git a/ico/24x16/mw.png b/ico/flags/mw.png similarity index 100% rename from ico/24x16/mw.png rename to ico/flags/mw.png diff --git a/ico/24x16/mx.png b/ico/flags/mx.png similarity index 100% rename from ico/24x16/mx.png rename to ico/flags/mx.png diff --git a/ico/24x16/my.png b/ico/flags/my.png similarity index 100% rename from ico/24x16/my.png rename to ico/flags/my.png diff --git a/ico/24x16/mz.png b/ico/flags/mz.png similarity index 100% rename from ico/24x16/mz.png rename to ico/flags/mz.png diff --git a/ico/24x16/na.png b/ico/flags/na.png similarity index 100% rename from ico/24x16/na.png rename to ico/flags/na.png diff --git a/ico/24x16/nc.png b/ico/flags/nc.png similarity index 100% rename from ico/24x16/nc.png rename to ico/flags/nc.png diff --git a/ico/24x16/ne.png b/ico/flags/ne.png similarity index 100% rename from ico/24x16/ne.png rename to ico/flags/ne.png diff --git a/ico/24x16/nf.png b/ico/flags/nf.png similarity index 100% rename from ico/24x16/nf.png rename to ico/flags/nf.png diff --git a/ico/24x16/ng.png b/ico/flags/ng.png similarity index 100% rename from ico/24x16/ng.png rename to ico/flags/ng.png diff --git a/ico/24x16/ni.png b/ico/flags/ni.png similarity index 100% rename from ico/24x16/ni.png rename to ico/flags/ni.png diff --git a/ico/24x16/nl.png b/ico/flags/nl.png similarity index 100% rename from ico/24x16/nl.png rename to ico/flags/nl.png diff --git a/ico/24x16/nl_BE.png b/ico/flags/nl_BE.png similarity index 100% rename from ico/24x16/nl_BE.png rename to ico/flags/nl_BE.png diff --git a/ico/24x16/no.png b/ico/flags/no.png similarity index 100% rename from ico/24x16/no.png rename to ico/flags/no.png diff --git a/ico/24x16/np.png b/ico/flags/np.png similarity index 100% rename from ico/24x16/np.png rename to ico/flags/np.png diff --git a/ico/24x16/nr.png b/ico/flags/nr.png similarity index 100% rename from ico/24x16/nr.png rename to ico/flags/nr.png diff --git a/ico/24x16/nu.png b/ico/flags/nu.png similarity index 100% rename from ico/24x16/nu.png rename to ico/flags/nu.png diff --git a/ico/24x16/nz.png b/ico/flags/nz.png similarity index 100% rename from ico/24x16/nz.png rename to ico/flags/nz.png diff --git a/ico/24x16/om.png b/ico/flags/om.png similarity index 100% rename from ico/24x16/om.png rename to ico/flags/om.png diff --git a/ico/24x16/pa.png b/ico/flags/pa.png similarity index 100% rename from ico/24x16/pa.png rename to ico/flags/pa.png diff --git a/ico/24x16/pe.png b/ico/flags/pe.png similarity index 100% rename from ico/24x16/pe.png rename to ico/flags/pe.png diff --git a/ico/24x16/pf.png b/ico/flags/pf.png similarity index 100% rename from ico/24x16/pf.png rename to ico/flags/pf.png diff --git a/ico/24x16/pg.png b/ico/flags/pg.png similarity index 100% rename from ico/24x16/pg.png rename to ico/flags/pg.png diff --git a/ico/24x16/ph.png b/ico/flags/ph.png similarity index 100% rename from ico/24x16/ph.png rename to ico/flags/ph.png diff --git a/ico/24x16/pk.png b/ico/flags/pk.png similarity index 100% rename from ico/24x16/pk.png rename to ico/flags/pk.png diff --git a/ico/24x16/pl.png b/ico/flags/pl.png similarity index 100% rename from ico/24x16/pl.png rename to ico/flags/pl.png diff --git a/ico/24x16/pm.png b/ico/flags/pm.png similarity index 100% rename from ico/24x16/pm.png rename to ico/flags/pm.png diff --git a/ico/24x16/pn.png b/ico/flags/pn.png similarity index 100% rename from ico/24x16/pn.png rename to ico/flags/pn.png diff --git a/ico/24x16/pr.png b/ico/flags/pr.png similarity index 100% rename from ico/24x16/pr.png rename to ico/flags/pr.png diff --git a/ico/24x16/ps.png b/ico/flags/ps.png similarity index 100% rename from ico/24x16/ps.png rename to ico/flags/ps.png diff --git a/ico/24x16/pt.png b/ico/flags/pt.png similarity index 100% rename from ico/24x16/pt.png rename to ico/flags/pt.png diff --git a/ico/24x16/pw.png b/ico/flags/pw.png similarity index 100% rename from ico/24x16/pw.png rename to ico/flags/pw.png diff --git a/ico/24x16/py.png b/ico/flags/py.png similarity index 100% rename from ico/24x16/py.png rename to ico/flags/py.png diff --git a/ico/24x16/qa.png b/ico/flags/qa.png similarity index 100% rename from ico/24x16/qa.png rename to ico/flags/qa.png diff --git a/ico/24x16/qc.png b/ico/flags/qc.png similarity index 100% rename from ico/24x16/qc.png rename to ico/flags/qc.png diff --git a/ico/24x16/re.png b/ico/flags/re.png similarity index 100% rename from ico/24x16/re.png rename to ico/flags/re.png diff --git a/ico/24x16/readme.txt b/ico/flags/readme.txt similarity index 100% rename from ico/24x16/readme.txt rename to ico/flags/readme.txt diff --git a/ico/24x16/ro.png b/ico/flags/ro.png similarity index 100% rename from ico/24x16/ro.png rename to ico/flags/ro.png diff --git a/ico/24x16/rs.png b/ico/flags/rs.png similarity index 100% rename from ico/24x16/rs.png rename to ico/flags/rs.png diff --git a/ico/24x16/ru.png b/ico/flags/ru.png similarity index 100% rename from ico/24x16/ru.png rename to ico/flags/ru.png diff --git a/ico/24x16/rw.png b/ico/flags/rw.png similarity index 100% rename from ico/24x16/rw.png rename to ico/flags/rw.png diff --git a/ico/24x16/sa.png b/ico/flags/sa.png similarity index 100% rename from ico/24x16/sa.png rename to ico/flags/sa.png diff --git a/ico/24x16/saba.png b/ico/flags/saba.png similarity index 100% rename from ico/24x16/saba.png rename to ico/flags/saba.png diff --git a/ico/24x16/sark.png b/ico/flags/sark.png similarity index 100% rename from ico/24x16/sark.png rename to ico/flags/sark.png diff --git a/ico/24x16/sb.png b/ico/flags/sb.png similarity index 100% rename from ico/24x16/sb.png rename to ico/flags/sb.png diff --git a/ico/24x16/sc.png b/ico/flags/sc.png similarity index 100% rename from ico/24x16/sc.png rename to ico/flags/sc.png diff --git a/ico/24x16/scotland.png b/ico/flags/scotland.png similarity index 100% rename from ico/24x16/scotland.png rename to ico/flags/scotland.png diff --git a/ico/24x16/sd.png b/ico/flags/sd.png similarity index 100% rename from ico/24x16/sd.png rename to ico/flags/sd.png diff --git a/ico/24x16/se.png b/ico/flags/se.png similarity index 100% rename from ico/24x16/se.png rename to ico/flags/se.png diff --git a/ico/24x16/sg.png b/ico/flags/sg.png similarity index 100% rename from ico/24x16/sg.png rename to ico/flags/sg.png diff --git a/ico/24x16/sh.png b/ico/flags/sh.png similarity index 100% rename from ico/24x16/sh.png rename to ico/flags/sh.png diff --git a/ico/24x16/si.png b/ico/flags/si.png similarity index 100% rename from ico/24x16/si.png rename to ico/flags/si.png diff --git a/ico/24x16/sint_eustatius.png b/ico/flags/sint_eustatius.png similarity index 100% rename from ico/24x16/sint_eustatius.png rename to ico/flags/sint_eustatius.png diff --git a/ico/24x16/sint_maarten.png b/ico/flags/sint_maarten.png similarity index 100% rename from ico/24x16/sint_maarten.png rename to ico/flags/sint_maarten.png diff --git a/ico/24x16/sj.png b/ico/flags/sj.png similarity index 100% rename from ico/24x16/sj.png rename to ico/flags/sj.png diff --git a/ico/24x16/sk.png b/ico/flags/sk.png similarity index 100% rename from ico/24x16/sk.png rename to ico/flags/sk.png diff --git a/ico/24x16/sl.png b/ico/flags/sl.png similarity index 100% rename from ico/24x16/sl.png rename to ico/flags/sl.png diff --git a/ico/24x16/sm.png b/ico/flags/sm.png similarity index 100% rename from ico/24x16/sm.png rename to ico/flags/sm.png diff --git a/ico/24x16/sn.png b/ico/flags/sn.png similarity index 100% rename from ico/24x16/sn.png rename to ico/flags/sn.png diff --git a/ico/24x16/so.png b/ico/flags/so.png similarity index 100% rename from ico/24x16/so.png rename to ico/flags/so.png diff --git a/ico/24x16/sr.png b/ico/flags/sr.png similarity index 100% rename from ico/24x16/sr.png rename to ico/flags/sr.png diff --git a/ico/24x16/st.png b/ico/flags/st.png similarity index 100% rename from ico/24x16/st.png rename to ico/flags/st.png diff --git a/ico/24x16/sv.png b/ico/flags/sv.png similarity index 100% rename from ico/24x16/sv.png rename to ico/flags/sv.png diff --git a/ico/24x16/sy.png b/ico/flags/sy.png similarity index 100% rename from ico/24x16/sy.png rename to ico/flags/sy.png diff --git a/ico/24x16/sz.png b/ico/flags/sz.png similarity index 100% rename from ico/24x16/sz.png rename to ico/flags/sz.png diff --git a/ico/24x16/tc.png b/ico/flags/tc.png similarity index 100% rename from ico/24x16/tc.png rename to ico/flags/tc.png diff --git a/ico/24x16/td.png b/ico/flags/td.png similarity index 100% rename from ico/24x16/td.png rename to ico/flags/td.png diff --git a/ico/24x16/tf.png b/ico/flags/tf.png similarity index 100% rename from ico/24x16/tf.png rename to ico/flags/tf.png diff --git a/ico/24x16/tg.png b/ico/flags/tg.png similarity index 100% rename from ico/24x16/tg.png rename to ico/flags/tg.png diff --git a/ico/24x16/th.png b/ico/flags/th.png similarity index 100% rename from ico/24x16/th.png rename to ico/flags/th.png diff --git a/ico/24x16/tj.png b/ico/flags/tj.png similarity index 100% rename from ico/24x16/tj.png rename to ico/flags/tj.png diff --git a/ico/24x16/tk.png b/ico/flags/tk.png similarity index 100% rename from ico/24x16/tk.png rename to ico/flags/tk.png diff --git a/ico/24x16/tl.png b/ico/flags/tl.png similarity index 100% rename from ico/24x16/tl.png rename to ico/flags/tl.png diff --git a/ico/24x16/tm.png b/ico/flags/tm.png similarity index 100% rename from ico/24x16/tm.png rename to ico/flags/tm.png diff --git a/ico/24x16/tn.png b/ico/flags/tn.png similarity index 100% rename from ico/24x16/tn.png rename to ico/flags/tn.png diff --git a/ico/24x16/to.png b/ico/flags/to.png similarity index 100% rename from ico/24x16/to.png rename to ico/flags/to.png diff --git a/ico/24x16/tr.png b/ico/flags/tr.png similarity index 100% rename from ico/24x16/tr.png rename to ico/flags/tr.png diff --git a/ico/24x16/tristan_da_cunha.png b/ico/flags/tristan_da_cunha.png similarity index 100% rename from ico/24x16/tristan_da_cunha.png rename to ico/flags/tristan_da_cunha.png diff --git a/ico/24x16/tt.png b/ico/flags/tt.png similarity index 100% rename from ico/24x16/tt.png rename to ico/flags/tt.png diff --git a/ico/24x16/tv.png b/ico/flags/tv.png similarity index 100% rename from ico/24x16/tv.png rename to ico/flags/tv.png diff --git a/ico/24x16/tw.png b/ico/flags/tw.png similarity index 100% rename from ico/24x16/tw.png rename to ico/flags/tw.png diff --git a/ico/24x16/tz.png b/ico/flags/tz.png similarity index 100% rename from ico/24x16/tz.png rename to ico/flags/tz.png diff --git a/ico/24x16/ua.png b/ico/flags/ua.png similarity index 100% rename from ico/24x16/ua.png rename to ico/flags/ua.png diff --git a/ico/24x16/ug.png b/ico/flags/ug.png similarity index 100% rename from ico/24x16/ug.png rename to ico/flags/ug.png diff --git a/ico/24x16/um.png b/ico/flags/um.png similarity index 100% rename from ico/24x16/um.png rename to ico/flags/um.png diff --git a/ico/24x16/us.png b/ico/flags/us.png similarity index 100% rename from ico/24x16/us.png rename to ico/flags/us.png diff --git a/ico/24x16/uy.png b/ico/flags/uy.png similarity index 100% rename from ico/24x16/uy.png rename to ico/flags/uy.png diff --git a/ico/24x16/uz.png b/ico/flags/uz.png similarity index 100% rename from ico/24x16/uz.png rename to ico/flags/uz.png diff --git a/ico/24x16/va.png b/ico/flags/va.png similarity index 100% rename from ico/24x16/va.png rename to ico/flags/va.png diff --git a/ico/24x16/vc.png b/ico/flags/vc.png similarity index 100% rename from ico/24x16/vc.png rename to ico/flags/vc.png diff --git a/ico/24x16/ve.png b/ico/flags/ve.png similarity index 100% rename from ico/24x16/ve.png rename to ico/flags/ve.png diff --git a/ico/24x16/vg.png b/ico/flags/vg.png similarity index 100% rename from ico/24x16/vg.png rename to ico/flags/vg.png diff --git a/ico/24x16/vi.png b/ico/flags/vi.png similarity index 100% rename from ico/24x16/vi.png rename to ico/flags/vi.png diff --git a/ico/24x16/vn.png b/ico/flags/vn.png similarity index 100% rename from ico/24x16/vn.png rename to ico/flags/vn.png diff --git a/ico/24x16/vu.png b/ico/flags/vu.png similarity index 100% rename from ico/24x16/vu.png rename to ico/flags/vu.png diff --git a/ico/24x16/wales.png b/ico/flags/wales.png similarity index 100% rename from ico/24x16/wales.png rename to ico/flags/wales.png diff --git a/ico/24x16/wf.png b/ico/flags/wf.png similarity index 100% rename from ico/24x16/wf.png rename to ico/flags/wf.png diff --git a/ico/24x16/ws.png b/ico/flags/ws.png similarity index 100% rename from ico/24x16/ws.png rename to ico/flags/ws.png diff --git a/ico/24x16/ye.png b/ico/flags/ye.png similarity index 100% rename from ico/24x16/ye.png rename to ico/flags/ye.png diff --git a/ico/24x16/yt.png b/ico/flags/yt.png similarity index 100% rename from ico/24x16/yt.png rename to ico/flags/yt.png diff --git a/ico/24x16/za.png b/ico/flags/za.png similarity index 100% rename from ico/24x16/za.png rename to ico/flags/za.png diff --git a/ico/24x16/zh.png b/ico/flags/zh.png similarity index 100% rename from ico/24x16/zh.png rename to ico/flags/zh.png diff --git a/ico/24x16/zm.png b/ico/flags/zm.png similarity index 100% rename from ico/24x16/zm.png rename to ico/flags/zm.png diff --git a/ico/24x16/zw.png b/ico/flags/zw.png similarity index 100% rename from ico/24x16/zw.png rename to ico/flags/zw.png diff --git a/ico/generated/breeze-24/draw-circle.svg b/ico/generated/breeze-24/draw-circle.svg deleted file mode 100644 index d2ad41042..000000000 --- a/ico/generated/breeze-24/draw-circle.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/ico/generated/breeze-24/draw-ellipse.svg b/ico/generated/breeze-24/draw-ellipse.svg deleted file mode 100644 index 6fd8a96a1..000000000 --- a/ico/generated/breeze-24/draw-ellipse.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/ico/generated/ellipse-to-bezier.svg b/ico/generated/ellipse-to-bezier.svg deleted file mode 100644 index c041ba058..000000000 --- a/ico/generated/ellipse-to-bezier.svg +++ /dev/null @@ -1,13 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTpkNDA5NTZkMS0yNDRjLTQ2OGItYTNjZi1kOGNkMWJiZjJjNWMAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaNHa9W+jncUxYLjA5T/fHNAAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDpiMjRkMmNiNS02ZDU5LTRhZGMtYmY4My1iNmQ2MTM0YTMzMTVscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoU/JskrAOHlKW+39wbkwl5AAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg8js9kdGdiYJItlQxXai3cVkS1BURvT+xjZCCSt0ZaY2kZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaFrp/I01n8o3SfwCAu5AIIgAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCDeaq8DqUieyVsNvM+vt+d8bTEEIrdIdQXiV6a7aG54BWRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmQ0MDk1NmQxLTI0NGMtNDY4Yi1hM2NmLWQ4Y2QxYmJmMmM1Yy9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjU1NTg2MjkyLWU4NTktNDU3MC04NGI1LTRjNTNlNDY4MTc0ZXJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCDyOz2R0Z2Jgki2VDFdqLdxWRLUFRG9P7GNkIJK3RlpjaJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg1AiqYQ9UV1TMYqxD43UPFynZ5V0nAfXrfTo9OyaZ+cGiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggdMNi2v26PVYkXmjZyL7K8tFzP0+jRgIVxpnwOQ9gFJ90Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQNrJ3qg2K2hh9KpSVzl3UGL4M1J3ved4gLaHdbxA/Vfn4G8PcH4NeQrrk2fcULljrqaw6ZYCFuIyYTIkhQ660No= -Convert ellipse to bezier path - - - - - - - - - - - diff --git a/ico/generated/rect-to-bezier.svg b/ico/generated/rect-to-bezier.svg deleted file mode 100644 index 98f849e2a..000000000 --- a/ico/generated/rect-to-bezier.svg +++ /dev/null @@ -1,13 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTphMTgyYWNlNy0xYmJkLTQzYmQtYmFiMi1kMTBlMmJlNzBiNTQAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaFNd79FboARAaP6M3PQPO8IAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDowOWQ2MDg3Ni1iYjQ1LTQ5NDEtODhiMi1kNjVhYjdmNWMyMDJscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoXS5HglraT09MuST1+rfbcAAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggLihfGkmdS5IpQR3YeGqBhs6ZkqcxbAHAYDm+z+4vM8CkZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaAvbbUkVOHH4ZCysG6DWn+8AAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCCcMegXDTjLbH4jmbUdk0PuX1tnQ/gV6VtgVf1DBe0YgGRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmExODJhY2U3LTFiYmQtNDNiZC1iYWIyLWQxMGUyYmU3MGI1NC9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjRjNGVmNmU2LTU0YzgtNGM2Mi1hMDk5LTEzZTAzZmMwZGVhNnJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCAuKF8aSZ1LkilBHdh4aoGGzpmSpzFsAcBgOb7P7i8zwKJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggu5sSUccV9ItEQkWhcG53fBuHMS8d+Irs8N2D8LmHfziiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggi0ewqxLdfycluy0zCuaJrLNVK3aEMTD9mcGPaz0OtKR0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQEfUjmTUDTBdWe5F2ORfpgLKkj3P2znz3b6ZHFi/HmEacHMG3wdXw4e9gBowdrOMqJXG+GS0Mi7ElEzpcRnStO0= -Convert rectangle to bezier path - - - - - - - - - - - diff --git a/ico/generated/rect-to-polyline.svg b/ico/generated/rect-to-polyline.svg deleted file mode 100644 index 956f0b4f5..000000000 --- a/ico/generated/rect-to-polyline.svg +++ /dev/null @@ -1,15 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTo5Njk4YzA4Yi0wNzc1LTQ3ZGUtOTUzMy1lMTllMTMwNTk2OGUAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaHVhCFMQ+YCaUIaehiRlEykAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo4Yjc3NjczOC1hYmJhLTRlZWEtOTUxZi1hZTA4NzhjMjRmY2RscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoRw0Rk1rtkhshpZAKc5PqUgAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg93lOZT8pGu+IWHntnpJ0y9pNpWi9LsEPrPSP6zu3S3ekZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaCGAz99s1CYSTsHP9ygTudsAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCDGF286ZMxdg/RjdCwKf9mBtpW4Rt8trCv1OG7iYm7Z2mRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjk2OThjMDhiLTA3NzUtNDdkZS05NTMzLWUxOWUxMzA1OTY4ZS9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjM1OWRmMTk2LTJiNTctNDE3MS04MGVjLTlhMjM4NmU0N2EwMHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCD3eU5lPyka74hYee2eknTL2k2laL0uwQ+s9I/rO7dLd6JjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg9Z6ffypTiEj67qxFt1K0w9OmK7Ue/R29dSQExYtMpj2iY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFgg9c62eLY86fBHk0TDIUicPC7IgNw+PX2usoc1r4Z10jp0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQG5tbc1u+c4EVF+/oZspFHn8tPAKtUy2FGultvsEqB93Y8f9CSQsAG4ClWq/eiF7YeAJa/hEA4iDh7ogCcGD8hs= -Convert rectangle to polyline - - - - - - - - - - - - - diff --git a/ico/icon-themes.qrc b/ico/icon-themes.qrc index 2cfd647af..01c7e53b9 100644 --- a/ico/icon-themes.qrc +++ b/ico/icon-themes.qrc @@ -4,2387 +4,2629 @@ themes/qet/index.theme themes/qet-dark/index.theme - 16x16/conductor.png - 16x16/edit-clear-locationbar-rtl.png - 16x16/element.png - 16x16/move.png - 16x16/project-delete.png - 16x16/qet.png - 16x16/qt.png - 22x22/Actions-player-time-icon.png - 22x22/arc.png - 22x22/autoconnect.png - 22x22/bring_forward.png - 22x22/edit-clear-locationbar-rtl.png - 22x22/move.png - 22x22/project-delete.png - 32x32/format-text-color.png - 32x32/insert-link.png - 32x32/printer.png - 32x32/qt.png - 48x48/user-away-extended.png - 48x48/user-away.png - 128x128/configure-shortcuts.png - 128x128/printer.png - 128x128/settings.png - scalable/align-horizontal-center.svg - scalable/align-horizontal-left.svg - scalable/align-horizontal-right.svg - scalable/align-vertical-bottom.svg - scalable/align-vertical-center.svg - scalable/align-vertical-top.svg - scalable/diagram.svg - scalable/folio-delete.svg - scalable/folio-new.svg - scalable/folio-properties.svg - scalable/label.svg - scalable/pdf-import.svg - scalable/snap-to-grid.svg - breeze-icons/scalable/apps/hidef/edit-opacity.svg - breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg - breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg - breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg - breeze-icons/scalable/apps/hidef/transform-crop.svg - generated/ellipse-to-bezier.svg - generated/rect-to-bezier.svg - generated/rect-to-polyline.svg - scalable/16/align-horizontal-center.svg - generated/scalable-22/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - generated/scalable-22/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/16/align-horizontal-center.svg - scalable/16/align-horizontal-left.svg - generated/scalable-22/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - generated/scalable-22/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/16/align-horizontal-left.svg - scalable/16/align-horizontal-right.svg - generated/scalable-22/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - generated/scalable-22/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/16/align-horizontal-right.svg - scalable/16/align-vertical-bottom.svg - generated/scalable-22/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - generated/scalable-22/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/16/align-vertical-bottom.svg - scalable/16/align-vertical-center.svg - generated/scalable-22/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/16/align-vertical-center.svg - generated/scalable-22/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/16/align-vertical-center.svg - scalable/16/align-vertical-top.svg - generated/scalable-22/align-vertical-top.svg - scalable/16/align-vertical-top.svg - scalable/align-vertical-top.svg - scalable/16/align-vertical-top.svg - scalable/16/align-vertical-top.svg - scalable/16/align-vertical-top.svg - generated/scalable-22/align-vertical-top.svg - scalable/16/align-vertical-top.svg - scalable/align-vertical-top.svg - scalable/16/align-vertical-top.svg - scalable/16/align-vertical-top.svg - traced/16/all_pages.svg - traced/large16/all_pages.svg - traced/22/all_pages.svg - traced/large22/all_pages.svg - traced/large16/all_pages.svg - traced/large16/all_pages.svg - generated/traced-large-24/all_pages.svg - generated/traced-large-24/all_pages.svg - traced/large16/all_pages.svg - traced/large16/all_pages.svg - traced/large16/all_pages.svg - traced/large16/all_pages.svg - generated/traced-24/all_pages.svg - generated/traced-large-24/all_pages.svg - traced/large22/all_pages.svg + breeze-icons/16x16/apps/qelectrotech.png + breeze-icons/22x22/apps/qelectrotech.png + breeze-icons/32x32/apps/qelectrotech.png + breeze-icons/48x48/apps/qelectrotech.png + breeze-icons/64x64/apps/qelectrotech.png + breeze-icons/128x128/apps/qelectrotech.png + qet/scalable/align-horizontal-center.svg + qet/scalable/align-horizontal-left.svg + qet/scalable/align-horizontal-right.svg + qet/scalable/align-vertical-bottom.svg + qet/scalable/align-vertical-center.svg + qet/scalable/align-vertical-top.svg + qet/scalable/diagram.svg + qet/scalable/draw-fillet.svg + qet/scalable/folio-delete.svg + qet/scalable/folio-new.svg + qet/scalable/folio-properties.svg + qet/scalable/label.svg + qet/scalable/pdf-import.svg + qet/scalable/snap-to-grid.svg + breeze/64/printer.svg + breeze/48/systemsettings.svg + qet/pages/configure-shortcuts.svg + qet/scalable/16/align-horizontal-center.svg + themes/generated/scalable-22/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + themes/generated/scalable-22/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/16/align-horizontal-center.svg + qet/scalable/16/align-horizontal-left.svg + themes/generated/scalable-22/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + themes/generated/scalable-22/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/16/align-horizontal-left.svg + qet/scalable/16/align-horizontal-right.svg + themes/generated/scalable-22/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + themes/generated/scalable-22/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/16/align-horizontal-right.svg + qet/scalable/16/align-vertical-bottom.svg + themes/generated/scalable-22/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + themes/generated/scalable-22/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/16/align-vertical-bottom.svg + qet/scalable/16/align-vertical-center.svg + themes/generated/scalable-22/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + themes/generated/scalable-22/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/16/align-vertical-center.svg + qet/scalable/16/align-vertical-top.svg + themes/generated/scalable-22/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/scalable/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + themes/generated/scalable-22/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/scalable/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/scalable/16/align-vertical-top.svg + qet/traced/16/all_pages.svg + qet/traced/large16/all_pages.svg + qet/traced/22/all_pages.svg + qet/traced/large22/all_pages.svg + qet/traced/large16/all_pages.svg + qet/traced/large16/all_pages.svg + themes/generated/traced-large-24/all_pages.svg + themes/generated/traced-large-24/all_pages.svg + qet/traced/large16/all_pages.svg + qet/traced/large16/all_pages.svg + qet/traced/large16/all_pages.svg + qet/traced/large16/all_pages.svg + themes/generated/traced-24/all_pages.svg + themes/generated/traced-large-24/all_pages.svg + qet/traced/large22/all_pages.svg breeze/16/application-exit.svg breeze/22/application-exit.svg - generated/breeze-24/application-exit.svg + themes/generated/breeze-24/application-exit.svg breeze/32/application-exit.svg - generated/breeze-24/application-exit.svg + themes/generated/breeze-24/application-exit.svg breeze/32/application-exit.svg breeze/32/application-exit.svg breeze/32/application-exit.svg breeze/22/application-exit.svg breeze/32/application-exit.svg - generated/breeze-24/application-exit.svg + themes/generated/breeze-24/application-exit.svg breeze/32/application-exit.svg breeze/32/application-exit.svg - traced/16/application-pdf.svg - traced/large16/application-pdf.svg - traced/22/application-pdf.svg - traced/large22/application-pdf.svg - traced/large16/application-pdf.svg - traced/large16/application-pdf.svg - traced/large22/application-pdf.svg - traced/large22/application-pdf.svg - traced/large16/application-pdf.svg - traced/large16/application-pdf.svg - traced/large16/application-pdf.svg - traced/large16/application-pdf.svg - generated/traced-24/application-pdf.svg - traced/large22/application-pdf.svg - traced/large22/application-pdf.svg + qet/traced/16/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/22/application-pdf.svg + qet/traced/large22/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/large22/application-pdf.svg + qet/traced/large22/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/large16/application-pdf.svg + qet/traced/large16/application-pdf.svg + themes/generated/traced-24/application-pdf.svg + qet/traced/large22/application-pdf.svg + qet/traced/large22/application-pdf.svg breeze/16/amarok_change_language.svg breeze/22/amarok_change_language.svg - generated/breeze-24/amarok_change_language.svg + themes/generated/breeze-24/amarok_change_language.svg breeze/16/amarok_change_language.svg - generated/breeze-24/amarok_change_language.svg + themes/generated/breeze-24/amarok_change_language.svg breeze/16/amarok_change_language.svg breeze/16/amarok_change_language.svg breeze/16/amarok_change_language.svg breeze/22/amarok_change_language.svg breeze/16/amarok_change_language.svg - generated/breeze-24/amarok_change_language.svg + themes/generated/breeze-24/amarok_change_language.svg breeze/16/amarok_change_language.svg breeze/16/amarok_change_language.svg + qet/traced/16/arc.svg + qet/traced/large16/arc.svg + qet/traced/22/arc.svg + qet/traced/large22/arc.svg + qet/traced/large16/arc.svg + qet/traced/large16/arc.svg + themes/generated/traced-large-24/arc.svg + themes/generated/traced-large-24/arc.svg + qet/traced/large16/arc.svg + qet/traced/large16/arc.svg + qet/traced/large16/arc.svg + qet/traced/large16/arc.svg + themes/generated/traced-24/arc.svg + themes/generated/traced-large-24/arc.svg + qet/traced/large22/arc.svg breeze/16/go-previous.svg breeze/22/go-previous.svg - generated/breeze-24/go-previous.svg + themes/generated/breeze-24/go-previous.svg breeze/32/go-previous.svg - generated/breeze-24/go-previous.svg + themes/generated/breeze-24/go-previous.svg breeze/32/go-previous.svg breeze/32/go-previous.svg breeze/32/go-previous.svg breeze/22/go-previous.svg breeze/32/go-previous.svg - generated/breeze-24/go-previous.svg + themes/generated/breeze-24/go-previous.svg breeze/32/go-previous.svg breeze/32/go-previous.svg - traced/16/arrow-left-double.svg - traced/large16/arrow-left-double.svg - traced/22/arrow-left-double.svg - traced/large22/arrow-left-double.svg - traced/large16/arrow-left-double.svg - traced/large16/arrow-left-double.svg - generated/traced-large-24/arrow-left-double.svg - generated/traced-large-24/arrow-left-double.svg - traced/large16/arrow-left-double.svg - traced/large16/arrow-left-double.svg - traced/large16/arrow-left-double.svg - traced/large16/arrow-left-double.svg - generated/traced-24/arrow-left-double.svg - generated/traced-large-24/arrow-left-double.svg - traced/large22/arrow-left-double.svg + qet/traced/16/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + qet/traced/22/arrow-left-double.svg + qet/traced/large22/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + themes/generated/traced-large-24/arrow-left-double.svg + themes/generated/traced-large-24/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + qet/traced/large16/arrow-left-double.svg + themes/generated/traced-24/arrow-left-double.svg + themes/generated/traced-large-24/arrow-left-double.svg + qet/traced/large22/arrow-left-double.svg breeze/16/go-next.svg breeze/22/go-next.svg - generated/breeze-24/go-next.svg + themes/generated/breeze-24/go-next.svg breeze/32/go-next.svg - generated/breeze-24/go-next.svg + themes/generated/breeze-24/go-next.svg breeze/32/go-next.svg breeze/32/go-next.svg breeze/32/go-next.svg breeze/22/go-next.svg breeze/32/go-next.svg - generated/breeze-24/go-next.svg + themes/generated/breeze-24/go-next.svg breeze/32/go-next.svg breeze/32/go-next.svg - traced/16/arrow-right-double.svg - traced/large16/arrow-right-double.svg - traced/22/arrow-right-double.svg - traced/large22/arrow-right-double.svg - traced/large16/arrow-right-double.svg - traced/large16/arrow-right-double.svg - generated/traced-large-24/arrow-right-double.svg - generated/traced-large-24/arrow-right-double.svg - traced/large16/arrow-right-double.svg - traced/large16/arrow-right-double.svg - traced/large16/arrow-right-double.svg - traced/large16/arrow-right-double.svg - generated/traced-24/arrow-right-double.svg - generated/traced-large-24/arrow-right-double.svg - traced/large22/arrow-right-double.svg - traced/16/cable.svg - traced/large16/cable.svg - traced/22/cable.svg - traced/large22/cable.svg - traced/large16/cable.svg - traced/large16/cable.svg - generated/traced-large-24/cable.svg - generated/traced-large-24/cable.svg - traced/large16/cable.svg - traced/large16/cable.svg - traced/large16/cable.svg - traced/large16/cable.svg - generated/traced-24/cable.svg - generated/traced-large-24/cable.svg - traced/large22/cable.svg - breeze/16/draw-circle.svg - breeze/22/draw-circle.svg - generated/breeze-24/draw-circle.svg - breeze/16/draw-circle.svg - generated/breeze-24/draw-circle.svg - breeze/16/draw-circle.svg - breeze/16/draw-circle.svg - breeze/16/draw-circle.svg - breeze/22/draw-circle.svg - breeze/16/draw-circle.svg - generated/breeze-24/draw-circle.svg - breeze/16/draw-circle.svg - breeze/16/draw-circle.svg - traced/16/conductor-edit.svg - traced/large16/conductor-edit.svg - traced/22/conductor-edit.svg - traced/large22/conductor-edit.svg - traced/large16/conductor-edit.svg - traced/large16/conductor-edit.svg - generated/traced-large-24/conductor-edit.svg - generated/traced-large-24/conductor-edit.svg - traced/large16/conductor-edit.svg - traced/large16/conductor-edit.svg - traced/large16/conductor-edit.svg - traced/large16/conductor-edit.svg - generated/traced-24/conductor-edit.svg - generated/traced-large-24/conductor-edit.svg - traced/large22/conductor-edit.svg - traced/16/conductor-reset.svg - traced/large16/conductor-reset.svg - traced/22/conductor-reset.svg - traced/large22/conductor-reset.svg - traced/large16/conductor-reset.svg - traced/large16/conductor-reset.svg - generated/traced-large-24/conductor-reset.svg - generated/traced-large-24/conductor-reset.svg - traced/large16/conductor-reset.svg - traced/large16/conductor-reset.svg - traced/large16/conductor-reset.svg - traced/large16/conductor-reset.svg - generated/traced-24/conductor-reset.svg - generated/traced-large-24/conductor-reset.svg - traced/large22/conductor-reset.svg - traced/16/conductor2.svg - traced/large16/conductor2.svg - traced/22/conductor2.svg - traced/large22/conductor2.svg - traced/large16/conductor2.svg - traced/large16/conductor2.svg - generated/traced-large-24/conductor2.svg - generated/traced-large-24/conductor2.svg - traced/large16/conductor2.svg - traced/large16/conductor2.svg - traced/large16/conductor2.svg - traced/large16/conductor2.svg - generated/traced-24/conductor2.svg - generated/traced-large-24/conductor2.svg - traced/large22/conductor2.svg + qet/traced/16/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + qet/traced/22/arrow-right-double.svg + qet/traced/large22/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + themes/generated/traced-large-24/arrow-right-double.svg + themes/generated/traced-large-24/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + qet/traced/large16/arrow-right-double.svg + themes/generated/traced-24/arrow-right-double.svg + themes/generated/traced-large-24/arrow-right-double.svg + qet/traced/large22/arrow-right-double.svg + qet/traced/16/autoconnect.svg + qet/traced/large16/autoconnect.svg + qet/traced/22/autoconnect.svg + qet/traced/large22/autoconnect.svg + qet/traced/large16/autoconnect.svg + qet/traced/large16/autoconnect.svg + themes/generated/traced-large-24/autoconnect.svg + themes/generated/traced-large-24/autoconnect.svg + qet/traced/large16/autoconnect.svg + qet/traced/large16/autoconnect.svg + qet/traced/large16/autoconnect.svg + qet/traced/large16/autoconnect.svg + themes/generated/traced-24/autoconnect.svg + themes/generated/traced-large-24/autoconnect.svg + qet/traced/large22/autoconnect.svg + qet/traced/16/bring_forward.svg + qet/traced/large16/bring_forward.svg + qet/traced/22/bring_forward.svg + qet/traced/large22/bring_forward.svg + qet/traced/large16/bring_forward.svg + qet/traced/large16/bring_forward.svg + themes/generated/traced-large-24/bring_forward.svg + themes/generated/traced-large-24/bring_forward.svg + qet/traced/large16/bring_forward.svg + qet/traced/large16/bring_forward.svg + qet/traced/large16/bring_forward.svg + qet/traced/large16/bring_forward.svg + themes/generated/traced-24/bring_forward.svg + themes/generated/traced-large-24/bring_forward.svg + qet/traced/large22/bring_forward.svg + qet/traced/16/cable.svg + qet/traced/large16/cable.svg + qet/traced/22/cable.svg + qet/traced/large22/cable.svg + qet/traced/large16/cable.svg + qet/traced/large16/cable.svg + themes/generated/traced-large-24/cable.svg + themes/generated/traced-large-24/cable.svg + qet/traced/large16/cable.svg + qet/traced/large16/cable.svg + qet/traced/large16/cable.svg + qet/traced/large16/cable.svg + themes/generated/traced-24/cable.svg + themes/generated/traced-large-24/cable.svg + qet/traced/large22/cable.svg + qet/traced/16/circle.svg + qet/traced/large16/circle.svg + qet/traced/22/circle.svg + qet/traced/large22/circle.svg + qet/traced/large16/circle.svg + qet/traced/large16/circle.svg + themes/generated/traced-large-24/circle.svg + themes/generated/traced-large-24/circle.svg + qet/traced/large16/circle.svg + qet/traced/large16/circle.svg + qet/traced/large16/circle.svg + qet/traced/large16/circle.svg + themes/generated/traced-24/circle.svg + themes/generated/traced-large-24/circle.svg + qet/traced/large22/circle.svg + qet/traced/16/conductor.svg + qet/traced/large16/conductor.svg + qet/traced/22/conductor.svg + qet/traced/large22/conductor.svg + qet/traced/large16/conductor.svg + qet/traced/large16/conductor.svg + themes/generated/traced-large-24/conductor.svg + themes/generated/traced-large-24/conductor.svg + qet/traced/large16/conductor.svg + qet/traced/large16/conductor.svg + qet/traced/large16/conductor.svg + qet/traced/large16/conductor.svg + themes/generated/traced-24/conductor.svg + themes/generated/traced-large-24/conductor.svg + qet/traced/large22/conductor.svg + qet/traced/16/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + qet/traced/22/conductor-edit.svg + qet/traced/large22/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + themes/generated/traced-large-24/conductor-edit.svg + themes/generated/traced-large-24/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + qet/traced/large16/conductor-edit.svg + themes/generated/traced-24/conductor-edit.svg + themes/generated/traced-large-24/conductor-edit.svg + qet/traced/large22/conductor-edit.svg + qet/traced/16/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + qet/traced/22/conductor-reset.svg + qet/traced/large22/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + themes/generated/traced-large-24/conductor-reset.svg + themes/generated/traced-large-24/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + qet/traced/large16/conductor-reset.svg + themes/generated/traced-24/conductor-reset.svg + themes/generated/traced-large-24/conductor-reset.svg + qet/traced/large22/conductor-reset.svg + qet/traced/16/conductor2.svg + qet/traced/large16/conductor2.svg + qet/traced/22/conductor2.svg + qet/traced/large22/conductor2.svg + qet/traced/large16/conductor2.svg + qet/traced/large16/conductor2.svg + themes/generated/traced-large-24/conductor2.svg + themes/generated/traced-large-24/conductor2.svg + qet/traced/large16/conductor2.svg + qet/traced/large16/conductor2.svg + qet/traced/large16/conductor2.svg + qet/traced/large16/conductor2.svg + themes/generated/traced-24/conductor2.svg + themes/generated/traced-large-24/conductor2.svg + qet/traced/large22/conductor2.svg breeze/16/configure.svg breeze/22/configure.svg - generated/breeze-24/configure.svg + themes/generated/breeze-24/configure.svg breeze/32/configure.svg - generated/breeze-24/configure.svg + themes/generated/breeze-24/configure.svg breeze/32/configure.svg breeze/32/configure.svg breeze/32/configure.svg breeze/22/configure.svg breeze/32/configure.svg - generated/breeze-24/configure.svg + themes/generated/breeze-24/configure.svg breeze/32/configure.svg breeze/32/configure.svg - traced/16/configure-toolbars.svg - traced/large16/configure-toolbars.svg - traced/22/configure-toolbars.svg - traced/large22/configure-toolbars.svg - traced/large16/configure-toolbars.svg - traced/large16/configure-toolbars.svg - generated/traced-large-24/configure-toolbars.svg - generated/traced-large-24/configure-toolbars.svg - traced/large16/configure-toolbars.svg - traced/large16/configure-toolbars.svg - traced/large16/configure-toolbars.svg - traced/large16/configure-toolbars.svg - generated/traced-24/configure-toolbars.svg - generated/traced-large-24/configure-toolbars.svg - traced/large22/configure-toolbars.svg - scalable/16/diagram.svg - generated/scalable-22/diagram.svg - scalable/16/diagram.svg - scalable/diagram.svg - scalable/16/diagram.svg - scalable/16/diagram.svg - scalable/16/diagram.svg - generated/scalable-22/diagram.svg - scalable/16/diagram.svg - scalable/diagram.svg - scalable/16/diagram.svg - scalable/16/diagram.svg - traced/16/diagram_bg.svg - traced/large16/diagram_bg.svg - traced/22/diagram_bg.svg - traced/large22/diagram_bg.svg - traced/large16/diagram_bg.svg - traced/large16/diagram_bg.svg - generated/traced-large-24/diagram_bg.svg - generated/traced-large-24/diagram_bg.svg - traced/large16/diagram_bg.svg - traced/large16/diagram_bg.svg - traced/large16/diagram_bg.svg - traced/large16/diagram_bg.svg - generated/traced-24/diagram_bg.svg - generated/traced-large-24/diagram_bg.svg - traced/large22/diagram_bg.svg + qet/traced/16/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + qet/traced/22/configure-toolbars.svg + qet/traced/large22/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + themes/generated/traced-large-24/configure-toolbars.svg + themes/generated/traced-large-24/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + qet/traced/large16/configure-toolbars.svg + themes/generated/traced-24/configure-toolbars.svg + themes/generated/traced-large-24/configure-toolbars.svg + qet/traced/large22/configure-toolbars.svg + qet/scalable/16/diagram.svg + themes/generated/scalable-22/diagram.svg + qet/scalable/16/diagram.svg + qet/scalable/diagram.svg + qet/scalable/16/diagram.svg + qet/scalable/16/diagram.svg + qet/scalable/16/diagram.svg + themes/generated/scalable-22/diagram.svg + qet/scalable/16/diagram.svg + qet/scalable/diagram.svg + qet/scalable/16/diagram.svg + qet/scalable/16/diagram.svg + qet/traced/16/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + qet/traced/22/diagram_bg.svg + qet/traced/large22/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + themes/generated/traced-large-24/diagram_bg.svg + themes/generated/traced-large-24/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + qet/traced/large16/diagram_bg.svg + themes/generated/traced-24/diagram_bg.svg + themes/generated/traced-large-24/diagram_bg.svg + qet/traced/large22/diagram_bg.svg breeze/16/dialog-cancel.svg breeze/22/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/22/dialog-cancel.svg breeze/32/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/16/dialog-ok-apply.svg breeze/22/dialog-ok-apply.svg - generated/breeze-24/dialog-ok-apply.svg + themes/generated/breeze-24/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg - generated/breeze-24/dialog-ok-apply.svg + themes/generated/breeze-24/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg breeze/22/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg - generated/breeze-24/dialog-ok-apply.svg + themes/generated/breeze-24/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg breeze/32/dialog-ok-apply.svg breeze/16/document-close.svg breeze/22/document-close.svg - generated/breeze-24/document-close.svg + themes/generated/breeze-24/document-close.svg breeze/32/document-close.svg - generated/breeze-24/document-close.svg + themes/generated/breeze-24/document-close.svg breeze/32/document-close.svg breeze/32/document-close.svg breeze/32/document-close.svg breeze/22/document-close.svg breeze/32/document-close.svg - generated/breeze-24/document-close.svg + themes/generated/breeze-24/document-close.svg breeze/32/document-close.svg breeze/32/document-close.svg breeze/16/document-export.svg breeze/22/document-export.svg - generated/breeze-24/document-export.svg + themes/generated/breeze-24/document-export.svg breeze/32/document-export.svg - generated/breeze-24/document-export.svg + themes/generated/breeze-24/document-export.svg breeze/32/document-export.svg breeze/32/document-export.svg breeze/32/document-export.svg breeze/22/document-export.svg breeze/32/document-export.svg - generated/breeze-24/document-export.svg + themes/generated/breeze-24/document-export.svg breeze/32/document-export.svg breeze/32/document-export.svg breeze/16/document-import.svg breeze/22/document-import.svg - generated/breeze-24/document-import.svg + themes/generated/breeze-24/document-import.svg breeze/32/document-import.svg - generated/breeze-24/document-import.svg + themes/generated/breeze-24/document-import.svg breeze/32/document-import.svg breeze/32/document-import.svg breeze/32/document-import.svg breeze/22/document-import.svg breeze/32/document-import.svg - generated/breeze-24/document-import.svg + themes/generated/breeze-24/document-import.svg breeze/32/document-import.svg breeze/32/document-import.svg breeze/16/document-new.svg breeze/22/document-new.svg - generated/breeze-24/document-new.svg + themes/generated/breeze-24/document-new.svg breeze/32/document-new.svg - generated/breeze-24/document-new.svg + themes/generated/breeze-24/document-new.svg breeze/32/document-new.svg breeze/32/document-new.svg breeze/32/document-new.svg breeze/22/document-new.svg breeze/32/document-new.svg - generated/breeze-24/document-new.svg + themes/generated/breeze-24/document-new.svg breeze/32/document-new.svg breeze/32/document-new.svg breeze/16/document-open.svg breeze/22/document-open.svg - generated/breeze-24/document-open.svg + themes/generated/breeze-24/document-open.svg breeze/32/document-open.svg - generated/breeze-24/document-open.svg + themes/generated/breeze-24/document-open.svg breeze/32/document-open.svg breeze/32/document-open.svg breeze/32/document-open.svg breeze/22/document-open.svg breeze/32/document-open.svg - generated/breeze-24/document-open.svg + themes/generated/breeze-24/document-open.svg breeze/32/document-open.svg breeze/32/document-open.svg breeze/16/document-open-recent.svg breeze/22/document-open-recent.svg - generated/breeze-24/document-open-recent.svg + themes/generated/breeze-24/document-open-recent.svg breeze/32/document-open-recent.svg - generated/breeze-24/document-open-recent.svg + themes/generated/breeze-24/document-open-recent.svg breeze/32/document-open-recent.svg breeze/32/document-open-recent.svg breeze/32/document-open-recent.svg breeze/22/document-open-recent.svg breeze/32/document-open-recent.svg - generated/breeze-24/document-open-recent.svg + themes/generated/breeze-24/document-open-recent.svg breeze/32/document-open-recent.svg breeze/32/document-open-recent.svg breeze/16/document-print.svg breeze/22/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/22/document-print.svg breeze/32/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/16/document-print.svg breeze/22/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/22/document-print.svg breeze/32/document-print.svg - generated/breeze-24/document-print.svg + themes/generated/breeze-24/document-print.svg breeze/32/document-print.svg breeze/32/document-print.svg breeze/16/document-save.svg breeze/22/document-save.svg - generated/breeze-24/document-save.svg + themes/generated/breeze-24/document-save.svg breeze/32/document-save.svg - generated/breeze-24/document-save.svg + themes/generated/breeze-24/document-save.svg breeze/32/document-save.svg breeze/32/document-save.svg breeze/32/document-save.svg breeze/22/document-save.svg breeze/32/document-save.svg - generated/breeze-24/document-save.svg + themes/generated/breeze-24/document-save.svg breeze/32/document-save.svg breeze/32/document-save.svg breeze/16/document-save-all.svg breeze/22/document-save-all.svg - generated/breeze-24/document-save-all.svg + themes/generated/breeze-24/document-save-all.svg breeze/32/document-save-all.svg - generated/breeze-24/document-save-all.svg + themes/generated/breeze-24/document-save-all.svg breeze/32/document-save-all.svg breeze/32/document-save-all.svg breeze/32/document-save-all.svg breeze/22/document-save-all.svg breeze/32/document-save-all.svg - generated/breeze-24/document-save-all.svg + themes/generated/breeze-24/document-save-all.svg breeze/32/document-save-all.svg breeze/32/document-save-all.svg breeze/16/document-save-as.svg breeze/22/document-save-as.svg - generated/breeze-24/document-save-as.svg + themes/generated/breeze-24/document-save-as.svg breeze/32/document-save-as.svg - generated/breeze-24/document-save-as.svg + themes/generated/breeze-24/document-save-as.svg breeze/32/document-save-as.svg breeze/32/document-save-as.svg breeze/32/document-save-as.svg breeze/22/document-save-as.svg breeze/32/document-save-as.svg - generated/breeze-24/document-save-as.svg + themes/generated/breeze-24/document-save-as.svg breeze/32/document-save-as.svg breeze/32/document-save-as.svg - traced/16/east.svg - traced/large16/east.svg - traced/22/east.svg - traced/large22/east.svg - traced/large16/east.svg - traced/large16/east.svg - generated/traced-large-24/east.svg - generated/traced-large-24/east.svg - traced/large16/east.svg - traced/large16/east.svg - traced/large16/east.svg - traced/large16/east.svg - generated/traced-24/east.svg - generated/traced-large-24/east.svg - traced/large22/east.svg + breeze/16/draw-bezier-curves.svg + breeze/22/draw-bezier-curves.svg + themes/generated/breeze-24/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + themes/generated/breeze-24/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + breeze/22/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + themes/generated/breeze-24/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + breeze/16/draw-bezier-curves.svg + qet/scalable/16/draw-fillet.svg + themes/generated/scalable-22/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/scalable/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + themes/generated/scalable-22/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/scalable/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/scalable/16/draw-fillet.svg + qet/traced/16/east.svg + qet/traced/large16/east.svg + qet/traced/22/east.svg + qet/traced/large22/east.svg + qet/traced/large16/east.svg + qet/traced/large16/east.svg + themes/generated/traced-large-24/east.svg + themes/generated/traced-large-24/east.svg + qet/traced/large16/east.svg + qet/traced/large16/east.svg + qet/traced/large16/east.svg + qet/traced/large16/east.svg + themes/generated/traced-24/east.svg + themes/generated/traced-large-24/east.svg + qet/traced/large22/east.svg breeze/16/edit-clear.svg breeze/22/edit-clear.svg - generated/breeze-24/edit-clear.svg + themes/generated/breeze-24/edit-clear.svg breeze/16/edit-clear.svg - generated/breeze-24/edit-clear.svg + themes/generated/breeze-24/edit-clear.svg breeze/16/edit-clear.svg breeze/16/edit-clear.svg breeze/16/edit-clear.svg breeze/22/edit-clear.svg breeze/16/edit-clear.svg - generated/breeze-24/edit-clear.svg + themes/generated/breeze-24/edit-clear.svg breeze/16/edit-clear.svg breeze/16/edit-clear.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/22/edit-clear-locationbar-ltr.svg - generated/breeze-24/edit-clear-locationbar-ltr.svg + themes/generated/breeze-24/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg - generated/breeze-24/edit-clear-locationbar-ltr.svg + themes/generated/breeze-24/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/22/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg - generated/breeze-24/edit-clear-locationbar-ltr.svg + themes/generated/breeze-24/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/16/edit-clear-locationbar-ltr.svg breeze/16/edit-copy.svg breeze/22/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/22/edit-copy.svg breeze/16/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-cut.svg breeze/22/edit-cut.svg - generated/breeze-24/edit-cut.svg + themes/generated/breeze-24/edit-cut.svg breeze/16/edit-cut.svg - generated/breeze-24/edit-cut.svg + themes/generated/breeze-24/edit-cut.svg breeze/16/edit-cut.svg breeze/16/edit-cut.svg breeze/16/edit-cut.svg breeze/22/edit-cut.svg breeze/16/edit-cut.svg - generated/breeze-24/edit-cut.svg + themes/generated/breeze-24/edit-cut.svg breeze/16/edit-cut.svg breeze/16/edit-cut.svg breeze/16/edit-delete.svg breeze/22/edit-delete.svg - generated/breeze-24/edit-delete.svg + themes/generated/breeze-24/edit-delete.svg breeze/32/edit-delete.svg - generated/breeze-24/edit-delete.svg + themes/generated/breeze-24/edit-delete.svg breeze/32/edit-delete.svg breeze/32/edit-delete.svg breeze/32/edit-delete.svg breeze/22/edit-delete.svg breeze/32/edit-delete.svg - generated/breeze-24/edit-delete.svg + themes/generated/breeze-24/edit-delete.svg breeze/32/edit-delete.svg breeze/32/edit-delete.svg breeze/16/edit-download.svg breeze/22/edit-download.svg - generated/breeze-24/edit-download.svg + themes/generated/breeze-24/edit-download.svg breeze/16/edit-download.svg - generated/breeze-24/edit-download.svg + themes/generated/breeze-24/edit-download.svg breeze/16/edit-download.svg breeze/16/edit-download.svg breeze/16/edit-download.svg breeze/22/edit-download.svg breeze/16/edit-download.svg - generated/breeze-24/edit-download.svg + themes/generated/breeze-24/edit-download.svg breeze/16/edit-download.svg breeze/16/edit-download.svg + breeze/16/edit-opacity.svg + breeze/22/edit-opacity.svg + themes/generated/breeze-24/edit-opacity.svg + breeze/16/edit-opacity.svg + themes/generated/breeze-24/edit-opacity.svg + breeze/16/edit-opacity.svg + breeze/16/edit-opacity.svg + breeze/16/edit-opacity.svg + breeze/22/edit-opacity.svg + breeze/16/edit-opacity.svg + themes/generated/breeze-24/edit-opacity.svg + breeze/16/edit-opacity.svg + breeze/16/edit-opacity.svg breeze/16/edit-paste.svg breeze/22/edit-paste.svg - generated/breeze-24/edit-paste.svg + themes/generated/breeze-24/edit-paste.svg breeze/16/edit-paste.svg - generated/breeze-24/edit-paste.svg + themes/generated/breeze-24/edit-paste.svg breeze/16/edit-paste.svg breeze/16/edit-paste.svg breeze/16/edit-paste.svg breeze/22/edit-paste.svg breeze/16/edit-paste.svg - generated/breeze-24/edit-paste.svg + themes/generated/breeze-24/edit-paste.svg breeze/16/edit-paste.svg breeze/16/edit-paste.svg breeze/16/edit-redo.svg breeze/22/edit-redo.svg - generated/breeze-24/edit-redo.svg + themes/generated/breeze-24/edit-redo.svg breeze/32/edit-redo.svg - generated/breeze-24/edit-redo.svg + themes/generated/breeze-24/edit-redo.svg breeze/32/edit-redo.svg breeze/32/edit-redo.svg breeze/32/edit-redo.svg breeze/22/edit-redo.svg breeze/32/edit-redo.svg - generated/breeze-24/edit-redo.svg + themes/generated/breeze-24/edit-redo.svg breeze/32/edit-redo.svg breeze/32/edit-redo.svg breeze/16/document-edit.svg breeze/22/document-edit.svg - generated/breeze-24/document-edit.svg + themes/generated/breeze-24/document-edit.svg breeze/32/document-edit.svg - generated/breeze-24/document-edit.svg + themes/generated/breeze-24/document-edit.svg breeze/32/document-edit.svg breeze/32/document-edit.svg breeze/32/document-edit.svg breeze/22/document-edit.svg breeze/32/document-edit.svg - generated/breeze-24/document-edit.svg + themes/generated/breeze-24/document-edit.svg breeze/32/document-edit.svg breeze/32/document-edit.svg breeze/16/edit-select-all.svg breeze/22/edit-select-all.svg - generated/breeze-24/edit-select-all.svg + themes/generated/breeze-24/edit-select-all.svg breeze/16/edit-select-all.svg - generated/breeze-24/edit-select-all.svg + themes/generated/breeze-24/edit-select-all.svg breeze/16/edit-select-all.svg breeze/16/edit-select-all.svg breeze/16/edit-select-all.svg breeze/22/edit-select-all.svg breeze/16/edit-select-all.svg - generated/breeze-24/edit-select-all.svg + themes/generated/breeze-24/edit-select-all.svg breeze/16/edit-select-all.svg breeze/16/edit-select-all.svg breeze/16/edit-select-invert.svg breeze/22/edit-select-invert.svg - generated/breeze-24/edit-select-invert.svg + themes/generated/breeze-24/edit-select-invert.svg breeze/16/edit-select-invert.svg - generated/breeze-24/edit-select-invert.svg + themes/generated/breeze-24/edit-select-invert.svg breeze/16/edit-select-invert.svg breeze/16/edit-select-invert.svg breeze/16/edit-select-invert.svg breeze/22/edit-select-invert.svg breeze/16/edit-select-invert.svg - generated/breeze-24/edit-select-invert.svg + themes/generated/breeze-24/edit-select-invert.svg breeze/16/edit-select-invert.svg breeze/16/edit-select-invert.svg breeze/16/edit-select-none.svg breeze/22/edit-select-none.svg - generated/breeze-24/edit-select-none.svg + themes/generated/breeze-24/edit-select-none.svg breeze/16/edit-select-none.svg - generated/breeze-24/edit-select-none.svg + themes/generated/breeze-24/edit-select-none.svg breeze/16/edit-select-none.svg breeze/16/edit-select-none.svg breeze/16/edit-select-none.svg breeze/22/edit-select-none.svg breeze/16/edit-select-none.svg - generated/breeze-24/edit-select-none.svg + themes/generated/breeze-24/edit-select-none.svg breeze/16/edit-select-none.svg breeze/16/edit-select-none.svg breeze/16/edit-table-cell-merge.svg breeze/22/edit-table-cell-merge.svg - generated/breeze-24/edit-table-cell-merge.svg + themes/generated/breeze-24/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg - generated/breeze-24/edit-table-cell-merge.svg + themes/generated/breeze-24/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg breeze/22/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg - generated/breeze-24/edit-table-cell-merge.svg + themes/generated/breeze-24/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg breeze/16/edit-table-cell-merge.svg breeze/16/edit-table-cell-split.svg breeze/22/edit-table-cell-split.svg - generated/breeze-24/edit-table-cell-split.svg + themes/generated/breeze-24/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg - generated/breeze-24/edit-table-cell-split.svg + themes/generated/breeze-24/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg breeze/22/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg - generated/breeze-24/edit-table-cell-split.svg + themes/generated/breeze-24/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg breeze/16/edit-table-cell-split.svg breeze/16/edit-table-delete-column.svg breeze/22/edit-table-delete-column.svg - generated/breeze-24/edit-table-delete-column.svg + themes/generated/breeze-24/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg - generated/breeze-24/edit-table-delete-column.svg + themes/generated/breeze-24/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg breeze/22/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg - generated/breeze-24/edit-table-delete-column.svg + themes/generated/breeze-24/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg breeze/16/edit-table-delete-column.svg breeze/16/edit-table-delete-row.svg breeze/22/edit-table-delete-row.svg - generated/breeze-24/edit-table-delete-row.svg + themes/generated/breeze-24/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg - generated/breeze-24/edit-table-delete-row.svg + themes/generated/breeze-24/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg breeze/22/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg - generated/breeze-24/edit-table-delete-row.svg + themes/generated/breeze-24/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg breeze/16/edit-table-delete-row.svg breeze/16/edit-table-insert-column-left.svg breeze/22/edit-table-insert-column-left.svg - generated/breeze-24/edit-table-insert-column-left.svg + themes/generated/breeze-24/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg - generated/breeze-24/edit-table-insert-column-left.svg + themes/generated/breeze-24/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg breeze/22/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg - generated/breeze-24/edit-table-insert-column-left.svg + themes/generated/breeze-24/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-left.svg breeze/16/edit-table-insert-column-right.svg breeze/22/edit-table-insert-column-right.svg - generated/breeze-24/edit-table-insert-column-right.svg + themes/generated/breeze-24/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg - generated/breeze-24/edit-table-insert-column-right.svg + themes/generated/breeze-24/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg breeze/22/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg - generated/breeze-24/edit-table-insert-column-right.svg + themes/generated/breeze-24/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg breeze/16/edit-table-insert-column-right.svg breeze/16/edit-table-insert-row-above.svg breeze/22/edit-table-insert-row-above.svg - generated/breeze-24/edit-table-insert-row-above.svg + themes/generated/breeze-24/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg - generated/breeze-24/edit-table-insert-row-above.svg + themes/generated/breeze-24/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg breeze/22/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg - generated/breeze-24/edit-table-insert-row-above.svg + themes/generated/breeze-24/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-above.svg breeze/16/edit-table-insert-row-under.svg breeze/22/edit-table-insert-row-under.svg - generated/breeze-24/edit-table-insert-row-under.svg + themes/generated/breeze-24/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg - generated/breeze-24/edit-table-insert-row-under.svg + themes/generated/breeze-24/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg breeze/22/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg - generated/breeze-24/edit-table-insert-row-under.svg + themes/generated/breeze-24/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg breeze/16/edit-table-insert-row-under.svg breeze/16/edit-undo.svg breeze/22/edit-undo.svg - generated/breeze-24/edit-undo.svg + themes/generated/breeze-24/edit-undo.svg breeze/32/edit-undo.svg - generated/breeze-24/edit-undo.svg + themes/generated/breeze-24/edit-undo.svg breeze/32/edit-undo.svg breeze/32/edit-undo.svg breeze/32/edit-undo.svg breeze/22/edit-undo.svg breeze/32/edit-undo.svg - generated/breeze-24/edit-undo.svg + themes/generated/breeze-24/edit-undo.svg breeze/32/edit-undo.svg breeze/32/edit-undo.svg - traced/16/element-delete.svg - traced/large16/element-delete.svg - traced/22/element-delete.svg - traced/large22/element-delete.svg - traced/large16/element-delete.svg - traced/large16/element-delete.svg - generated/traced-large-24/element-delete.svg - generated/traced-large-24/element-delete.svg - traced/large16/element-delete.svg - traced/large16/element-delete.svg - traced/large16/element-delete.svg - traced/large16/element-delete.svg - generated/traced-24/element-delete.svg - generated/traced-large-24/element-delete.svg - traced/large22/element-delete.svg - traced/16/element-edit.svg - traced/large16/element-edit.svg - traced/22/element-edit.svg - traced/large22/element-edit.svg - traced/large16/element-edit.svg - traced/large16/element-edit.svg - generated/traced-large-24/element-edit.svg - generated/traced-large-24/element-edit.svg - traced/large16/element-edit.svg - traced/large16/element-edit.svg - traced/large16/element-edit.svg - traced/large16/element-edit.svg - generated/traced-24/element-edit.svg - generated/traced-large-24/element-edit.svg - traced/large22/element-edit.svg - traced/16/element-master.svg - traced/large16/element-master.svg - traced/22/element-master.svg - traced/large22/element-master.svg - traced/large16/element-master.svg - traced/large16/element-master.svg - generated/traced-large-24/element-master.svg - generated/traced-large-24/element-master.svg - traced/large16/element-master.svg - traced/large16/element-master.svg - traced/large16/element-master.svg - traced/large16/element-master.svg - generated/traced-24/element-master.svg - generated/traced-large-24/element-master.svg - traced/large22/element-master.svg - traced/16/element-new.svg - traced/large16/element-new.svg - traced/22/element-new.svg - traced/large22/element-new.svg - traced/large16/element-new.svg - traced/large16/element-new.svg - generated/traced-large-24/element-new.svg - generated/traced-large-24/element-new.svg - traced/large16/element-new.svg - traced/large16/element-new.svg - traced/large16/element-new.svg - traced/large16/element-new.svg - generated/traced-24/element-new.svg - generated/traced-large-24/element-new.svg - traced/large22/element-new.svg - traced/16/element-slave.svg - traced/large16/element-slave.svg - traced/22/element-slave.svg - traced/large22/element-slave.svg - traced/large16/element-slave.svg - traced/large16/element-slave.svg - generated/traced-large-24/element-slave.svg - generated/traced-large-24/element-slave.svg - traced/large16/element-slave.svg - traced/large16/element-slave.svg - traced/large16/element-slave.svg - traced/large16/element-slave.svg - generated/traced-24/element-slave.svg - generated/traced-large-24/element-slave.svg - traced/large22/element-slave.svg - breeze/16/draw-ellipse.svg - breeze/22/draw-ellipse.svg - generated/breeze-24/draw-ellipse.svg - breeze/16/draw-ellipse.svg - generated/breeze-24/draw-ellipse.svg - breeze/16/draw-ellipse.svg - breeze/16/draw-ellipse.svg - breeze/16/draw-ellipse.svg - breeze/22/draw-ellipse.svg - breeze/16/draw-ellipse.svg - generated/breeze-24/draw-ellipse.svg - breeze/16/draw-ellipse.svg - breeze/16/draw-ellipse.svg - traced/16/endline-circle.svg - traced/large16/endline-circle.svg - traced/22/endline-circle.svg - traced/large22/endline-circle.svg - traced/large16/endline-circle.svg - traced/large16/endline-circle.svg - generated/traced-large-24/endline-circle.svg - generated/traced-large-24/endline-circle.svg - traced/large16/endline-circle.svg - traced/large16/endline-circle.svg - traced/large16/endline-circle.svg - traced/large16/endline-circle.svg - generated/traced-24/endline-circle.svg - generated/traced-large-24/endline-circle.svg - traced/large22/endline-circle.svg - traced/16/endline-diamond.svg - traced/large16/endline-diamond.svg - traced/22/endline-diamond.svg - traced/large22/endline-diamond.svg - traced/large16/endline-diamond.svg - traced/large16/endline-diamond.svg - generated/traced-large-24/endline-diamond.svg - generated/traced-large-24/endline-diamond.svg - traced/large16/endline-diamond.svg - traced/large16/endline-diamond.svg - traced/large16/endline-diamond.svg - traced/large16/endline-diamond.svg - generated/traced-24/endline-diamond.svg - generated/traced-large-24/endline-diamond.svg - traced/large22/endline-diamond.svg - traced/16/endline-none.svg - traced/large16/endline-none.svg - traced/22/endline-none.svg - traced/large22/endline-none.svg - traced/large16/endline-none.svg - traced/large16/endline-none.svg - generated/traced-large-24/endline-none.svg - generated/traced-large-24/endline-none.svg - traced/large16/endline-none.svg - traced/large16/endline-none.svg - traced/large16/endline-none.svg - traced/large16/endline-none.svg - generated/traced-24/endline-none.svg - generated/traced-large-24/endline-none.svg - traced/large22/endline-none.svg - traced/16/endline-simple.svg - traced/large16/endline-simple.svg - traced/22/endline-simple.svg - traced/large22/endline-simple.svg - traced/large16/endline-simple.svg - traced/large16/endline-simple.svg - generated/traced-large-24/endline-simple.svg - generated/traced-large-24/endline-simple.svg - traced/large16/endline-simple.svg - traced/large16/endline-simple.svg - traced/large16/endline-simple.svg - traced/large16/endline-simple.svg - generated/traced-24/endline-simple.svg - generated/traced-large-24/endline-simple.svg - traced/large22/endline-simple.svg - traced/16/endline-triangle.svg - traced/large16/endline-triangle.svg - traced/22/endline-triangle.svg - traced/large22/endline-triangle.svg - traced/large16/endline-triangle.svg - traced/large16/endline-triangle.svg - generated/traced-large-24/endline-triangle.svg - generated/traced-large-24/endline-triangle.svg - traced/large16/endline-triangle.svg - traced/large16/endline-triangle.svg - traced/large16/endline-triangle.svg - traced/large16/endline-triangle.svg - generated/traced-24/endline-triangle.svg - generated/traced-large-24/endline-triangle.svg - traced/large22/endline-triangle.svg - traced/16/export-csv.svg - traced/large16/export-csv.svg - traced/22/export-csv.svg - traced/large22/export-csv.svg - traced/large16/export-csv.svg - traced/large16/export-csv.svg - generated/traced-large-24/export-csv.svg - generated/traced-large-24/export-csv.svg - traced/large16/export-csv.svg - traced/large16/export-csv.svg - traced/large16/export-csv.svg - traced/large16/export-csv.svg - generated/traced-24/export-csv.svg - generated/traced-large-24/export-csv.svg - traced/large22/export-csv.svg + qet/traced/16/element.svg + qet/traced/large16/element.svg + qet/traced/22/element.svg + qet/traced/large22/element.svg + qet/traced/large16/element.svg + qet/traced/large16/element.svg + themes/generated/traced-large-24/element.svg + themes/generated/traced-large-24/element.svg + qet/traced/large16/element.svg + qet/traced/large16/element.svg + qet/traced/large16/element.svg + qet/traced/large16/element.svg + themes/generated/traced-24/element.svg + themes/generated/traced-large-24/element.svg + qet/traced/large22/element.svg + qet/traced/16/element-delete.svg + qet/traced/large16/element-delete.svg + qet/traced/22/element-delete.svg + qet/traced/large22/element-delete.svg + qet/traced/large16/element-delete.svg + qet/traced/large16/element-delete.svg + themes/generated/traced-large-24/element-delete.svg + themes/generated/traced-large-24/element-delete.svg + qet/traced/large16/element-delete.svg + qet/traced/large16/element-delete.svg + qet/traced/large16/element-delete.svg + qet/traced/large16/element-delete.svg + themes/generated/traced-24/element-delete.svg + themes/generated/traced-large-24/element-delete.svg + qet/traced/large22/element-delete.svg + qet/traced/16/element-edit.svg + qet/traced/large16/element-edit.svg + qet/traced/22/element-edit.svg + qet/traced/large22/element-edit.svg + qet/traced/large16/element-edit.svg + qet/traced/large16/element-edit.svg + themes/generated/traced-large-24/element-edit.svg + themes/generated/traced-large-24/element-edit.svg + qet/traced/large16/element-edit.svg + qet/traced/large16/element-edit.svg + qet/traced/large16/element-edit.svg + qet/traced/large16/element-edit.svg + themes/generated/traced-24/element-edit.svg + themes/generated/traced-large-24/element-edit.svg + qet/traced/large22/element-edit.svg + qet/traced/16/element-master.svg + qet/traced/large16/element-master.svg + qet/traced/22/element-master.svg + qet/traced/large22/element-master.svg + qet/traced/large16/element-master.svg + qet/traced/large16/element-master.svg + themes/generated/traced-large-24/element-master.svg + themes/generated/traced-large-24/element-master.svg + qet/traced/large16/element-master.svg + qet/traced/large16/element-master.svg + qet/traced/large16/element-master.svg + qet/traced/large16/element-master.svg + themes/generated/traced-24/element-master.svg + themes/generated/traced-large-24/element-master.svg + qet/traced/large22/element-master.svg + qet/traced/16/element-new.svg + qet/traced/large16/element-new.svg + qet/traced/22/element-new.svg + qet/traced/large22/element-new.svg + qet/traced/large16/element-new.svg + qet/traced/large16/element-new.svg + themes/generated/traced-large-24/element-new.svg + themes/generated/traced-large-24/element-new.svg + qet/traced/large16/element-new.svg + qet/traced/large16/element-new.svg + qet/traced/large16/element-new.svg + qet/traced/large16/element-new.svg + themes/generated/traced-24/element-new.svg + themes/generated/traced-large-24/element-new.svg + qet/traced/large22/element-new.svg + qet/traced/16/element-slave.svg + qet/traced/large16/element-slave.svg + qet/traced/22/element-slave.svg + qet/traced/large22/element-slave.svg + qet/traced/large16/element-slave.svg + qet/traced/large16/element-slave.svg + themes/generated/traced-large-24/element-slave.svg + themes/generated/traced-large-24/element-slave.svg + qet/traced/large16/element-slave.svg + qet/traced/large16/element-slave.svg + qet/traced/large16/element-slave.svg + qet/traced/large16/element-slave.svg + themes/generated/traced-24/element-slave.svg + themes/generated/traced-large-24/element-slave.svg + qet/traced/large22/element-slave.svg + qet/traced/16/ellipse.svg + qet/traced/large16/ellipse.svg + qet/traced/22/ellipse.svg + qet/traced/large22/ellipse.svg + qet/traced/large16/ellipse.svg + qet/traced/large16/ellipse.svg + themes/generated/traced-large-24/ellipse.svg + themes/generated/traced-large-24/ellipse.svg + qet/traced/large16/ellipse.svg + qet/traced/large16/ellipse.svg + qet/traced/large16/ellipse.svg + qet/traced/large16/ellipse.svg + themes/generated/traced-24/ellipse.svg + themes/generated/traced-large-24/ellipse.svg + qet/traced/large22/ellipse.svg + qet/traced/16/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + qet/traced/22/ellipse-to-bezier.svg + qet/traced/large22/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + themes/generated/traced-large-24/ellipse-to-bezier.svg + themes/generated/traced-large-24/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + qet/traced/large16/ellipse-to-bezier.svg + themes/generated/traced-24/ellipse-to-bezier.svg + themes/generated/traced-large-24/ellipse-to-bezier.svg + qet/traced/large22/ellipse-to-bezier.svg + qet/traced/16/endline-circle.svg + qet/traced/large16/endline-circle.svg + qet/traced/22/endline-circle.svg + qet/traced/large22/endline-circle.svg + qet/traced/large16/endline-circle.svg + qet/traced/large16/endline-circle.svg + themes/generated/traced-large-24/endline-circle.svg + themes/generated/traced-large-24/endline-circle.svg + qet/traced/large16/endline-circle.svg + qet/traced/large16/endline-circle.svg + qet/traced/large16/endline-circle.svg + qet/traced/large16/endline-circle.svg + themes/generated/traced-24/endline-circle.svg + themes/generated/traced-large-24/endline-circle.svg + qet/traced/large22/endline-circle.svg + qet/traced/16/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + qet/traced/22/endline-diamond.svg + qet/traced/large22/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + themes/generated/traced-large-24/endline-diamond.svg + themes/generated/traced-large-24/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + qet/traced/large16/endline-diamond.svg + themes/generated/traced-24/endline-diamond.svg + themes/generated/traced-large-24/endline-diamond.svg + qet/traced/large22/endline-diamond.svg + qet/traced/16/endline-none.svg + qet/traced/large16/endline-none.svg + qet/traced/22/endline-none.svg + qet/traced/large22/endline-none.svg + qet/traced/large16/endline-none.svg + qet/traced/large16/endline-none.svg + themes/generated/traced-large-24/endline-none.svg + themes/generated/traced-large-24/endline-none.svg + qet/traced/large16/endline-none.svg + qet/traced/large16/endline-none.svg + qet/traced/large16/endline-none.svg + qet/traced/large16/endline-none.svg + themes/generated/traced-24/endline-none.svg + themes/generated/traced-large-24/endline-none.svg + qet/traced/large22/endline-none.svg + qet/traced/16/endline-simple.svg + qet/traced/large16/endline-simple.svg + qet/traced/22/endline-simple.svg + qet/traced/large22/endline-simple.svg + qet/traced/large16/endline-simple.svg + qet/traced/large16/endline-simple.svg + themes/generated/traced-large-24/endline-simple.svg + themes/generated/traced-large-24/endline-simple.svg + qet/traced/large16/endline-simple.svg + qet/traced/large16/endline-simple.svg + qet/traced/large16/endline-simple.svg + qet/traced/large16/endline-simple.svg + themes/generated/traced-24/endline-simple.svg + themes/generated/traced-large-24/endline-simple.svg + qet/traced/large22/endline-simple.svg + qet/traced/16/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + qet/traced/22/endline-triangle.svg + qet/traced/large22/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + themes/generated/traced-large-24/endline-triangle.svg + themes/generated/traced-large-24/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + qet/traced/large16/endline-triangle.svg + themes/generated/traced-24/endline-triangle.svg + themes/generated/traced-large-24/endline-triangle.svg + qet/traced/large22/endline-triangle.svg + qet/traced/16/export-csv.svg + qet/traced/large16/export-csv.svg + qet/traced/22/export-csv.svg + qet/traced/large22/export-csv.svg + qet/traced/large16/export-csv.svg + qet/traced/large16/export-csv.svg + themes/generated/traced-large-24/export-csv.svg + themes/generated/traced-large-24/export-csv.svg + qet/traced/large16/export-csv.svg + qet/traced/large16/export-csv.svg + qet/traced/large16/export-csv.svg + qet/traced/large16/export-csv.svg + themes/generated/traced-24/export-csv.svg + themes/generated/traced-large-24/export-csv.svg + qet/traced/large22/export-csv.svg breeze/16/object-flip-vertical.svg breeze/22/object-flip-vertical.svg - generated/breeze-24/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg breeze/16/object-flip-vertical.svg - generated/breeze-24/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg breeze/16/object-flip-vertical.svg breeze/16/object-flip-vertical.svg breeze/16/object-flip-vertical.svg breeze/22/object-flip-vertical.svg breeze/16/object-flip-vertical.svg - generated/breeze-24/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg breeze/16/object-flip-vertical.svg breeze/16/object-flip-vertical.svg breeze/16/folder.svg breeze/22/folder.svg - generated/breeze-24/folder.svg + themes/generated/breeze-24/folder.svg breeze/16/folder.svg - generated/breeze-24/folder.svg + themes/generated/breeze-24/folder.svg breeze/16/folder.svg breeze/16/folder.svg breeze/16/folder.svg breeze/22/folder.svg breeze/16/folder.svg - generated/breeze-24/folder.svg + themes/generated/breeze-24/folder.svg breeze/16/folder.svg breeze/16/folder.svg - traced/16/folder-delete.svg - traced/large16/folder-delete.svg - traced/22/folder-delete.svg - traced/large22/folder-delete.svg - traced/large16/folder-delete.svg - traced/large16/folder-delete.svg - generated/traced-large-24/folder-delete.svg - generated/traced-large-24/folder-delete.svg - traced/large16/folder-delete.svg - traced/large16/folder-delete.svg - traced/large16/folder-delete.svg - traced/large16/folder-delete.svg - generated/traced-24/folder-delete.svg - generated/traced-large-24/folder-delete.svg - traced/large22/folder-delete.svg - traced/16/folder-edit.svg - traced/large16/folder-edit.svg - traced/22/folder-edit.svg - traced/large22/folder-edit.svg - traced/large16/folder-edit.svg - traced/large16/folder-edit.svg - generated/traced-large-24/folder-edit.svg - generated/traced-large-24/folder-edit.svg - traced/large16/folder-edit.svg - traced/large16/folder-edit.svg - traced/large16/folder-edit.svg - traced/large16/folder-edit.svg - generated/traced-24/folder-edit.svg - generated/traced-large-24/folder-edit.svg - traced/large22/folder-edit.svg + qet/traced/16/folder-delete.svg + qet/traced/large16/folder-delete.svg + qet/traced/22/folder-delete.svg + qet/traced/large22/folder-delete.svg + qet/traced/large16/folder-delete.svg + qet/traced/large16/folder-delete.svg + themes/generated/traced-large-24/folder-delete.svg + themes/generated/traced-large-24/folder-delete.svg + qet/traced/large16/folder-delete.svg + qet/traced/large16/folder-delete.svg + qet/traced/large16/folder-delete.svg + qet/traced/large16/folder-delete.svg + themes/generated/traced-24/folder-delete.svg + themes/generated/traced-large-24/folder-delete.svg + qet/traced/large22/folder-delete.svg + qet/traced/16/folder-edit.svg + qet/traced/large16/folder-edit.svg + qet/traced/22/folder-edit.svg + qet/traced/large22/folder-edit.svg + qet/traced/large16/folder-edit.svg + qet/traced/large16/folder-edit.svg + themes/generated/traced-large-24/folder-edit.svg + themes/generated/traced-large-24/folder-edit.svg + qet/traced/large16/folder-edit.svg + qet/traced/large16/folder-edit.svg + qet/traced/large16/folder-edit.svg + qet/traced/large16/folder-edit.svg + themes/generated/traced-24/folder-edit.svg + themes/generated/traced-large-24/folder-edit.svg + qet/traced/large22/folder-edit.svg breeze/16/folder-new.svg breeze/22/folder-new.svg - generated/breeze-24/folder-new.svg + themes/generated/breeze-24/folder-new.svg breeze/32/folder-new.svg - generated/breeze-24/folder-new.svg + themes/generated/breeze-24/folder-new.svg breeze/32/folder-new.svg breeze/32/folder-new.svg breeze/32/folder-new.svg breeze/22/folder-new.svg breeze/32/folder-new.svg - generated/breeze-24/folder-new.svg + themes/generated/breeze-24/folder-new.svg breeze/32/folder-new.svg breeze/32/folder-new.svg - traced/16/folder-only-this.svg - traced/large16/folder-only-this.svg - traced/22/folder-only-this.svg - traced/large22/folder-only-this.svg - traced/large16/folder-only-this.svg - traced/large16/folder-only-this.svg - generated/traced-large-24/folder-only-this.svg - generated/traced-large-24/folder-only-this.svg - traced/large16/folder-only-this.svg - traced/large16/folder-only-this.svg - traced/large16/folder-only-this.svg - traced/large16/folder-only-this.svg - generated/traced-24/folder-only-this.svg - generated/traced-large-24/folder-only-this.svg - traced/large22/folder-only-this.svg + qet/traced/16/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + qet/traced/22/folder-only-this.svg + qet/traced/large22/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + themes/generated/traced-large-24/folder-only-this.svg + themes/generated/traced-large-24/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + qet/traced/large16/folder-only-this.svg + themes/generated/traced-24/folder-only-this.svg + themes/generated/traced-large-24/folder-only-this.svg + qet/traced/large22/folder-only-this.svg breeze/16/folder-open.svg breeze/22/folder-open.svg - generated/breeze-24/folder-open.svg + themes/generated/breeze-24/folder-open.svg breeze/16/folder-open.svg - generated/breeze-24/folder-open.svg + themes/generated/breeze-24/folder-open.svg breeze/16/folder-open.svg breeze/16/folder-open.svg breeze/16/folder-open.svg breeze/22/folder-open.svg breeze/16/folder-open.svg - generated/breeze-24/folder-open.svg + themes/generated/breeze-24/folder-open.svg breeze/16/folder-open.svg breeze/16/folder-open.svg breeze/16/document-properties.svg breeze/22/document-properties.svg - generated/breeze-24/document-properties.svg + themes/generated/breeze-24/document-properties.svg breeze/32/document-properties.svg - generated/breeze-24/document-properties.svg + themes/generated/breeze-24/document-properties.svg breeze/32/document-properties.svg breeze/32/document-properties.svg breeze/32/document-properties.svg breeze/22/document-properties.svg breeze/32/document-properties.svg - generated/breeze-24/document-properties.svg + themes/generated/breeze-24/document-properties.svg breeze/32/document-properties.svg breeze/32/document-properties.svg - traced/16/folder-show-all.svg - traced/large16/folder-show-all.svg - traced/22/folder-show-all.svg - traced/large22/folder-show-all.svg - traced/large16/folder-show-all.svg - traced/large16/folder-show-all.svg - generated/traced-large-24/folder-show-all.svg - generated/traced-large-24/folder-show-all.svg - traced/large16/folder-show-all.svg - traced/large16/folder-show-all.svg - traced/large16/folder-show-all.svg - traced/large16/folder-show-all.svg - generated/traced-24/folder-show-all.svg - generated/traced-large-24/folder-show-all.svg - traced/large22/folder-show-all.svg - scalable/16/folio-delete.svg - generated/scalable-22/folio-delete.svg - scalable/16/folio-delete.svg - scalable/folio-delete.svg - scalable/16/folio-delete.svg - scalable/16/folio-delete.svg - scalable/16/folio-delete.svg - generated/scalable-22/folio-delete.svg - scalable/16/folio-delete.svg - scalable/folio-delete.svg - scalable/16/folio-delete.svg - scalable/16/folio-delete.svg - scalable/16/folio-new.svg - generated/scalable-22/folio-new.svg - scalable/16/folio-new.svg - scalable/folio-new.svg - scalable/16/folio-new.svg - scalable/16/folio-new.svg - scalable/16/folio-new.svg - generated/scalable-22/folio-new.svg - scalable/16/folio-new.svg - scalable/folio-new.svg - scalable/16/folio-new.svg - scalable/16/folio-new.svg - scalable/16/folio-properties.svg - generated/scalable-22/folio-properties.svg - scalable/16/folio-properties.svg - scalable/folio-properties.svg - scalable/16/folio-properties.svg - scalable/16/folio-properties.svg - scalable/16/folio-properties.svg - generated/scalable-22/folio-properties.svg - scalable/16/folio-properties.svg - scalable/folio-properties.svg - scalable/16/folio-properties.svg - scalable/16/folio-properties.svg - traced/16/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - traced/22/folio-ref-coming.svg - traced/large22/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - generated/traced-large-24/folio-ref-coming.svg - generated/traced-large-24/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - traced/large16/folio-ref-coming.svg - generated/traced-24/folio-ref-coming.svg - generated/traced-large-24/folio-ref-coming.svg - traced/large22/folio-ref-coming.svg + qet/traced/16/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + qet/traced/22/folder-show-all.svg + qet/traced/large22/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + themes/generated/traced-large-24/folder-show-all.svg + themes/generated/traced-large-24/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + qet/traced/large16/folder-show-all.svg + themes/generated/traced-24/folder-show-all.svg + themes/generated/traced-large-24/folder-show-all.svg + qet/traced/large22/folder-show-all.svg + qet/scalable/16/folio-delete.svg + themes/generated/scalable-22/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/16/folio-delete.svg + themes/generated/scalable-22/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/16/folio-delete.svg + qet/scalable/16/folio-new.svg + themes/generated/scalable-22/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/16/folio-new.svg + themes/generated/scalable-22/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/16/folio-new.svg + qet/scalable/16/folio-properties.svg + themes/generated/scalable-22/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/scalable/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/scalable/16/folio-properties.svg + themes/generated/scalable-22/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/scalable/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/scalable/16/folio-properties.svg + qet/traced/16/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + qet/traced/22/folio-ref-coming.svg + qet/traced/large22/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + themes/generated/traced-large-24/folio-ref-coming.svg + themes/generated/traced-large-24/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + qet/traced/large16/folio-ref-coming.svg + themes/generated/traced-24/folio-ref-coming.svg + themes/generated/traced-large-24/folio-ref-coming.svg + qet/traced/large22/folio-ref-coming.svg breeze/16/format-text-bold.svg breeze/22/format-text-bold.svg - generated/breeze-24/format-text-bold.svg + themes/generated/breeze-24/format-text-bold.svg breeze/16/format-text-bold.svg - generated/breeze-24/format-text-bold.svg + themes/generated/breeze-24/format-text-bold.svg breeze/16/format-text-bold.svg breeze/16/format-text-bold.svg breeze/16/format-text-bold.svg breeze/22/format-text-bold.svg breeze/16/format-text-bold.svg - generated/breeze-24/format-text-bold.svg + themes/generated/breeze-24/format-text-bold.svg breeze/16/format-text-bold.svg breeze/16/format-text-bold.svg breeze/16/format-text-italic.svg breeze/22/format-text-italic.svg - generated/breeze-24/format-text-italic.svg + themes/generated/breeze-24/format-text-italic.svg breeze/16/format-text-italic.svg - generated/breeze-24/format-text-italic.svg + themes/generated/breeze-24/format-text-italic.svg breeze/16/format-text-italic.svg breeze/16/format-text-italic.svg breeze/16/format-text-italic.svg breeze/22/format-text-italic.svg breeze/16/format-text-italic.svg - generated/breeze-24/format-text-italic.svg + themes/generated/breeze-24/format-text-italic.svg breeze/16/format-text-italic.svg breeze/16/format-text-italic.svg breeze/16/format-text-subscript.svg breeze/22/format-text-subscript.svg - generated/breeze-24/format-text-subscript.svg + themes/generated/breeze-24/format-text-subscript.svg breeze/16/format-text-subscript.svg - generated/breeze-24/format-text-subscript.svg + themes/generated/breeze-24/format-text-subscript.svg breeze/16/format-text-subscript.svg breeze/16/format-text-subscript.svg breeze/16/format-text-subscript.svg breeze/22/format-text-subscript.svg breeze/16/format-text-subscript.svg - generated/breeze-24/format-text-subscript.svg + themes/generated/breeze-24/format-text-subscript.svg breeze/16/format-text-subscript.svg breeze/16/format-text-subscript.svg breeze/16/format-text-superscript.svg breeze/22/format-text-superscript.svg - generated/breeze-24/format-text-superscript.svg + themes/generated/breeze-24/format-text-superscript.svg breeze/16/format-text-superscript.svg - generated/breeze-24/format-text-superscript.svg + themes/generated/breeze-24/format-text-superscript.svg breeze/16/format-text-superscript.svg breeze/16/format-text-superscript.svg breeze/16/format-text-superscript.svg breeze/22/format-text-superscript.svg breeze/16/format-text-superscript.svg - generated/breeze-24/format-text-superscript.svg + themes/generated/breeze-24/format-text-superscript.svg breeze/16/format-text-superscript.svg breeze/16/format-text-superscript.svg breeze/16/format-text-underline.svg breeze/22/format-text-underline.svg - generated/breeze-24/format-text-underline.svg + themes/generated/breeze-24/format-text-underline.svg breeze/16/format-text-underline.svg - generated/breeze-24/format-text-underline.svg + themes/generated/breeze-24/format-text-underline.svg breeze/16/format-text-underline.svg breeze/16/format-text-underline.svg breeze/16/format-text-underline.svg breeze/22/format-text-underline.svg breeze/16/format-text-underline.svg - generated/breeze-24/format-text-underline.svg + themes/generated/breeze-24/format-text-underline.svg breeze/16/format-text-underline.svg breeze/16/format-text-underline.svg breeze/16/go-bottom.svg breeze/22/go-bottom.svg - generated/breeze-24/go-bottom.svg + themes/generated/breeze-24/go-bottom.svg breeze/32/go-bottom.svg - generated/breeze-24/go-bottom.svg + themes/generated/breeze-24/go-bottom.svg breeze/32/go-bottom.svg breeze/32/go-bottom.svg breeze/32/go-bottom.svg breeze/22/go-bottom.svg breeze/32/go-bottom.svg - generated/breeze-24/go-bottom.svg + themes/generated/breeze-24/go-bottom.svg breeze/32/go-bottom.svg breeze/32/go-bottom.svg - traced/16/go-company.svg - traced/large16/go-company.svg - traced/22/go-company.svg - traced/large22/go-company.svg - traced/large16/go-company.svg - traced/large16/go-company.svg - generated/traced-large-24/go-company.svg - generated/traced-large-24/go-company.svg - traced/large16/go-company.svg - traced/large16/go-company.svg - traced/large16/go-company.svg - traced/large16/go-company.svg - generated/traced-24/go-company.svg - generated/traced-large-24/go-company.svg - traced/large22/go-company.svg + qet/traced/16/go-company.svg + qet/traced/large16/go-company.svg + qet/traced/22/go-company.svg + qet/traced/large22/go-company.svg + qet/traced/large16/go-company.svg + qet/traced/large16/go-company.svg + themes/generated/traced-large-24/go-company.svg + themes/generated/traced-large-24/go-company.svg + qet/traced/large16/go-company.svg + qet/traced/large16/go-company.svg + qet/traced/large16/go-company.svg + qet/traced/large16/go-company.svg + themes/generated/traced-24/go-company.svg + themes/generated/traced-large-24/go-company.svg + qet/traced/large22/go-company.svg breeze/16/go-down.svg breeze/22/go-down.svg - generated/breeze-24/go-down.svg + themes/generated/breeze-24/go-down.svg breeze/32/go-down.svg - generated/breeze-24/go-down.svg + themes/generated/breeze-24/go-down.svg breeze/32/go-down.svg breeze/32/go-down.svg breeze/32/go-down.svg breeze/22/go-down.svg breeze/32/go-down.svg - generated/breeze-24/go-down.svg + themes/generated/breeze-24/go-down.svg breeze/32/go-down.svg breeze/32/go-down.svg breeze/16/go-down-skip.svg breeze/22/go-down-skip.svg - generated/breeze-24/go-down-skip.svg + themes/generated/breeze-24/go-down-skip.svg breeze/32/go-down-skip.svg - generated/breeze-24/go-down-skip.svg + themes/generated/breeze-24/go-down-skip.svg breeze/32/go-down-skip.svg breeze/32/go-down-skip.svg breeze/32/go-down-skip.svg breeze/22/go-down-skip.svg breeze/32/go-down-skip.svg - generated/breeze-24/go-down-skip.svg + themes/generated/breeze-24/go-down-skip.svg breeze/32/go-down-skip.svg breeze/32/go-down-skip.svg breeze/16/go-home.svg breeze/22/go-home.svg - generated/breeze-24/go-home.svg + themes/generated/breeze-24/go-home.svg breeze/16/go-home.svg - generated/breeze-24/go-home.svg + themes/generated/breeze-24/go-home.svg breeze/16/go-home.svg breeze/16/go-home.svg breeze/16/go-home.svg breeze/22/go-home.svg breeze/16/go-home.svg - generated/breeze-24/go-home.svg + themes/generated/breeze-24/go-home.svg breeze/16/go-home.svg breeze/16/go-home.svg breeze/16/go-top.svg breeze/22/go-top.svg - generated/breeze-24/go-top.svg + themes/generated/breeze-24/go-top.svg breeze/32/go-top.svg - generated/breeze-24/go-top.svg + themes/generated/breeze-24/go-top.svg breeze/32/go-top.svg breeze/32/go-top.svg breeze/32/go-top.svg breeze/22/go-top.svg breeze/32/go-top.svg - generated/breeze-24/go-top.svg + themes/generated/breeze-24/go-top.svg breeze/32/go-top.svg breeze/32/go-top.svg breeze/16/go-up.svg breeze/22/go-up.svg - generated/breeze-24/go-up.svg + themes/generated/breeze-24/go-up.svg breeze/32/go-up.svg - generated/breeze-24/go-up.svg + themes/generated/breeze-24/go-up.svg breeze/32/go-up.svg breeze/32/go-up.svg breeze/32/go-up.svg breeze/22/go-up.svg breeze/32/go-up.svg - generated/breeze-24/go-up.svg + themes/generated/breeze-24/go-up.svg breeze/32/go-up.svg breeze/32/go-up.svg breeze/16/go-up-skip.svg breeze/22/go-up-skip.svg - generated/breeze-24/go-up-skip.svg + themes/generated/breeze-24/go-up-skip.svg breeze/32/go-up-skip.svg - generated/breeze-24/go-up-skip.svg + themes/generated/breeze-24/go-up-skip.svg breeze/32/go-up-skip.svg breeze/32/go-up-skip.svg breeze/32/go-up-skip.svg breeze/22/go-up-skip.svg breeze/32/go-up-skip.svg - generated/breeze-24/go-up-skip.svg + themes/generated/breeze-24/go-up-skip.svg breeze/32/go-up-skip.svg breeze/32/go-up-skip.svg breeze/16/view-grid.svg breeze/22/view-grid.svg - generated/breeze-24/view-grid.svg + themes/generated/breeze-24/view-grid.svg breeze/16/view-grid.svg - generated/breeze-24/view-grid.svg + themes/generated/breeze-24/view-grid.svg breeze/16/view-grid.svg breeze/16/view-grid.svg breeze/16/view-grid.svg breeze/22/view-grid.svg breeze/16/view-grid.svg - generated/breeze-24/view-grid.svg + themes/generated/breeze-24/view-grid.svg breeze/16/view-grid.svg breeze/16/view-grid.svg - traced/16/ground.svg - traced/large16/ground.svg - traced/22/ground.svg - traced/large22/ground.svg - traced/large16/ground.svg - traced/large16/ground.svg - generated/traced-large-24/ground.svg - generated/traced-large-24/ground.svg - traced/large16/ground.svg - traced/large16/ground.svg - traced/large16/ground.svg - traced/large16/ground.svg - generated/traced-24/ground.svg - generated/traced-large-24/ground.svg - traced/large22/ground.svg - traced/16/guides.svg - traced/large16/guides.svg - traced/22/guides.svg - traced/large22/guides.svg - traced/large16/guides.svg - traced/large16/guides.svg - generated/traced-large-24/guides.svg - generated/traced-large-24/guides.svg - traced/large16/guides.svg - traced/large16/guides.svg - traced/large16/guides.svg - traced/large16/guides.svg - generated/traced-24/guides.svg - generated/traced-large-24/guides.svg - traced/large22/guides.svg + qet/traced/16/ground.svg + qet/traced/large16/ground.svg + qet/traced/22/ground.svg + qet/traced/large22/ground.svg + qet/traced/large16/ground.svg + qet/traced/large16/ground.svg + themes/generated/traced-large-24/ground.svg + themes/generated/traced-large-24/ground.svg + qet/traced/large16/ground.svg + qet/traced/large16/ground.svg + qet/traced/large16/ground.svg + qet/traced/large16/ground.svg + themes/generated/traced-24/ground.svg + themes/generated/traced-large-24/ground.svg + qet/traced/large22/ground.svg + qet/traced/16/guides.svg + qet/traced/large16/guides.svg + qet/traced/22/guides.svg + qet/traced/large22/guides.svg + qet/traced/large16/guides.svg + qet/traced/large16/guides.svg + themes/generated/traced-large-24/guides.svg + themes/generated/traced-large-24/guides.svg + qet/traced/large16/guides.svg + qet/traced/large16/guides.svg + qet/traced/large16/guides.svg + qet/traced/large16/guides.svg + themes/generated/traced-24/guides.svg + themes/generated/traced-large-24/guides.svg + qet/traced/large22/guides.svg breeze/16/help-contents.svg breeze/22/help-contents.svg - generated/breeze-24/help-contents.svg + themes/generated/breeze-24/help-contents.svg breeze/16/help-contents.svg - generated/breeze-24/help-contents.svg + themes/generated/breeze-24/help-contents.svg breeze/16/help-contents.svg breeze/16/help-contents.svg breeze/16/help-contents.svg breeze/22/help-contents.svg breeze/16/help-contents.svg - generated/breeze-24/help-contents.svg + themes/generated/breeze-24/help-contents.svg breeze/16/help-contents.svg breeze/16/help-contents.svg breeze/16/love-amarok.svg breeze/22/love-amarok.svg - generated/breeze-24/love-amarok.svg + themes/generated/breeze-24/love-amarok.svg breeze/16/love-amarok.svg - generated/breeze-24/love-amarok.svg + themes/generated/breeze-24/love-amarok.svg breeze/16/love-amarok.svg breeze/16/love-amarok.svg breeze/16/love-amarok.svg breeze/22/love-amarok.svg breeze/16/love-amarok.svg - generated/breeze-24/love-amarok.svg + themes/generated/breeze-24/love-amarok.svg breeze/16/love-amarok.svg breeze/16/love-amarok.svg - traced/16/hotspot.svg - traced/large16/hotspot.svg - traced/22/hotspot.svg - traced/large22/hotspot.svg - traced/large16/hotspot.svg - traced/large16/hotspot.svg - generated/traced-large-24/hotspot.svg - generated/traced-large-24/hotspot.svg - traced/large16/hotspot.svg - traced/large16/hotspot.svg - traced/large16/hotspot.svg - traced/large16/hotspot.svg - generated/traced-24/hotspot.svg - generated/traced-large-24/hotspot.svg - traced/large22/hotspot.svg + qet/traced/16/hotspot.svg + qet/traced/large16/hotspot.svg + qet/traced/22/hotspot.svg + qet/traced/large22/hotspot.svg + qet/traced/large16/hotspot.svg + qet/traced/large16/hotspot.svg + themes/generated/traced-large-24/hotspot.svg + themes/generated/traced-large-24/hotspot.svg + qet/traced/large16/hotspot.svg + qet/traced/large16/hotspot.svg + qet/traced/large16/hotspot.svg + qet/traced/large16/hotspot.svg + themes/generated/traced-24/hotspot.svg + themes/generated/traced-large-24/hotspot.svg + qet/traced/large22/hotspot.svg + breeze/16/object-flip-horizontal.svg + breeze/22/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + breeze/22/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + breeze/16/object-flip-horizontal.svg + breeze/16/object-flip-vertical.svg + breeze/22/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + breeze/22/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + themes/generated/breeze-24/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg + breeze/16/object-flip-vertical.svg breeze/16/application-postscript.svg breeze/22/application-postscript.svg - generated/breeze-24/application-postscript.svg + themes/generated/breeze-24/application-postscript.svg breeze/32/application-postscript.svg - generated/breeze-24/application-postscript.svg + themes/generated/breeze-24/application-postscript.svg breeze/32/application-postscript.svg breeze/32/application-postscript.svg breeze/32/application-postscript.svg breeze/22/application-postscript.svg breeze/32/application-postscript.svg - generated/breeze-24/application-postscript.svg + themes/generated/breeze-24/application-postscript.svg breeze/32/application-postscript.svg breeze/32/application-postscript.svg breeze/16/insert-image.svg breeze/22/insert-image.svg - generated/breeze-24/insert-image.svg + themes/generated/breeze-24/insert-image.svg breeze/16/insert-image.svg - generated/breeze-24/insert-image.svg + themes/generated/breeze-24/insert-image.svg breeze/16/insert-image.svg breeze/16/insert-image.svg breeze/16/insert-image.svg breeze/22/insert-image.svg breeze/16/insert-image.svg - generated/breeze-24/insert-image.svg + themes/generated/breeze-24/insert-image.svg breeze/16/insert-image.svg breeze/16/insert-image.svg breeze/16/dialog-cancel.svg breeze/22/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/22/dialog-cancel.svg breeze/32/dialog-cancel.svg - generated/breeze-24/dialog-cancel.svg + themes/generated/breeze-24/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/32/dialog-cancel.svg breeze/16/edit-copy.svg breeze/22/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/22/edit-copy.svg breeze/16/edit-copy.svg - generated/breeze-24/edit-copy.svg + themes/generated/breeze-24/edit-copy.svg breeze/16/edit-copy.svg breeze/16/edit-copy.svg breeze/16/transform-move.svg breeze/22/transform-move.svg - generated/breeze-24/transform-move.svg + themes/generated/breeze-24/transform-move.svg breeze/16/transform-move.svg - generated/breeze-24/transform-move.svg + themes/generated/breeze-24/transform-move.svg breeze/16/transform-move.svg breeze/16/transform-move.svg breeze/16/transform-move.svg breeze/22/transform-move.svg breeze/16/transform-move.svg - generated/breeze-24/transform-move.svg + themes/generated/breeze-24/transform-move.svg breeze/16/transform-move.svg breeze/16/transform-move.svg breeze/16/video-symbolic.svg breeze/22/video-symbolic.svg - generated/breeze-24/video-symbolic.svg + themes/generated/breeze-24/video-symbolic.svg breeze/16/video-symbolic.svg - generated/breeze-24/video-symbolic.svg + themes/generated/breeze-24/video-symbolic.svg breeze/16/video-symbolic.svg breeze/16/video-symbolic.svg breeze/16/video-symbolic.svg breeze/22/video-symbolic.svg breeze/16/video-symbolic.svg - generated/breeze-24/video-symbolic.svg + themes/generated/breeze-24/video-symbolic.svg breeze/16/video-symbolic.svg breeze/16/video-symbolic.svg - scalable/16/label.svg - generated/scalable-22/label.svg - scalable/16/label.svg - scalable/label.svg - scalable/16/label.svg - scalable/16/label.svg - scalable/16/label.svg - generated/scalable-22/label.svg - scalable/16/label.svg - scalable/label.svg - scalable/16/label.svg - scalable/16/label.svg - traced/16/landscape.svg - traced/large16/landscape.svg - traced/22/landscape.svg - traced/large22/landscape.svg - traced/large16/landscape.svg - traced/large16/landscape.svg - generated/traced-large-24/landscape.svg - generated/traced-large-24/landscape.svg - traced/large16/landscape.svg - traced/large16/landscape.svg - traced/large16/landscape.svg - traced/large16/landscape.svg - generated/traced-24/landscape.svg - generated/traced-large-24/landscape.svg - traced/large22/landscape.svg + qet/scalable/16/label.svg + themes/generated/scalable-22/label.svg + qet/scalable/16/label.svg + qet/scalable/label.svg + qet/scalable/16/label.svg + qet/scalable/16/label.svg + qet/scalable/16/label.svg + themes/generated/scalable-22/label.svg + qet/scalable/16/label.svg + qet/scalable/label.svg + qet/scalable/16/label.svg + qet/scalable/16/label.svg + qet/traced/16/landscape.svg + qet/traced/large16/landscape.svg + qet/traced/22/landscape.svg + qet/traced/large22/landscape.svg + qet/traced/large16/landscape.svg + qet/traced/large16/landscape.svg + themes/generated/traced-large-24/landscape.svg + themes/generated/traced-large-24/landscape.svg + qet/traced/large16/landscape.svg + qet/traced/large16/landscape.svg + qet/traced/large16/landscape.svg + qet/traced/large16/landscape.svg + themes/generated/traced-24/landscape.svg + themes/generated/traced-large-24/landscape.svg + qet/traced/large22/landscape.svg breeze/16/draw-line.svg breeze/22/draw-line.svg - generated/breeze-24/draw-line.svg + themes/generated/breeze-24/draw-line.svg breeze/16/draw-line.svg - generated/breeze-24/draw-line.svg + themes/generated/breeze-24/draw-line.svg breeze/16/draw-line.svg breeze/16/draw-line.svg breeze/16/draw-line.svg breeze/22/draw-line.svg breeze/16/draw-line.svg - generated/breeze-24/draw-line.svg + themes/generated/breeze-24/draw-line.svg breeze/16/draw-line.svg breeze/16/draw-line.svg breeze/16/list-add.svg breeze/22/list-add.svg - generated/breeze-24/list-add.svg + themes/generated/breeze-24/list-add.svg breeze/16/list-add.svg - generated/breeze-24/list-add.svg + themes/generated/breeze-24/list-add.svg breeze/16/list-add.svg breeze/16/list-add.svg breeze/16/list-add.svg breeze/22/list-add.svg breeze/16/list-add.svg - generated/breeze-24/list-add.svg + themes/generated/breeze-24/list-add.svg breeze/16/list-add.svg breeze/16/list-add.svg breeze/16/paint-none.svg breeze/22/paint-none.svg - generated/breeze-24/paint-none.svg + themes/generated/breeze-24/paint-none.svg breeze/16/paint-none.svg - generated/breeze-24/paint-none.svg + themes/generated/breeze-24/paint-none.svg breeze/16/paint-none.svg breeze/16/paint-none.svg breeze/16/paint-none.svg breeze/22/paint-none.svg breeze/16/paint-none.svg - generated/breeze-24/paint-none.svg + themes/generated/breeze-24/paint-none.svg breeze/16/paint-none.svg breeze/16/paint-none.svg - traced/16/lower.svg - traced/large16/lower.svg - traced/22/lower.svg - traced/large22/lower.svg - traced/large16/lower.svg - traced/large16/lower.svg - generated/traced-large-24/lower.svg - generated/traced-large-24/lower.svg - traced/large16/lower.svg - traced/large16/lower.svg - traced/large16/lower.svg - traced/large16/lower.svg - generated/traced-24/lower.svg - generated/traced-large-24/lower.svg - traced/large22/lower.svg + qet/traced/16/lower.svg + qet/traced/large16/lower.svg + qet/traced/22/lower.svg + qet/traced/large22/lower.svg + qet/traced/large16/lower.svg + qet/traced/large16/lower.svg + themes/generated/traced-large-24/lower.svg + themes/generated/traced-large-24/lower.svg + qet/traced/large16/lower.svg + qet/traced/large16/lower.svg + qet/traced/large16/lower.svg + qet/traced/large16/lower.svg + themes/generated/traced-24/lower.svg + themes/generated/traced-large-24/lower.svg + qet/traced/large22/lower.svg breeze/16/view-hidden.svg breeze/22/view-hidden.svg - generated/breeze-24/view-hidden.svg + themes/generated/breeze-24/view-hidden.svg breeze/16/view-hidden.svg - generated/breeze-24/view-hidden.svg + themes/generated/breeze-24/view-hidden.svg breeze/16/view-hidden.svg breeze/16/view-hidden.svg breeze/16/view-hidden.svg breeze/22/view-hidden.svg breeze/16/view-hidden.svg - generated/breeze-24/view-hidden.svg + themes/generated/breeze-24/view-hidden.svg breeze/16/view-hidden.svg breeze/16/view-hidden.svg breeze/16/object-flip-horizontal.svg breeze/22/object-flip-horizontal.svg - generated/breeze-24/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg - generated/breeze-24/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg breeze/22/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg - generated/breeze-24/object-flip-horizontal.svg + themes/generated/breeze-24/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg breeze/16/object-flip-horizontal.svg - traced/16/names.svg - traced/large16/names.svg - traced/22/names.svg - traced/large22/names.svg - traced/large16/names.svg - traced/large16/names.svg - generated/traced-large-24/names.svg - generated/traced-large-24/names.svg - traced/large16/names.svg - traced/large16/names.svg - traced/large16/names.svg - traced/large16/names.svg - generated/traced-24/names.svg - generated/traced-large-24/names.svg - traced/large22/names.svg - traced/16/neutral.svg - traced/large16/neutral.svg - traced/22/neutral.svg - traced/large22/neutral.svg - traced/large16/neutral.svg - traced/large16/neutral.svg - generated/traced-large-24/neutral.svg - generated/traced-large-24/neutral.svg - traced/large16/neutral.svg - traced/large16/neutral.svg - traced/large16/neutral.svg - traced/large16/neutral.svg - generated/traced-24/neutral.svg - generated/traced-large-24/neutral.svg - traced/large22/neutral.svg - traced/16/north.svg - traced/large16/north.svg - traced/22/north.svg - traced/large22/north.svg - traced/large16/north.svg - traced/large16/north.svg - generated/traced-large-24/north.svg - generated/traced-large-24/north.svg - traced/large16/north.svg - traced/large16/north.svg - traced/large16/north.svg - traced/large16/north.svg - generated/traced-24/north.svg - generated/traced-large-24/north.svg - traced/large22/north.svg + qet/traced/16/move.svg + qet/traced/large16/move.svg + qet/traced/22/move.svg + qet/traced/large22/move.svg + qet/traced/large16/move.svg + qet/traced/large16/move.svg + themes/generated/traced-large-24/move.svg + themes/generated/traced-large-24/move.svg + qet/traced/large16/move.svg + qet/traced/large16/move.svg + qet/traced/large16/move.svg + qet/traced/large16/move.svg + themes/generated/traced-24/move.svg + themes/generated/traced-large-24/move.svg + qet/traced/large22/move.svg + qet/traced/16/names.svg + qet/traced/large16/names.svg + qet/traced/22/names.svg + qet/traced/large22/names.svg + qet/traced/large16/names.svg + qet/traced/large16/names.svg + themes/generated/traced-large-24/names.svg + themes/generated/traced-large-24/names.svg + qet/traced/large16/names.svg + qet/traced/large16/names.svg + qet/traced/large16/names.svg + qet/traced/large16/names.svg + themes/generated/traced-24/names.svg + themes/generated/traced-large-24/names.svg + qet/traced/large22/names.svg + qet/traced/16/neutral.svg + qet/traced/large16/neutral.svg + qet/traced/22/neutral.svg + qet/traced/large22/neutral.svg + qet/traced/large16/neutral.svg + qet/traced/large16/neutral.svg + themes/generated/traced-large-24/neutral.svg + themes/generated/traced-large-24/neutral.svg + qet/traced/large16/neutral.svg + qet/traced/large16/neutral.svg + qet/traced/large16/neutral.svg + qet/traced/large16/neutral.svg + themes/generated/traced-24/neutral.svg + themes/generated/traced-large-24/neutral.svg + qet/traced/large22/neutral.svg + qet/traced/16/north.svg + qet/traced/large16/north.svg + qet/traced/22/north.svg + qet/traced/large22/north.svg + qet/traced/large16/north.svg + qet/traced/large16/north.svg + themes/generated/traced-large-24/north.svg + themes/generated/traced-large-24/north.svg + qet/traced/large16/north.svg + qet/traced/large16/north.svg + qet/traced/large16/north.svg + qet/traced/large16/north.svg + themes/generated/traced-24/north.svg + themes/generated/traced-large-24/north.svg + qet/traced/large22/north.svg breeze/16/object-group.svg breeze/22/object-group.svg - generated/breeze-24/object-group.svg + themes/generated/breeze-24/object-group.svg breeze/16/object-group.svg - generated/breeze-24/object-group.svg + themes/generated/breeze-24/object-group.svg breeze/16/object-group.svg breeze/16/object-group.svg breeze/16/object-group.svg breeze/22/object-group.svg breeze/16/object-group.svg - generated/breeze-24/object-group.svg + themes/generated/breeze-24/object-group.svg breeze/16/object-group.svg breeze/16/object-group.svg breeze/16/document-encrypted.svg breeze/22/document-encrypted.svg - generated/breeze-24/document-encrypted.svg + themes/generated/breeze-24/document-encrypted.svg breeze/32/document-encrypted.svg - generated/breeze-24/document-encrypted.svg + themes/generated/breeze-24/document-encrypted.svg breeze/32/document-encrypted.svg breeze/32/document-encrypted.svg breeze/32/document-encrypted.svg breeze/22/document-encrypted.svg breeze/32/document-encrypted.svg - generated/breeze-24/document-encrypted.svg + themes/generated/breeze-24/document-encrypted.svg breeze/32/document-encrypted.svg breeze/32/document-encrypted.svg breeze/16/object-rotate-right.svg breeze/22/object-rotate-right.svg - generated/breeze-24/object-rotate-right.svg + themes/generated/breeze-24/object-rotate-right.svg breeze/16/object-rotate-right.svg - generated/breeze-24/object-rotate-right.svg + themes/generated/breeze-24/object-rotate-right.svg breeze/16/object-rotate-right.svg breeze/16/object-rotate-right.svg breeze/16/object-rotate-right.svg breeze/22/object-rotate-right.svg breeze/16/object-rotate-right.svg - generated/breeze-24/object-rotate-right.svg + themes/generated/breeze-24/object-rotate-right.svg breeze/16/object-rotate-right.svg breeze/16/object-rotate-right.svg breeze/16/document-decrypt.svg breeze/22/document-decrypt.svg - generated/breeze-24/document-decrypt.svg + themes/generated/breeze-24/document-decrypt.svg breeze/32/document-decrypt.svg - generated/breeze-24/document-decrypt.svg + themes/generated/breeze-24/document-decrypt.svg breeze/32/document-decrypt.svg breeze/32/document-decrypt.svg breeze/32/document-decrypt.svg breeze/22/document-decrypt.svg breeze/32/document-decrypt.svg - generated/breeze-24/document-decrypt.svg + themes/generated/breeze-24/document-decrypt.svg breeze/32/document-decrypt.svg breeze/32/document-decrypt.svg - traced/16/orientations.svg - traced/large16/orientations.svg - traced/22/orientations.svg - traced/large22/orientations.svg - traced/large16/orientations.svg - traced/large16/orientations.svg - generated/traced-large-24/orientations.svg - generated/traced-large-24/orientations.svg - traced/large16/orientations.svg - traced/large16/orientations.svg - traced/large16/orientations.svg - traced/large16/orientations.svg - generated/traced-24/orientations.svg - generated/traced-large-24/orientations.svg - traced/large22/orientations.svg - scalable/16/pdf-import.svg - generated/scalable-22/pdf-import.svg - scalable/16/pdf-import.svg - scalable/pdf-import.svg - scalable/16/pdf-import.svg - scalable/16/pdf-import.svg - scalable/16/pdf-import.svg - generated/scalable-22/pdf-import.svg - scalable/16/pdf-import.svg - scalable/pdf-import.svg - scalable/16/pdf-import.svg - scalable/16/pdf-import.svg - traced/16/phase.svg - traced/large16/phase.svg - traced/22/phase.svg - traced/large22/phase.svg - traced/large16/phase.svg - traced/large16/phase.svg - generated/traced-large-24/phase.svg - generated/traced-large-24/phase.svg - traced/large16/phase.svg - traced/large16/phase.svg - traced/large16/phase.svg - traced/large16/phase.svg - generated/traced-24/phase.svg - generated/traced-large-24/phase.svg - traced/large22/phase.svg - traced/16/plasmagik.svg - traced/large16/plasmagik.svg - traced/22/plasmagik.svg - traced/large22/plasmagik.svg - traced/large16/plasmagik.svg - traced/large16/plasmagik.svg - traced/large22/plasmagik.svg - traced/large22/plasmagik.svg - traced/large16/plasmagik.svg - traced/large16/plasmagik.svg - traced/large16/plasmagik.svg - traced/large16/plasmagik.svg - generated/traced-24/plasmagik.svg - traced/large22/plasmagik.svg - traced/large22/plasmagik.svg + qet/traced/16/orientations.svg + qet/traced/large16/orientations.svg + qet/traced/22/orientations.svg + qet/traced/large22/orientations.svg + qet/traced/large16/orientations.svg + qet/traced/large16/orientations.svg + themes/generated/traced-large-24/orientations.svg + themes/generated/traced-large-24/orientations.svg + qet/traced/large16/orientations.svg + qet/traced/large16/orientations.svg + qet/traced/large16/orientations.svg + qet/traced/large16/orientations.svg + themes/generated/traced-24/orientations.svg + themes/generated/traced-large-24/orientations.svg + qet/traced/large22/orientations.svg + qet/scalable/16/pdf-import.svg + themes/generated/scalable-22/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/scalable/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/scalable/16/pdf-import.svg + themes/generated/scalable-22/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/scalable/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/scalable/16/pdf-import.svg + qet/traced/16/phase.svg + qet/traced/large16/phase.svg + qet/traced/22/phase.svg + qet/traced/large22/phase.svg + qet/traced/large16/phase.svg + qet/traced/large16/phase.svg + themes/generated/traced-large-24/phase.svg + themes/generated/traced-large-24/phase.svg + qet/traced/large16/phase.svg + qet/traced/large16/phase.svg + qet/traced/large16/phase.svg + qet/traced/large16/phase.svg + themes/generated/traced-24/phase.svg + themes/generated/traced-large-24/phase.svg + qet/traced/large22/phase.svg + qet/traced/16/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/22/plasmagik.svg + qet/traced/large22/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/large22/plasmagik.svg + qet/traced/large22/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/large16/plasmagik.svg + qet/traced/large16/plasmagik.svg + themes/generated/traced-24/plasmagik.svg + qet/traced/large22/plasmagik.svg + qet/traced/large22/plasmagik.svg breeze/16/draw-polygon.svg breeze/22/draw-polygon.svg - generated/breeze-24/draw-polygon.svg + themes/generated/breeze-24/draw-polygon.svg breeze/16/draw-polygon.svg - generated/breeze-24/draw-polygon.svg + themes/generated/breeze-24/draw-polygon.svg breeze/16/draw-polygon.svg breeze/16/draw-polygon.svg breeze/16/draw-polygon.svg breeze/22/draw-polygon.svg breeze/16/draw-polygon.svg - generated/breeze-24/draw-polygon.svg + themes/generated/breeze-24/draw-polygon.svg breeze/16/draw-polygon.svg breeze/16/draw-polygon.svg - traced/16/portrait.svg - traced/large16/portrait.svg - traced/22/portrait.svg - traced/large22/portrait.svg - traced/large16/portrait.svg - traced/large16/portrait.svg - generated/traced-large-24/portrait.svg - generated/traced-large-24/portrait.svg - traced/large16/portrait.svg - traced/large16/portrait.svg - traced/large16/portrait.svg - traced/large16/portrait.svg - generated/traced-24/portrait.svg - generated/traced-large-24/portrait.svg - traced/large22/portrait.svg - breeze-added/16/preferences-desktop-user.svg + qet/traced/16/portrait.svg + qet/traced/large16/portrait.svg + qet/traced/22/portrait.svg + qet/traced/large22/portrait.svg + qet/traced/large16/portrait.svg + qet/traced/large16/portrait.svg + themes/generated/traced-large-24/portrait.svg + themes/generated/traced-large-24/portrait.svg + qet/traced/large16/portrait.svg + qet/traced/large16/portrait.svg + qet/traced/large16/portrait.svg + qet/traced/large16/portrait.svg + themes/generated/traced-24/portrait.svg + themes/generated/traced-large-24/portrait.svg + qet/traced/large22/portrait.svg + breeze/added/16/preferences-desktop-user.svg breeze/22/preferences-desktop-user.svg - generated/breeze-24/preferences-desktop-user.svg + themes/generated/breeze-24/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg - generated/breeze-24/preferences-desktop-user.svg + themes/generated/breeze-24/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg breeze/22/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg - generated/breeze-24/preferences-desktop-user.svg + themes/generated/breeze-24/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg breeze/32/preferences-desktop-user.svg - traced/16/project.svg - traced/large16/project.svg - traced/22/project.svg - traced/large22/project.svg - traced/large16/project.svg - traced/large16/project.svg - generated/traced-large-24/project.svg - generated/traced-large-24/project.svg - traced/large16/project.svg - traced/large16/project.svg - traced/large16/project.svg - traced/large16/project.svg - generated/traced-24/project.svg - generated/traced-large-24/project.svg - traced/large22/project.svg - traced/16/project-close.svg - traced/large16/project-close.svg - traced/22/project-close.svg - traced/large22/project-close.svg - traced/large16/project-close.svg - traced/large16/project-close.svg - generated/traced-large-24/project-close.svg - generated/traced-large-24/project-close.svg - traced/large16/project-close.svg - traced/large16/project-close.svg - traced/large16/project-close.svg - traced/large16/project-close.svg - generated/traced-24/project-close.svg - generated/traced-large-24/project-close.svg - traced/large22/project-close.svg - traced/16/project-new.svg - traced/large16/project-new.svg - traced/22/project-new.svg - traced/large22/project-new.svg - traced/large16/project-new.svg - traced/large16/project-new.svg - generated/traced-large-24/project-new.svg - generated/traced-large-24/project-new.svg - traced/large16/project-new.svg - traced/large16/project-new.svg - traced/large16/project-new.svg - traced/large16/project-new.svg - generated/traced-24/project-new.svg - generated/traced-large-24/project-new.svg - traced/large22/project-new.svg - traced/16/project-properties.svg - traced/large16/project-properties.svg - traced/22/project-properties.svg - traced/large22/project-properties.svg - traced/large16/project-properties.svg - traced/large16/project-properties.svg - generated/traced-large-24/project-properties.svg - generated/traced-large-24/project-properties.svg - traced/large16/project-properties.svg - traced/large16/project-properties.svg - traced/large16/project-properties.svg - traced/large16/project-properties.svg - generated/traced-24/project-properties.svg - generated/traced-large-24/project-properties.svg - traced/large22/project-properties.svg - traced/16/raise.svg - traced/large16/raise.svg - traced/22/raise.svg - traced/large22/raise.svg - traced/large16/raise.svg - traced/large16/raise.svg - generated/traced-large-24/raise.svg - generated/traced-large-24/raise.svg - traced/large16/raise.svg - traced/large16/raise.svg - traced/large16/raise.svg - traced/large16/raise.svg - generated/traced-24/raise.svg - generated/traced-large-24/raise.svg - traced/large22/raise.svg + qet/traced/16/project.svg + qet/traced/large16/project.svg + qet/traced/22/project.svg + qet/traced/large22/project.svg + qet/traced/large16/project.svg + qet/traced/large16/project.svg + themes/generated/traced-large-24/project.svg + themes/generated/traced-large-24/project.svg + qet/traced/large16/project.svg + qet/traced/large16/project.svg + qet/traced/large16/project.svg + qet/traced/large16/project.svg + themes/generated/traced-24/project.svg + themes/generated/traced-large-24/project.svg + qet/traced/large22/project.svg + qet/traced/16/project-close.svg + qet/traced/large16/project-close.svg + qet/traced/22/project-close.svg + qet/traced/large22/project-close.svg + qet/traced/large16/project-close.svg + qet/traced/large16/project-close.svg + themes/generated/traced-large-24/project-close.svg + themes/generated/traced-large-24/project-close.svg + qet/traced/large16/project-close.svg + qet/traced/large16/project-close.svg + qet/traced/large16/project-close.svg + qet/traced/large16/project-close.svg + themes/generated/traced-24/project-close.svg + themes/generated/traced-large-24/project-close.svg + qet/traced/large22/project-close.svg + qet/traced/16/project-new.svg + qet/traced/large16/project-new.svg + qet/traced/22/project-new.svg + qet/traced/large22/project-new.svg + qet/traced/large16/project-new.svg + qet/traced/large16/project-new.svg + themes/generated/traced-large-24/project-new.svg + themes/generated/traced-large-24/project-new.svg + qet/traced/large16/project-new.svg + qet/traced/large16/project-new.svg + qet/traced/large16/project-new.svg + qet/traced/large16/project-new.svg + themes/generated/traced-24/project-new.svg + themes/generated/traced-large-24/project-new.svg + qet/traced/large22/project-new.svg + qet/traced/16/project-properties.svg + qet/traced/large16/project-properties.svg + qet/traced/22/project-properties.svg + qet/traced/large22/project-properties.svg + qet/traced/large16/project-properties.svg + qet/traced/large16/project-properties.svg + themes/generated/traced-large-24/project-properties.svg + themes/generated/traced-large-24/project-properties.svg + qet/traced/large16/project-properties.svg + qet/traced/large16/project-properties.svg + qet/traced/large16/project-properties.svg + qet/traced/large16/project-properties.svg + themes/generated/traced-24/project-properties.svg + themes/generated/traced-large-24/project-properties.svg + qet/traced/large22/project-properties.svg + qet/traced/16/qet.svg + qet/traced/large16/qet.svg + qet/traced/22/qet.svg + qet/traced/large22/qet.svg + qet/traced/large16/qet.svg + qet/traced/large16/qet.svg + themes/generated/traced-large-24/qet.svg + themes/generated/traced-large-24/qet.svg + qet/traced/large16/qet.svg + qet/traced/large16/qet.svg + qet/traced/large16/qet.svg + qet/traced/large16/qet.svg + themes/generated/traced-24/qet.svg + themes/generated/traced-large-24/qet.svg + qet/traced/large22/qet.svg + qet/traced/16/qt.svg + qet/traced/large16/qt.svg + qet/traced/22/qt.svg + qet/traced/large22/qt.svg + qet/traced/large16/qt.svg + qet/traced/large16/qt.svg + qet/traced/large22/qt.svg + qet/traced/large22/qt.svg + qet/traced/large16/qt.svg + qet/traced/large16/qt.svg + qet/traced/large16/qt.svg + qet/traced/large16/qt.svg + themes/generated/traced-24/qt.svg + qet/traced/large22/qt.svg + qet/traced/large22/qt.svg + qet/traced/16/raise.svg + qet/traced/large16/raise.svg + qet/traced/22/raise.svg + qet/traced/large22/raise.svg + qet/traced/large16/raise.svg + qet/traced/large16/raise.svg + themes/generated/traced-large-24/raise.svg + themes/generated/traced-large-24/raise.svg + qet/traced/large16/raise.svg + qet/traced/large16/raise.svg + qet/traced/large16/raise.svg + qet/traced/large16/raise.svg + themes/generated/traced-24/raise.svg + themes/generated/traced-large-24/raise.svg + qet/traced/large22/raise.svg + qet/traced/16/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + qet/traced/22/rect-to-bezier.svg + qet/traced/large22/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + themes/generated/traced-large-24/rect-to-bezier.svg + themes/generated/traced-large-24/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + qet/traced/large16/rect-to-bezier.svg + themes/generated/traced-24/rect-to-bezier.svg + themes/generated/traced-large-24/rect-to-bezier.svg + qet/traced/large22/rect-to-bezier.svg + qet/traced/16/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + qet/traced/22/rect-to-polyline.svg + qet/traced/large22/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + themes/generated/traced-large-24/rect-to-polyline.svg + themes/generated/traced-large-24/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + qet/traced/large16/rect-to-polyline.svg + themes/generated/traced-24/rect-to-polyline.svg + themes/generated/traced-large-24/rect-to-polyline.svg + qet/traced/large22/rect-to-polyline.svg breeze/16/draw-rectangle.svg breeze/22/draw-rectangle.svg - generated/breeze-24/draw-rectangle.svg + themes/generated/breeze-24/draw-rectangle.svg breeze/16/draw-rectangle.svg - generated/breeze-24/draw-rectangle.svg + themes/generated/breeze-24/draw-rectangle.svg breeze/16/draw-rectangle.svg breeze/16/draw-rectangle.svg breeze/16/draw-rectangle.svg breeze/22/draw-rectangle.svg breeze/16/draw-rectangle.svg - generated/breeze-24/draw-rectangle.svg + themes/generated/breeze-24/draw-rectangle.svg breeze/16/draw-rectangle.svg breeze/16/draw-rectangle.svg breeze/16/view-visible.svg breeze/22/view-visible.svg - generated/breeze-24/view-visible.svg + themes/generated/breeze-24/view-visible.svg breeze/16/view-visible.svg - generated/breeze-24/view-visible.svg + themes/generated/breeze-24/view-visible.svg breeze/16/view-visible.svg breeze/16/view-visible.svg breeze/16/view-visible.svg breeze/22/view-visible.svg breeze/16/view-visible.svg - generated/breeze-24/view-visible.svg + themes/generated/breeze-24/view-visible.svg breeze/16/view-visible.svg breeze/16/view-visible.svg - traced/16/run-dxf.svg - traced/large16/run-dxf.svg - traced/22/run-dxf.svg - traced/large22/run-dxf.svg - traced/large16/run-dxf.svg - traced/large16/run-dxf.svg - generated/traced-large-24/run-dxf.svg - generated/traced-large-24/run-dxf.svg - traced/large16/run-dxf.svg - traced/large16/run-dxf.svg - traced/large16/run-dxf.svg - traced/large16/run-dxf.svg - generated/traced-24/run-dxf.svg - generated/traced-large-24/run-dxf.svg - traced/large22/run-dxf.svg + qet/traced/16/run-dxf.svg + qet/traced/large16/run-dxf.svg + qet/traced/22/run-dxf.svg + qet/traced/large22/run-dxf.svg + qet/traced/large16/run-dxf.svg + qet/traced/large16/run-dxf.svg + themes/generated/traced-large-24/run-dxf.svg + themes/generated/traced-large-24/run-dxf.svg + qet/traced/large16/run-dxf.svg + qet/traced/large16/run-dxf.svg + qet/traced/large16/run-dxf.svg + qet/traced/large16/run-dxf.svg + themes/generated/traced-24/run-dxf.svg + themes/generated/traced-large-24/run-dxf.svg + qet/traced/large22/run-dxf.svg breeze/16/edit-select.svg breeze/22/edit-select.svg - generated/breeze-24/edit-select.svg + themes/generated/breeze-24/edit-select.svg breeze/32/edit-select.svg - generated/breeze-24/edit-select.svg + themes/generated/breeze-24/edit-select.svg breeze/32/edit-select.svg breeze/32/edit-select.svg breeze/32/edit-select.svg breeze/22/edit-select.svg breeze/32/edit-select.svg - generated/breeze-24/edit-select.svg + themes/generated/breeze-24/edit-select.svg breeze/32/edit-select.svg breeze/32/edit-select.svg - traced/16/send_backward.svg - traced/large16/send_backward.svg - traced/22/send_backward.svg - traced/large22/send_backward.svg - traced/large16/send_backward.svg - traced/large16/send_backward.svg - generated/traced-large-24/send_backward.svg - generated/traced-large-24/send_backward.svg - traced/large16/send_backward.svg - traced/large16/send_backward.svg - traced/large16/send_backward.svg - traced/large16/send_backward.svg - generated/traced-24/send_backward.svg - generated/traced-large-24/send_backward.svg - traced/large22/send_backward.svg - traced/16/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/22/simplifyrichtext.svg - traced/large22/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/large22/simplifyrichtext.svg - traced/large22/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - traced/large16/simplifyrichtext.svg - generated/traced-24/simplifyrichtext.svg - traced/large22/simplifyrichtext.svg - traced/large22/simplifyrichtext.svg + qet/traced/16/send_backward.svg + qet/traced/large16/send_backward.svg + qet/traced/22/send_backward.svg + qet/traced/large22/send_backward.svg + qet/traced/large16/send_backward.svg + qet/traced/large16/send_backward.svg + themes/generated/traced-large-24/send_backward.svg + themes/generated/traced-large-24/send_backward.svg + qet/traced/large16/send_backward.svg + qet/traced/large16/send_backward.svg + qet/traced/large16/send_backward.svg + qet/traced/large16/send_backward.svg + themes/generated/traced-24/send_backward.svg + themes/generated/traced-large-24/send_backward.svg + qet/traced/large22/send_backward.svg + qet/traced/16/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/22/simplifyrichtext.svg + qet/traced/large22/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/large22/simplifyrichtext.svg + qet/traced/large22/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + qet/traced/large16/simplifyrichtext.svg + themes/generated/traced-24/simplifyrichtext.svg + qet/traced/large22/simplifyrichtext.svg + qet/traced/large22/simplifyrichtext.svg breeze/16/snap-page.svg breeze/22/snap-page.svg - generated/breeze-24/snap-page.svg + themes/generated/breeze-24/snap-page.svg breeze/16/snap-page.svg - generated/breeze-24/snap-page.svg + themes/generated/breeze-24/snap-page.svg breeze/16/snap-page.svg breeze/16/snap-page.svg breeze/16/snap-page.svg breeze/22/snap-page.svg breeze/16/snap-page.svg - generated/breeze-24/snap-page.svg + themes/generated/breeze-24/snap-page.svg breeze/16/snap-page.svg breeze/16/snap-page.svg - scalable/16/snap-to-grid.svg - generated/scalable-22/snap-to-grid.svg - scalable/16/snap-to-grid.svg - scalable/snap-to-grid.svg - scalable/16/snap-to-grid.svg - scalable/16/snap-to-grid.svg - scalable/16/snap-to-grid.svg - generated/scalable-22/snap-to-grid.svg - scalable/16/snap-to-grid.svg - scalable/snap-to-grid.svg - scalable/16/snap-to-grid.svg - scalable/16/snap-to-grid.svg - traced/16/south.svg - traced/large16/south.svg - traced/22/south.svg - traced/large22/south.svg - traced/large16/south.svg - traced/large16/south.svg - generated/traced-large-24/south.svg - generated/traced-large-24/south.svg - traced/large16/south.svg - traced/large16/south.svg - traced/large16/south.svg - traced/large16/south.svg - generated/traced-24/south.svg - generated/traced-large-24/south.svg - traced/large22/south.svg + qet/scalable/16/snap-to-grid.svg + themes/generated/scalable-22/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/scalable/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + themes/generated/scalable-22/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/scalable/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/scalable/16/snap-to-grid.svg + qet/traced/16/south.svg + qet/traced/large16/south.svg + qet/traced/22/south.svg + qet/traced/large22/south.svg + qet/traced/large16/south.svg + qet/traced/large16/south.svg + themes/generated/traced-large-24/south.svg + themes/generated/traced-large-24/south.svg + qet/traced/large16/south.svg + qet/traced/large16/south.svg + qet/traced/large16/south.svg + qet/traced/large16/south.svg + themes/generated/traced-24/south.svg + themes/generated/traced-large-24/south.svg + qet/traced/large22/south.svg breeze/16/media-playback-start.svg breeze/22/media-playback-start.svg - generated/breeze-24/media-playback-start.svg + themes/generated/breeze-24/media-playback-start.svg breeze/32/media-playback-start.svg - generated/breeze-24/media-playback-start.svg + themes/generated/breeze-24/media-playback-start.svg breeze/32/media-playback-start.svg breeze/32/media-playback-start.svg breeze/32/media-playback-start.svg breeze/22/media-playback-start.svg breeze/32/media-playback-start.svg - generated/breeze-24/media-playback-start.svg + themes/generated/breeze-24/media-playback-start.svg breeze/32/media-playback-start.svg breeze/32/media-playback-start.svg breeze/16/gtk-index.svg breeze/22/gtk-index.svg - generated/breeze-24/gtk-index.svg + themes/generated/breeze-24/gtk-index.svg breeze/16/gtk-index.svg - generated/breeze-24/gtk-index.svg + themes/generated/breeze-24/gtk-index.svg breeze/16/gtk-index.svg breeze/16/gtk-index.svg breeze/16/gtk-index.svg breeze/22/gtk-index.svg breeze/16/gtk-index.svg - generated/breeze-24/gtk-index.svg + themes/generated/breeze-24/gtk-index.svg breeze/16/gtk-index.svg breeze/16/gtk-index.svg - traced/16/terminal.svg - traced/large16/terminal.svg - traced/22/terminal.svg - traced/large22/terminal.svg - traced/large16/terminal.svg - traced/large16/terminal.svg - generated/traced-large-24/terminal.svg - generated/traced-large-24/terminal.svg - traced/large16/terminal.svg - traced/large16/terminal.svg - traced/large16/terminal.svg - traced/large16/terminal.svg - generated/traced-24/terminal.svg - generated/traced-large-24/terminal.svg - traced/large22/terminal.svg - traced/16/terminalstrip.svg - traced/large16/terminalstrip.svg - traced/22/terminalstrip.svg - traced/large22/terminalstrip.svg - traced/large16/terminalstrip.svg - traced/large16/terminalstrip.svg - generated/traced-large-24/terminalstrip.svg - generated/traced-large-24/terminalstrip.svg - traced/large16/terminalstrip.svg - traced/large16/terminalstrip.svg - traced/large16/terminalstrip.svg - traced/large16/terminalstrip.svg - generated/traced-24/terminalstrip.svg - generated/traced-large-24/terminalstrip.svg - traced/large22/terminalstrip.svg + qet/traced/16/terminal.svg + qet/traced/large16/terminal.svg + qet/traced/22/terminal.svg + qet/traced/large22/terminal.svg + qet/traced/large16/terminal.svg + qet/traced/large16/terminal.svg + themes/generated/traced-large-24/terminal.svg + themes/generated/traced-large-24/terminal.svg + qet/traced/large16/terminal.svg + qet/traced/large16/terminal.svg + qet/traced/large16/terminal.svg + qet/traced/large16/terminal.svg + themes/generated/traced-24/terminal.svg + themes/generated/traced-large-24/terminal.svg + qet/traced/large22/terminal.svg + qet/traced/16/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + qet/traced/22/terminalstrip.svg + qet/traced/large22/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + themes/generated/traced-large-24/terminalstrip.svg + themes/generated/traced-large-24/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + qet/traced/large16/terminalstrip.svg + themes/generated/traced-24/terminalstrip.svg + themes/generated/traced-large-24/terminalstrip.svg + qet/traced/large22/terminalstrip.svg breeze/16/insert-text.svg breeze/22/insert-text.svg - generated/breeze-24/insert-text.svg + themes/generated/breeze-24/insert-text.svg breeze/16/insert-text.svg - generated/breeze-24/insert-text.svg + themes/generated/breeze-24/insert-text.svg breeze/16/insert-text.svg breeze/16/insert-text.svg breeze/16/insert-text.svg breeze/22/insert-text.svg breeze/16/insert-text.svg - generated/breeze-24/insert-text.svg + themes/generated/breeze-24/insert-text.svg breeze/16/insert-text.svg breeze/16/insert-text.svg - traced/16/text-xml.svg - traced/large16/text-xml.svg - traced/22/text-xml.svg - traced/large22/text-xml.svg - traced/large16/text-xml.svg - traced/large16/text-xml.svg - traced/large22/text-xml.svg - traced/large22/text-xml.svg - traced/large16/text-xml.svg - traced/large16/text-xml.svg - traced/large16/text-xml.svg - traced/large16/text-xml.svg - generated/traced-24/text-xml.svg - traced/large22/text-xml.svg - traced/large22/text-xml.svg - traced/16/textfield.svg - traced/large16/textfield.svg - traced/22/textfield.svg - traced/large22/textfield.svg - traced/large16/textfield.svg - traced/large16/textfield.svg - generated/traced-large-24/textfield.svg - generated/traced-large-24/textfield.svg - traced/large16/textfield.svg - traced/large16/textfield.svg - traced/large16/textfield.svg - traced/large16/textfield.svg - generated/traced-24/textfield.svg - generated/traced-large-24/textfield.svg - traced/large22/textfield.svg - traced/16/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - traced/22/titleblock-bottom.svg - traced/large22/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - generated/traced-large-24/titleblock-bottom.svg - generated/traced-large-24/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - traced/large16/titleblock-bottom.svg - generated/traced-24/titleblock-bottom.svg - generated/traced-large-24/titleblock-bottom.svg - traced/large22/titleblock-bottom.svg - traced/16/titleblock-right.svg - traced/large16/titleblock-right.svg - traced/22/titleblock-right.svg - traced/large22/titleblock-right.svg - traced/large16/titleblock-right.svg - traced/large16/titleblock-right.svg - generated/traced-large-24/titleblock-right.svg - generated/traced-large-24/titleblock-right.svg - traced/large16/titleblock-right.svg - traced/large16/titleblock-right.svg - traced/large16/titleblock-right.svg - traced/large16/titleblock-right.svg - generated/traced-24/titleblock-right.svg - generated/traced-large-24/titleblock-right.svg - traced/large22/titleblock-right.svg + qet/traced/16/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/22/text-xml.svg + qet/traced/large22/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/large22/text-xml.svg + qet/traced/large22/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/large16/text-xml.svg + qet/traced/large16/text-xml.svg + themes/generated/traced-24/text-xml.svg + qet/traced/large22/text-xml.svg + qet/traced/large22/text-xml.svg + qet/traced/16/textfield.svg + qet/traced/large16/textfield.svg + qet/traced/22/textfield.svg + qet/traced/large22/textfield.svg + qet/traced/large16/textfield.svg + qet/traced/large16/textfield.svg + themes/generated/traced-large-24/textfield.svg + themes/generated/traced-large-24/textfield.svg + qet/traced/large16/textfield.svg + qet/traced/large16/textfield.svg + qet/traced/large16/textfield.svg + qet/traced/large16/textfield.svg + themes/generated/traced-24/textfield.svg + themes/generated/traced-large-24/textfield.svg + qet/traced/large22/textfield.svg + qet/traced/16/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + qet/traced/22/titleblock-bottom.svg + qet/traced/large22/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + themes/generated/traced-large-24/titleblock-bottom.svg + themes/generated/traced-large-24/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + qet/traced/large16/titleblock-bottom.svg + themes/generated/traced-24/titleblock-bottom.svg + themes/generated/traced-large-24/titleblock-bottom.svg + qet/traced/large22/titleblock-bottom.svg + qet/traced/16/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + qet/traced/22/titleblock-right.svg + qet/traced/large22/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + themes/generated/traced-large-24/titleblock-right.svg + themes/generated/traced-large-24/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + qet/traced/large16/titleblock-right.svg + themes/generated/traced-24/titleblock-right.svg + themes/generated/traced-large-24/titleblock-right.svg + qet/traced/large22/titleblock-right.svg + breeze/added/16/transform-crop.svg + breeze/22/transform-crop.svg + themes/generated/breeze-24/transform-crop.svg + breeze/added/16/transform-crop.svg + themes/generated/breeze-24/transform-crop.svg + breeze/added/16/transform-crop.svg + breeze/added/16/transform-crop.svg + breeze/added/16/transform-crop.svg + breeze/22/transform-crop.svg + breeze/added/16/transform-crop.svg + themes/generated/breeze-24/transform-crop.svg + breeze/added/16/transform-crop.svg + breeze/added/16/transform-crop.svg breeze/16/transform-rotate.svg breeze/22/transform-rotate.svg - generated/breeze-24/transform-rotate.svg + themes/generated/breeze-24/transform-rotate.svg breeze/16/transform-rotate.svg - generated/breeze-24/transform-rotate.svg + themes/generated/breeze-24/transform-rotate.svg breeze/16/transform-rotate.svg breeze/16/transform-rotate.svg breeze/16/transform-rotate.svg breeze/22/transform-rotate.svg breeze/16/transform-rotate.svg - generated/breeze-24/transform-rotate.svg + themes/generated/breeze-24/transform-rotate.svg breeze/16/transform-rotate.svg breeze/16/transform-rotate.svg breeze/16/transform-scale.svg breeze/22/transform-scale.svg - generated/breeze-24/transform-scale.svg + themes/generated/breeze-24/transform-scale.svg breeze/16/transform-scale.svg - generated/breeze-24/transform-scale.svg + themes/generated/breeze-24/transform-scale.svg breeze/16/transform-scale.svg breeze/16/transform-scale.svg breeze/16/transform-scale.svg breeze/22/transform-scale.svg breeze/16/transform-scale.svg - generated/breeze-24/transform-scale.svg + themes/generated/breeze-24/transform-scale.svg breeze/16/transform-scale.svg breeze/16/transform-scale.svg breeze/16/view-pages-facing.svg breeze/22/view-pages-facing.svg - generated/breeze-24/view-pages-facing.svg + themes/generated/breeze-24/view-pages-facing.svg breeze/16/view-pages-facing.svg - generated/breeze-24/view-pages-facing.svg + themes/generated/breeze-24/view-pages-facing.svg breeze/16/view-pages-facing.svg breeze/16/view-pages-facing.svg breeze/16/view-pages-facing.svg breeze/22/view-pages-facing.svg breeze/16/view-pages-facing.svg - generated/breeze-24/view-pages-facing.svg + themes/generated/breeze-24/view-pages-facing.svg breeze/16/view-pages-facing.svg breeze/16/view-pages-facing.svg + qet/traced/16/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + qet/traced/22/user-away-extended.svg + qet/traced/large22/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + themes/generated/traced-large-24/user-away-extended.svg + themes/generated/traced-large-24/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + qet/traced/large16/user-away-extended.svg + themes/generated/traced-24/user-away-extended.svg + themes/generated/traced-large-24/user-away-extended.svg + qet/traced/large22/user-away-extended.svg breeze/16/im-user-busy.svg breeze/22/im-user-busy.svg - generated/breeze-24/im-user-busy.svg + themes/generated/breeze-24/im-user-busy.svg breeze/16/im-user-busy.svg - generated/breeze-24/im-user-busy.svg + themes/generated/breeze-24/im-user-busy.svg breeze/16/im-user-busy.svg breeze/16/im-user-busy.svg breeze/16/im-user-busy.svg breeze/22/im-user-busy.svg breeze/16/im-user-busy.svg - generated/breeze-24/im-user-busy.svg + themes/generated/breeze-24/im-user-busy.svg breeze/16/im-user-busy.svg breeze/16/im-user-busy.svg breeze/16/im-user-online.svg breeze/22/im-user-online.svg - generated/breeze-24/im-user-online.svg + themes/generated/breeze-24/im-user-online.svg breeze/16/im-user-online.svg - generated/breeze-24/im-user-online.svg + themes/generated/breeze-24/im-user-online.svg breeze/16/im-user-online.svg breeze/16/im-user-online.svg breeze/16/im-user-online.svg breeze/22/im-user-online.svg breeze/16/im-user-online.svg - generated/breeze-24/im-user-online.svg + themes/generated/breeze-24/im-user-online.svg breeze/16/im-user-online.svg breeze/16/im-user-online.svg - breeze/16/zoom-fit-best.svg - breeze/22/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - breeze/22/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg - breeze/32/zoom-fit-best.svg + qet/traced/16/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + qet/traced/22/view-fit-window.svg + qet/traced/large22/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + themes/generated/traced-large-24/view-fit-window.svg + themes/generated/traced-large-24/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + qet/traced/large16/view-fit-window.svg + themes/generated/traced-24/view-fit-window.svg + themes/generated/traced-large-24/view-fit-window.svg + qet/traced/large22/view-fit-window.svg breeze/16/view-fullscreen.svg breeze/22/view-fullscreen.svg - generated/breeze-24/view-fullscreen.svg + themes/generated/breeze-24/view-fullscreen.svg breeze/16/view-fullscreen.svg - generated/breeze-24/view-fullscreen.svg + themes/generated/breeze-24/view-fullscreen.svg breeze/16/view-fullscreen.svg breeze/16/view-fullscreen.svg breeze/16/view-fullscreen.svg breeze/22/view-fullscreen.svg breeze/16/view-fullscreen.svg - generated/breeze-24/view-fullscreen.svg + themes/generated/breeze-24/view-fullscreen.svg breeze/16/view-fullscreen.svg breeze/16/view-fullscreen.svg breeze/16/view-calendar-journal.svg breeze/22/view-calendar-journal.svg - generated/breeze-24/view-calendar-journal.svg + themes/generated/breeze-24/view-calendar-journal.svg breeze/16/view-calendar-journal.svg - generated/breeze-24/view-calendar-journal.svg + themes/generated/breeze-24/view-calendar-journal.svg breeze/16/view-calendar-journal.svg breeze/16/view-calendar-journal.svg breeze/16/view-calendar-journal.svg breeze/22/view-calendar-journal.svg breeze/16/view-calendar-journal.svg - generated/breeze-24/view-calendar-journal.svg + themes/generated/breeze-24/view-calendar-journal.svg breeze/16/view-calendar-journal.svg breeze/16/view-calendar-journal.svg breeze/16/view-refresh.svg breeze/22/view-refresh.svg - generated/breeze-24/view-refresh.svg + themes/generated/breeze-24/view-refresh.svg breeze/32/view-refresh.svg - generated/breeze-24/view-refresh.svg + themes/generated/breeze-24/view-refresh.svg breeze/32/view-refresh.svg breeze/32/view-refresh.svg breeze/32/view-refresh.svg breeze/22/view-refresh.svg breeze/32/view-refresh.svg - generated/breeze-24/view-refresh.svg + themes/generated/breeze-24/view-refresh.svg breeze/32/view-refresh.svg breeze/32/view-refresh.svg breeze/16/view-restore.svg breeze/22/view-restore.svg - generated/breeze-24/view-restore.svg + themes/generated/breeze-24/view-restore.svg breeze/16/view-restore.svg - generated/breeze-24/view-restore.svg + themes/generated/breeze-24/view-restore.svg breeze/16/view-restore.svg breeze/16/view-restore.svg breeze/16/view-restore.svg breeze/22/view-restore.svg breeze/16/view-restore.svg - generated/breeze-24/view-restore.svg + themes/generated/breeze-24/view-restore.svg breeze/16/view-restore.svg breeze/16/view-restore.svg breeze/16/zoom-fit-width.svg breeze/22/zoom-fit-width.svg - generated/breeze-24/zoom-fit-width.svg + themes/generated/breeze-24/zoom-fit-width.svg breeze/32/zoom-fit-width.svg - generated/breeze-24/zoom-fit-width.svg + themes/generated/breeze-24/zoom-fit-width.svg breeze/32/zoom-fit-width.svg breeze/32/zoom-fit-width.svg breeze/32/zoom-fit-width.svg breeze/22/zoom-fit-width.svg breeze/32/zoom-fit-width.svg - generated/breeze-24/zoom-fit-width.svg + themes/generated/breeze-24/zoom-fit-width.svg breeze/32/zoom-fit-width.svg breeze/32/zoom-fit-width.svg - traced/16/west.svg - traced/large16/west.svg - traced/22/west.svg - traced/large22/west.svg - traced/large16/west.svg - traced/large16/west.svg - generated/traced-large-24/west.svg - generated/traced-large-24/west.svg - traced/large16/west.svg - traced/large16/west.svg - traced/large16/west.svg - traced/large16/west.svg - generated/traced-24/west.svg - generated/traced-large-24/west.svg - traced/large22/west.svg + qet/traced/16/west.svg + qet/traced/large16/west.svg + qet/traced/22/west.svg + qet/traced/large22/west.svg + qet/traced/large16/west.svg + qet/traced/large16/west.svg + themes/generated/traced-large-24/west.svg + themes/generated/traced-large-24/west.svg + qet/traced/large16/west.svg + qet/traced/large16/west.svg + qet/traced/large16/west.svg + qet/traced/large16/west.svg + themes/generated/traced-24/west.svg + themes/generated/traced-large-24/west.svg + qet/traced/large22/west.svg + breeze/16/window-close.svg + breeze/22/window-close.svg + themes/generated/breeze-24/window-close.svg + breeze/32/window-close.svg + themes/generated/breeze-24/window-close.svg + breeze/32/window-close.svg + breeze/32/window-close.svg + breeze/32/window-close.svg + breeze/22/window-close.svg + breeze/32/window-close.svg + themes/generated/breeze-24/window-close.svg + breeze/32/window-close.svg + breeze/32/window-close.svg breeze/16/window-new.svg breeze/22/window-new.svg - generated/breeze-24/window-new.svg + themes/generated/breeze-24/window-new.svg breeze/16/window-new.svg - generated/breeze-24/window-new.svg + themes/generated/breeze-24/window-new.svg breeze/16/window-new.svg breeze/16/window-new.svg breeze/16/window-new.svg breeze/22/window-new.svg breeze/16/window-new.svg - generated/breeze-24/window-new.svg + themes/generated/breeze-24/window-new.svg breeze/16/window-new.svg breeze/16/window-new.svg breeze/16/zoom-fit-best.svg breeze/22/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg + themes/generated/breeze-24/zoom-fit-best.svg breeze/32/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg + themes/generated/breeze-24/zoom-fit-best.svg breeze/32/zoom-fit-best.svg breeze/32/zoom-fit-best.svg breeze/32/zoom-fit-best.svg breeze/22/zoom-fit-best.svg breeze/32/zoom-fit-best.svg - generated/breeze-24/zoom-fit-best.svg + themes/generated/breeze-24/zoom-fit-best.svg breeze/32/zoom-fit-best.svg breeze/32/zoom-fit-best.svg - traced/16/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - traced/22/zoom-fit-best.svg - traced/large22/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - generated/traced-large-24/zoom-fit-best.svg - generated/traced-large-24/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - traced/large16/zoom-fit-best.svg - generated/traced-24/zoom-fit-best.svg - generated/traced-large-24/zoom-fit-best.svg - traced/large22/zoom-fit-best.svg + qet/traced/16/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + qet/traced/22/zoom-fit-best.svg + qet/traced/large22/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + themes/generated/traced-large-24/zoom-fit-best.svg + themes/generated/traced-large-24/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + qet/traced/large16/zoom-fit-best.svg + themes/generated/traced-24/zoom-fit-best.svg + themes/generated/traced-large-24/zoom-fit-best.svg + qet/traced/large22/zoom-fit-best.svg breeze/16/zoom-in.svg breeze/22/zoom-in.svg - generated/breeze-24/zoom-in.svg + themes/generated/breeze-24/zoom-in.svg breeze/32/zoom-in.svg - generated/breeze-24/zoom-in.svg + themes/generated/breeze-24/zoom-in.svg breeze/32/zoom-in.svg breeze/32/zoom-in.svg breeze/32/zoom-in.svg breeze/22/zoom-in.svg breeze/32/zoom-in.svg - generated/breeze-24/zoom-in.svg + themes/generated/breeze-24/zoom-in.svg breeze/32/zoom-in.svg breeze/32/zoom-in.svg breeze/16/zoom-original.svg breeze/22/zoom-original.svg - generated/breeze-24/zoom-original.svg + themes/generated/breeze-24/zoom-original.svg breeze/32/zoom-original.svg - generated/breeze-24/zoom-original.svg + themes/generated/breeze-24/zoom-original.svg breeze/32/zoom-original.svg breeze/32/zoom-original.svg breeze/32/zoom-original.svg breeze/22/zoom-original.svg breeze/32/zoom-original.svg - generated/breeze-24/zoom-original.svg + themes/generated/breeze-24/zoom-original.svg breeze/32/zoom-original.svg breeze/32/zoom-original.svg breeze/16/zoom-out.svg breeze/22/zoom-out.svg - generated/breeze-24/zoom-out.svg + themes/generated/breeze-24/zoom-out.svg breeze/32/zoom-out.svg - generated/breeze-24/zoom-out.svg + themes/generated/breeze-24/zoom-out.svg breeze/32/zoom-out.svg breeze/32/zoom-out.svg breeze/32/zoom-out.svg breeze/22/zoom-out.svg breeze/32/zoom-out.svg - generated/breeze-24/zoom-out.svg + themes/generated/breeze-24/zoom-out.svg breeze/32/zoom-out.svg breeze/32/zoom-out.svg - themes/qet-dark/16x16/edit-clear-locationbar-rtl.png - themes/qet-dark/16x16/element.png - themes/qet-dark/16x16/move.png - themes/qet-dark/22x22/Actions-player-time-icon.png - themes/qet-dark/22x22/arc.png - themes/qet-dark/22x22/edit-clear-locationbar-rtl.png - themes/qet-dark/22x22/move.png - themes/qet-dark/32x32/format-text-color.png - themes/qet-dark/32x32/insert-link.png - themes/qet-dark/32x32/printer.png - themes/qet-dark/48x48/user-away-extended.png - themes/qet-dark/48x48/user-away.png - themes/qet-dark/128x128/settings.png themes/qet-dark/scalable/align-horizontal-center.svg themes/qet-dark/scalable/align-horizontal-left.svg themes/qet-dark/scalable/align-horizontal-right.svg @@ -2392,20 +2634,13 @@ themes/qet-dark/scalable/align-vertical-center.svg themes/qet-dark/scalable/align-vertical-top.svg themes/qet-dark/scalable/diagram.svg + themes/qet-dark/scalable/draw-fillet.svg themes/qet-dark/scalable/folio-delete.svg themes/qet-dark/scalable/folio-new.svg themes/qet-dark/scalable/folio-properties.svg themes/qet-dark/scalable/label.svg themes/qet-dark/scalable/pdf-import.svg themes/qet-dark/scalable/snap-to-grid.svg - themes/qet-dark/scalable/edit-opacity.svg - themes/qet-dark/scalable/image-flip-horizontal.svg - themes/qet-dark/scalable/image-flip-vertical.svg - themes/qet-dark/scalable/draw-bezier-curves.svg - themes/qet-dark/scalable/transform-crop.svg - themes/qet-dark/scalable/ellipse-to-bezier.svg - themes/qet-dark/scalable/rect-to-bezier.svg - themes/qet-dark/scalable/rect-to-polyline.svg themes/qet-dark/scalable-16/align-horizontal-center.svg themes/qet-dark/scalable-22/align-horizontal-center.svg themes/qet-dark/scalable-16/align-horizontal-left.svg @@ -2427,6 +2662,12 @@ themes/qet-dark/breeze/16/amarok_change_language.svg themes/qet-dark/breeze/22/amarok_change_language.svg themes/qet-dark/breeze-24/amarok_change_language.svg + themes/qet-dark/traced/16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/22/arc.svg + themes/qet-dark/traced/large22/arc.svg + themes/qet-dark/traced-large-24/arc.svg + themes/qet-dark/traced-24/arc.svg themes/qet-dark/breeze/16/go-previous.svg themes/qet-dark/breeze/22/go-previous.svg themes/qet-dark/breeze-24/go-previous.svg @@ -2447,15 +2688,36 @@ themes/qet-dark/traced/large22/arrow-right-double.svg themes/qet-dark/traced-large-24/arrow-right-double.svg themes/qet-dark/traced-24/arrow-right-double.svg + themes/qet-dark/traced/16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/22/autoconnect.svg + themes/qet-dark/traced/large22/autoconnect.svg + themes/qet-dark/traced-large-24/autoconnect.svg + themes/qet-dark/traced-24/autoconnect.svg + themes/qet-dark/traced/16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/22/bring_forward.svg + themes/qet-dark/traced/large22/bring_forward.svg + themes/qet-dark/traced-large-24/bring_forward.svg + themes/qet-dark/traced-24/bring_forward.svg themes/qet-dark/traced/16/cable.svg themes/qet-dark/traced/large16/cable.svg themes/qet-dark/traced/22/cable.svg themes/qet-dark/traced/large22/cable.svg themes/qet-dark/traced-large-24/cable.svg themes/qet-dark/traced-24/cable.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/22/draw-circle.svg - themes/qet-dark/breeze-24/draw-circle.svg + themes/qet-dark/traced/16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/22/circle.svg + themes/qet-dark/traced/large22/circle.svg + themes/qet-dark/traced-large-24/circle.svg + themes/qet-dark/traced-24/circle.svg + themes/qet-dark/traced/16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/22/conductor.svg + themes/qet-dark/traced/large22/conductor.svg + themes/qet-dark/traced-large-24/conductor.svg + themes/qet-dark/traced-24/conductor.svg themes/qet-dark/traced/16/conductor-edit.svg themes/qet-dark/traced/large16/conductor-edit.svg themes/qet-dark/traced/22/conductor-edit.svg @@ -2530,6 +2792,11 @@ themes/qet-dark/breeze/22/document-save-as.svg themes/qet-dark/breeze-24/document-save-as.svg themes/qet-dark/breeze/32/document-save-as.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/22/draw-bezier-curves.svg + themes/qet-dark/breeze-24/draw-bezier-curves.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-22/draw-fillet.svg themes/qet-dark/traced/16/east.svg themes/qet-dark/traced/large16/east.svg themes/qet-dark/traced/22/east.svg @@ -2551,6 +2818,9 @@ themes/qet-dark/breeze/16/edit-download.svg themes/qet-dark/breeze/22/edit-download.svg themes/qet-dark/breeze-24/edit-download.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/22/edit-opacity.svg + themes/qet-dark/breeze-24/edit-opacity.svg themes/qet-dark/breeze/16/edit-paste.svg themes/qet-dark/breeze/22/edit-paste.svg themes/qet-dark/breeze-24/edit-paste.svg @@ -2599,6 +2869,12 @@ themes/qet-dark/breeze/22/edit-undo.svg themes/qet-dark/breeze-24/edit-undo.svg themes/qet-dark/breeze/32/edit-undo.svg + themes/qet-dark/traced/16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/22/element.svg + themes/qet-dark/traced/large22/element.svg + themes/qet-dark/traced-large-24/element.svg + themes/qet-dark/traced-24/element.svg themes/qet-dark/traced/16/element-delete.svg themes/qet-dark/traced/large16/element-delete.svg themes/qet-dark/traced/22/element-delete.svg @@ -2629,9 +2905,18 @@ themes/qet-dark/traced/large22/element-slave.svg themes/qet-dark/traced-large-24/element-slave.svg themes/qet-dark/traced-24/element-slave.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/22/draw-ellipse.svg - themes/qet-dark/breeze-24/draw-ellipse.svg + themes/qet-dark/traced/16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/22/ellipse.svg + themes/qet-dark/traced/large22/ellipse.svg + themes/qet-dark/traced-large-24/ellipse.svg + themes/qet-dark/traced-24/ellipse.svg + themes/qet-dark/traced/16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/22/ellipse-to-bezier.svg + themes/qet-dark/traced/large22/ellipse-to-bezier.svg + themes/qet-dark/traced-large-24/ellipse-to-bezier.svg + themes/qet-dark/traced-24/ellipse-to-bezier.svg themes/qet-dark/traced/16/endline-circle.svg themes/qet-dark/traced/large16/endline-circle.svg themes/qet-dark/traced/22/endline-circle.svg @@ -2784,6 +3069,9 @@ themes/qet-dark/traced/large22/hotspot.svg themes/qet-dark/traced-large-24/hotspot.svg themes/qet-dark/traced-24/hotspot.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/22/object-flip-horizontal.svg + themes/qet-dark/breeze-24/object-flip-horizontal.svg themes/qet-dark/breeze/16/insert-image.svg themes/qet-dark/breeze/22/insert-image.svg themes/qet-dark/breeze-24/insert-image.svg @@ -2816,9 +3104,12 @@ themes/qet-dark/breeze/16/view-hidden.svg themes/qet-dark/breeze/22/view-hidden.svg themes/qet-dark/breeze-24/view-hidden.svg - themes/qet-dark/breeze/16/object-flip-horizontal.svg - themes/qet-dark/breeze/22/object-flip-horizontal.svg - themes/qet-dark/breeze-24/object-flip-horizontal.svg + themes/qet-dark/traced/16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/22/move.svg + themes/qet-dark/traced/large22/move.svg + themes/qet-dark/traced-large-24/move.svg + themes/qet-dark/traced-24/move.svg themes/qet-dark/traced/16/names.svg themes/qet-dark/traced/large16/names.svg themes/qet-dark/traced/22/names.svg @@ -2874,6 +3165,18 @@ themes/qet-dark/traced/large22/raise.svg themes/qet-dark/traced-large-24/raise.svg themes/qet-dark/traced-24/raise.svg + themes/qet-dark/traced/16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/22/rect-to-bezier.svg + themes/qet-dark/traced/large22/rect-to-bezier.svg + themes/qet-dark/traced-large-24/rect-to-bezier.svg + themes/qet-dark/traced-24/rect-to-bezier.svg + themes/qet-dark/traced/16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/22/rect-to-polyline.svg + themes/qet-dark/traced/large22/rect-to-polyline.svg + themes/qet-dark/traced-large-24/rect-to-polyline.svg + themes/qet-dark/traced-24/rect-to-polyline.svg themes/qet-dark/breeze/16/draw-rectangle.svg themes/qet-dark/breeze/22/draw-rectangle.svg themes/qet-dark/breeze-24/draw-rectangle.svg @@ -2941,6 +3244,9 @@ themes/qet-dark/traced/large16/titleblock-right.svg themes/qet-dark/traced/large22/titleblock-right.svg themes/qet-dark/traced-large-24/titleblock-right.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/22/transform-crop.svg + themes/qet-dark/breeze-24/transform-crop.svg themes/qet-dark/breeze/16/transform-rotate.svg themes/qet-dark/breeze/22/transform-rotate.svg themes/qet-dark/breeze-24/transform-rotate.svg @@ -2950,10 +3256,18 @@ themes/qet-dark/breeze/16/view-pages-facing.svg themes/qet-dark/breeze/22/view-pages-facing.svg themes/qet-dark/breeze-24/view-pages-facing.svg - themes/qet-dark/breeze/16/zoom-fit-best.svg - themes/qet-dark/breeze/22/zoom-fit-best.svg - themes/qet-dark/breeze-24/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg + themes/qet-dark/traced/16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/22/user-away-extended.svg + themes/qet-dark/traced/large22/user-away-extended.svg + themes/qet-dark/traced-large-24/user-away-extended.svg + themes/qet-dark/traced-24/user-away-extended.svg + themes/qet-dark/traced/16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/22/view-fit-window.svg + themes/qet-dark/traced/large22/view-fit-window.svg + themes/qet-dark/traced-large-24/view-fit-window.svg + themes/qet-dark/traced-24/view-fit-window.svg themes/qet-dark/breeze/16/view-fullscreen.svg themes/qet-dark/breeze/22/view-fullscreen.svg themes/qet-dark/breeze-24/view-fullscreen.svg @@ -2977,9 +3291,17 @@ themes/qet-dark/traced/large22/west.svg themes/qet-dark/traced-large-24/west.svg themes/qet-dark/traced-24/west.svg + themes/qet-dark/breeze/16/window-close.svg + themes/qet-dark/breeze/22/window-close.svg + themes/qet-dark/breeze-24/window-close.svg + themes/qet-dark/breeze/32/window-close.svg themes/qet-dark/breeze/16/window-new.svg themes/qet-dark/breeze/22/window-new.svg themes/qet-dark/breeze-24/window-new.svg + themes/qet-dark/breeze/16/zoom-fit-best.svg + themes/qet-dark/breeze/22/zoom-fit-best.svg + themes/qet-dark/breeze-24/zoom-fit-best.svg + themes/qet-dark/breeze/32/zoom-fit-best.svg themes/qet-dark/traced/16/zoom-fit-best.svg themes/qet-dark/traced/large16/zoom-fit-best.svg themes/qet-dark/traced/22/zoom-fit-best.svg @@ -3098,6 +3420,21 @@ themes/qet-dark/breeze-24/amarok_change_language.svg themes/qet-dark/breeze/16/amarok_change_language.svg themes/qet-dark/breeze/16/amarok_change_language.svg + themes/qet-dark/traced/16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/22/arc.svg + themes/qet-dark/traced/large22/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced-large-24/arc.svg + themes/qet-dark/traced-large-24/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced/large16/arc.svg + themes/qet-dark/traced-24/arc.svg + themes/qet-dark/traced-large-24/arc.svg + themes/qet-dark/traced/large22/arc.svg themes/qet-dark/breeze/16/go-previous.svg themes/qet-dark/breeze/22/go-previous.svg themes/qet-dark/breeze-24/go-previous.svg @@ -3154,6 +3491,36 @@ themes/qet-dark/traced-24/arrow-right-double.svg themes/qet-dark/traced-large-24/arrow-right-double.svg themes/qet-dark/traced/large22/arrow-right-double.svg + themes/qet-dark/traced/16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/22/autoconnect.svg + themes/qet-dark/traced/large22/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced-large-24/autoconnect.svg + themes/qet-dark/traced-large-24/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced/large16/autoconnect.svg + themes/qet-dark/traced-24/autoconnect.svg + themes/qet-dark/traced-large-24/autoconnect.svg + themes/qet-dark/traced/large22/autoconnect.svg + themes/qet-dark/traced/16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/22/bring_forward.svg + themes/qet-dark/traced/large22/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced-large-24/bring_forward.svg + themes/qet-dark/traced-large-24/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced/large16/bring_forward.svg + themes/qet-dark/traced-24/bring_forward.svg + themes/qet-dark/traced-large-24/bring_forward.svg + themes/qet-dark/traced/large22/bring_forward.svg themes/qet-dark/traced/16/cable.svg themes/qet-dark/traced/large16/cable.svg themes/qet-dark/traced/22/cable.svg @@ -3169,19 +3536,36 @@ themes/qet-dark/traced-24/cable.svg themes/qet-dark/traced-large-24/cable.svg themes/qet-dark/traced/large22/cable.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/22/draw-circle.svg - themes/qet-dark/breeze-24/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze-24/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/22/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze-24/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg - themes/qet-dark/breeze/16/draw-circle.svg + themes/qet-dark/traced/16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/22/circle.svg + themes/qet-dark/traced/large22/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced-large-24/circle.svg + themes/qet-dark/traced-large-24/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced/large16/circle.svg + themes/qet-dark/traced-24/circle.svg + themes/qet-dark/traced-large-24/circle.svg + themes/qet-dark/traced/large22/circle.svg + themes/qet-dark/traced/16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/22/conductor.svg + themes/qet-dark/traced/large22/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced-large-24/conductor.svg + themes/qet-dark/traced-large-24/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced/large16/conductor.svg + themes/qet-dark/traced-24/conductor.svg + themes/qet-dark/traced-large-24/conductor.svg + themes/qet-dark/traced/large22/conductor.svg themes/qet-dark/traced/16/conductor-edit.svg themes/qet-dark/traced/large16/conductor-edit.svg themes/qet-dark/traced/22/conductor-edit.svg @@ -3423,6 +3807,31 @@ themes/qet-dark/breeze-24/document-save-as.svg themes/qet-dark/breeze/32/document-save-as.svg themes/qet-dark/breeze/32/document-save-as.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/22/draw-bezier-curves.svg + themes/qet-dark/breeze-24/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze-24/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/22/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze-24/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/breeze/16/draw-bezier-curves.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-22/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-22/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg + themes/qet-dark/scalable-16/draw-fillet.svg themes/qet-dark/traced/16/east.svg themes/qet-dark/traced/large16/east.svg themes/qet-dark/traced/22/east.svg @@ -3503,6 +3912,19 @@ themes/qet-dark/breeze-24/edit-download.svg themes/qet-dark/breeze/16/edit-download.svg themes/qet-dark/breeze/16/edit-download.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/22/edit-opacity.svg + themes/qet-dark/breeze-24/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze-24/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/22/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze-24/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg + themes/qet-dark/breeze/16/edit-opacity.svg themes/qet-dark/breeze/16/edit-paste.svg themes/qet-dark/breeze/22/edit-paste.svg themes/qet-dark/breeze-24/edit-paste.svg @@ -3698,6 +4120,21 @@ themes/qet-dark/breeze-24/edit-undo.svg themes/qet-dark/breeze/32/edit-undo.svg themes/qet-dark/breeze/32/edit-undo.svg + themes/qet-dark/traced/16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/22/element.svg + themes/qet-dark/traced/large22/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced-large-24/element.svg + themes/qet-dark/traced-large-24/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced/large16/element.svg + themes/qet-dark/traced-24/element.svg + themes/qet-dark/traced-large-24/element.svg + themes/qet-dark/traced/large22/element.svg themes/qet-dark/traced/16/element-delete.svg themes/qet-dark/traced/large16/element-delete.svg themes/qet-dark/traced/22/element-delete.svg @@ -3773,19 +4210,36 @@ themes/qet-dark/traced-24/element-slave.svg themes/qet-dark/traced-large-24/element-slave.svg themes/qet-dark/traced/large22/element-slave.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/22/draw-ellipse.svg - themes/qet-dark/breeze-24/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze-24/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/22/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze-24/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg - themes/qet-dark/breeze/16/draw-ellipse.svg + themes/qet-dark/traced/16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/22/ellipse.svg + themes/qet-dark/traced/large22/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced-large-24/ellipse.svg + themes/qet-dark/traced-large-24/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced/large16/ellipse.svg + themes/qet-dark/traced-24/ellipse.svg + themes/qet-dark/traced-large-24/ellipse.svg + themes/qet-dark/traced/large22/ellipse.svg + themes/qet-dark/traced/16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/22/ellipse-to-bezier.svg + themes/qet-dark/traced/large22/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced-large-24/ellipse-to-bezier.svg + themes/qet-dark/traced-large-24/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced/large16/ellipse-to-bezier.svg + themes/qet-dark/traced-24/ellipse-to-bezier.svg + themes/qet-dark/traced-large-24/ellipse-to-bezier.svg + themes/qet-dark/traced/large22/ellipse-to-bezier.svg themes/qet-dark/traced/16/endline-circle.svg themes/qet-dark/traced/large16/endline-circle.svg themes/qet-dark/traced/22/endline-circle.svg @@ -4277,6 +4731,32 @@ themes/qet-dark/traced-24/hotspot.svg themes/qet-dark/traced-large-24/hotspot.svg themes/qet-dark/traced/large22/hotspot.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/22/object-flip-horizontal.svg + themes/qet-dark/breeze-24/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze-24/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/22/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze-24/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze/22/object-flip-vertical.svg + themes/qet-dark/breeze-24/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze-24/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze/22/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze-24/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg + themes/qet-dark/breeze/16/object-flip-vertical.svg themes/qet-dark/breeze/16/insert-image.svg themes/qet-dark/breeze/22/insert-image.svg themes/qet-dark/breeze-24/insert-image.svg @@ -4436,6 +4916,21 @@ themes/qet-dark/breeze-24/object-flip-horizontal.svg themes/qet-dark/breeze/16/object-flip-horizontal.svg themes/qet-dark/breeze/16/object-flip-horizontal.svg + themes/qet-dark/traced/16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/22/move.svg + themes/qet-dark/traced/large22/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced-large-24/move.svg + themes/qet-dark/traced-large-24/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced/large16/move.svg + themes/qet-dark/traced-24/move.svg + themes/qet-dark/traced-large-24/move.svg + themes/qet-dark/traced/large22/move.svg themes/qet-dark/traced/16/names.svg themes/qet-dark/traced/large16/names.svg themes/qet-dark/traced/22/names.svg @@ -4603,6 +5098,36 @@ themes/qet-dark/traced-24/raise.svg themes/qet-dark/traced-large-24/raise.svg themes/qet-dark/traced/large22/raise.svg + themes/qet-dark/traced/16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/22/rect-to-bezier.svg + themes/qet-dark/traced/large22/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced-large-24/rect-to-bezier.svg + themes/qet-dark/traced-large-24/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced/large16/rect-to-bezier.svg + themes/qet-dark/traced-24/rect-to-bezier.svg + themes/qet-dark/traced-large-24/rect-to-bezier.svg + themes/qet-dark/traced/large22/rect-to-bezier.svg + themes/qet-dark/traced/16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/22/rect-to-polyline.svg + themes/qet-dark/traced/large22/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced-large-24/rect-to-polyline.svg + themes/qet-dark/traced-large-24/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced/large16/rect-to-polyline.svg + themes/qet-dark/traced-24/rect-to-polyline.svg + themes/qet-dark/traced-large-24/rect-to-polyline.svg + themes/qet-dark/traced/large22/rect-to-polyline.svg themes/qet-dark/breeze/16/draw-rectangle.svg themes/qet-dark/breeze/22/draw-rectangle.svg themes/qet-dark/breeze-24/draw-rectangle.svg @@ -4822,6 +5347,19 @@ themes/qet-dark/traced/large16/titleblock-right.svg themes/qet-dark/traced-large-24/titleblock-right.svg themes/qet-dark/traced/large22/titleblock-right.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/22/transform-crop.svg + themes/qet-dark/breeze-24/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze-24/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/22/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze-24/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg + themes/qet-dark/breeze/added/16/transform-crop.svg themes/qet-dark/breeze/16/transform-rotate.svg themes/qet-dark/breeze/22/transform-rotate.svg themes/qet-dark/breeze-24/transform-rotate.svg @@ -4861,19 +5399,36 @@ themes/qet-dark/breeze-24/view-pages-facing.svg themes/qet-dark/breeze/16/view-pages-facing.svg themes/qet-dark/breeze/16/view-pages-facing.svg - themes/qet-dark/breeze/16/zoom-fit-best.svg - themes/qet-dark/breeze/22/zoom-fit-best.svg - themes/qet-dark/breeze-24/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze-24/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze/22/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze-24/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg - themes/qet-dark/breeze/32/zoom-fit-best.svg + themes/qet-dark/traced/16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/22/user-away-extended.svg + themes/qet-dark/traced/large22/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced-large-24/user-away-extended.svg + themes/qet-dark/traced-large-24/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced/large16/user-away-extended.svg + themes/qet-dark/traced-24/user-away-extended.svg + themes/qet-dark/traced-large-24/user-away-extended.svg + themes/qet-dark/traced/large22/user-away-extended.svg + themes/qet-dark/traced/16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/22/view-fit-window.svg + themes/qet-dark/traced/large22/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced-large-24/view-fit-window.svg + themes/qet-dark/traced-large-24/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced/large16/view-fit-window.svg + themes/qet-dark/traced-24/view-fit-window.svg + themes/qet-dark/traced-large-24/view-fit-window.svg + themes/qet-dark/traced/large22/view-fit-window.svg themes/qet-dark/breeze/16/view-fullscreen.svg themes/qet-dark/breeze/22/view-fullscreen.svg themes/qet-dark/breeze-24/view-fullscreen.svg @@ -4954,6 +5509,19 @@ themes/qet-dark/traced-24/west.svg themes/qet-dark/traced-large-24/west.svg themes/qet-dark/traced/large22/west.svg + themes/qet-dark/breeze/16/window-close.svg + themes/qet-dark/breeze/22/window-close.svg + themes/qet-dark/breeze-24/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze-24/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze/22/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze-24/window-close.svg + themes/qet-dark/breeze/32/window-close.svg + themes/qet-dark/breeze/32/window-close.svg themes/qet-dark/breeze/16/window-new.svg themes/qet-dark/breeze/22/window-new.svg themes/qet-dark/breeze-24/window-new.svg @@ -5034,10 +5602,9 @@ themes/qet-dark/breeze-24/zoom-out.svg themes/qet-dark/breeze/32/zoom-out.svg themes/qet-dark/breeze/32/zoom-out.svg - 128x128/printer.png - traced/22/titleblock-bottom.svg - generated/traced-24/titleblock-bottom.svg - traced/22/titleblock-right.svg - generated/traced-24/titleblock-right.svg + qet/traced/22/titleblock-bottom.svg + themes/generated/traced-24/titleblock-bottom.svg + qet/traced/22/titleblock-right.svg + themes/generated/traced-24/titleblock-right.svg diff --git a/ico/128x128/configure-shortcuts.svg b/ico/qet/pages/configure-shortcuts.svg similarity index 100% rename from ico/128x128/configure-shortcuts.svg rename to ico/qet/pages/configure-shortcuts.svg diff --git a/ico/scalable/16/align-horizontal-center.svg b/ico/qet/scalable/16/align-horizontal-center.svg similarity index 100% rename from ico/scalable/16/align-horizontal-center.svg rename to ico/qet/scalable/16/align-horizontal-center.svg diff --git a/ico/scalable/16/align-horizontal-left.svg b/ico/qet/scalable/16/align-horizontal-left.svg similarity index 100% rename from ico/scalable/16/align-horizontal-left.svg rename to ico/qet/scalable/16/align-horizontal-left.svg diff --git a/ico/scalable/16/align-horizontal-right.svg b/ico/qet/scalable/16/align-horizontal-right.svg similarity index 100% rename from ico/scalable/16/align-horizontal-right.svg rename to ico/qet/scalable/16/align-horizontal-right.svg diff --git a/ico/scalable/16/align-vertical-bottom.svg b/ico/qet/scalable/16/align-vertical-bottom.svg similarity index 100% rename from ico/scalable/16/align-vertical-bottom.svg rename to ico/qet/scalable/16/align-vertical-bottom.svg diff --git a/ico/scalable/16/align-vertical-center.svg b/ico/qet/scalable/16/align-vertical-center.svg similarity index 100% rename from ico/scalable/16/align-vertical-center.svg rename to ico/qet/scalable/16/align-vertical-center.svg diff --git a/ico/scalable/16/align-vertical-top.svg b/ico/qet/scalable/16/align-vertical-top.svg similarity index 100% rename from ico/scalable/16/align-vertical-top.svg rename to ico/qet/scalable/16/align-vertical-top.svg diff --git a/ico/scalable/16/diagram.svg b/ico/qet/scalable/16/diagram.svg similarity index 100% rename from ico/scalable/16/diagram.svg rename to ico/qet/scalable/16/diagram.svg diff --git a/ico/qet/scalable/16/draw-fillet.svg b/ico/qet/scalable/16/draw-fillet.svg new file mode 100644 index 000000000..d152e7f4e --- /dev/null +++ b/ico/qet/scalable/16/draw-fillet.svg @@ -0,0 +1,11 @@ + + + + + + + diff --git a/ico/scalable/16/folio-delete.svg b/ico/qet/scalable/16/folio-delete.svg similarity index 100% rename from ico/scalable/16/folio-delete.svg rename to ico/qet/scalable/16/folio-delete.svg diff --git a/ico/scalable/16/folio-new.svg b/ico/qet/scalable/16/folio-new.svg similarity index 100% rename from ico/scalable/16/folio-new.svg rename to ico/qet/scalable/16/folio-new.svg diff --git a/ico/scalable/16/folio-properties.svg b/ico/qet/scalable/16/folio-properties.svg similarity index 100% rename from ico/scalable/16/folio-properties.svg rename to ico/qet/scalable/16/folio-properties.svg diff --git a/ico/scalable/16/label.svg b/ico/qet/scalable/16/label.svg similarity index 100% rename from ico/scalable/16/label.svg rename to ico/qet/scalable/16/label.svg diff --git a/ico/scalable/16/pdf-import.svg b/ico/qet/scalable/16/pdf-import.svg similarity index 100% rename from ico/scalable/16/pdf-import.svg rename to ico/qet/scalable/16/pdf-import.svg diff --git a/ico/scalable/16/snap-to-grid.svg b/ico/qet/scalable/16/snap-to-grid.svg similarity index 100% rename from ico/scalable/16/snap-to-grid.svg rename to ico/qet/scalable/16/snap-to-grid.svg diff --git a/ico/scalable/align-horizontal-center.svg b/ico/qet/scalable/align-horizontal-center.svg similarity index 100% rename from ico/scalable/align-horizontal-center.svg rename to ico/qet/scalable/align-horizontal-center.svg diff --git a/ico/scalable/align-horizontal-left.svg b/ico/qet/scalable/align-horizontal-left.svg similarity index 100% rename from ico/scalable/align-horizontal-left.svg rename to ico/qet/scalable/align-horizontal-left.svg diff --git a/ico/scalable/align-horizontal-right.svg b/ico/qet/scalable/align-horizontal-right.svg similarity index 100% rename from ico/scalable/align-horizontal-right.svg rename to ico/qet/scalable/align-horizontal-right.svg diff --git a/ico/scalable/align-vertical-bottom.svg b/ico/qet/scalable/align-vertical-bottom.svg similarity index 100% rename from ico/scalable/align-vertical-bottom.svg rename to ico/qet/scalable/align-vertical-bottom.svg diff --git a/ico/scalable/align-vertical-center.svg b/ico/qet/scalable/align-vertical-center.svg similarity index 100% rename from ico/scalable/align-vertical-center.svg rename to ico/qet/scalable/align-vertical-center.svg diff --git a/ico/scalable/align-vertical-top.svg b/ico/qet/scalable/align-vertical-top.svg similarity index 100% rename from ico/scalable/align-vertical-top.svg rename to ico/qet/scalable/align-vertical-top.svg diff --git a/ico/scalable/diagram.svg b/ico/qet/scalable/diagram.svg similarity index 100% rename from ico/scalable/diagram.svg rename to ico/qet/scalable/diagram.svg diff --git a/ico/qet/scalable/draw-fillet.svg b/ico/qet/scalable/draw-fillet.svg new file mode 100644 index 000000000..01c5a994a --- /dev/null +++ b/ico/qet/scalable/draw-fillet.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/ico/scalable/folio-delete.svg b/ico/qet/scalable/folio-delete.svg similarity index 100% rename from ico/scalable/folio-delete.svg rename to ico/qet/scalable/folio-delete.svg diff --git a/ico/scalable/folio-new.svg b/ico/qet/scalable/folio-new.svg similarity index 100% rename from ico/scalable/folio-new.svg rename to ico/qet/scalable/folio-new.svg diff --git a/ico/scalable/folio-properties.svg b/ico/qet/scalable/folio-properties.svg similarity index 100% rename from ico/scalable/folio-properties.svg rename to ico/qet/scalable/folio-properties.svg diff --git a/ico/scalable/label.svg b/ico/qet/scalable/label.svg similarity index 100% rename from ico/scalable/label.svg rename to ico/qet/scalable/label.svg diff --git a/ico/scalable/pdf-import.svg b/ico/qet/scalable/pdf-import.svg similarity index 100% rename from ico/scalable/pdf-import.svg rename to ico/qet/scalable/pdf-import.svg diff --git a/ico/scalable/snap-to-grid.svg b/ico/qet/scalable/snap-to-grid.svg similarity index 100% rename from ico/scalable/snap-to-grid.svg rename to ico/qet/scalable/snap-to-grid.svg diff --git a/ico/traced/16/all_pages.svg b/ico/qet/traced/16/all_pages.svg similarity index 100% rename from ico/traced/16/all_pages.svg rename to ico/qet/traced/16/all_pages.svg diff --git a/ico/traced/16/application-pdf.svg b/ico/qet/traced/16/application-pdf.svg similarity index 100% rename from ico/traced/16/application-pdf.svg rename to ico/qet/traced/16/application-pdf.svg diff --git a/ico/qet/traced/16/arc.svg b/ico/qet/traced/16/arc.svg new file mode 100644 index 000000000..c2b8a7a31 --- /dev/null +++ b/ico/qet/traced/16/arc.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/16/arrow-left-double.svg b/ico/qet/traced/16/arrow-left-double.svg similarity index 100% rename from ico/traced/16/arrow-left-double.svg rename to ico/qet/traced/16/arrow-left-double.svg diff --git a/ico/traced/16/arrow-right-double.svg b/ico/qet/traced/16/arrow-right-double.svg similarity index 100% rename from ico/traced/16/arrow-right-double.svg rename to ico/qet/traced/16/arrow-right-double.svg diff --git a/ico/qet/traced/16/autoconnect.svg b/ico/qet/traced/16/autoconnect.svg new file mode 100644 index 000000000..f7908086f --- /dev/null +++ b/ico/qet/traced/16/autoconnect.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/ico/qet/traced/16/bring_forward.svg b/ico/qet/traced/16/bring_forward.svg new file mode 100644 index 000000000..bbcfafc85 --- /dev/null +++ b/ico/qet/traced/16/bring_forward.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/traced/16/cable.svg b/ico/qet/traced/16/cable.svg similarity index 100% rename from ico/traced/16/cable.svg rename to ico/qet/traced/16/cable.svg diff --git a/ico/qet/traced/16/circle.svg b/ico/qet/traced/16/circle.svg new file mode 100644 index 000000000..941654d57 --- /dev/null +++ b/ico/qet/traced/16/circle.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/ico/traced/16/conductor-edit.svg b/ico/qet/traced/16/conductor-edit.svg similarity index 100% rename from ico/traced/16/conductor-edit.svg rename to ico/qet/traced/16/conductor-edit.svg diff --git a/ico/traced/16/conductor-reset.svg b/ico/qet/traced/16/conductor-reset.svg similarity index 100% rename from ico/traced/16/conductor-reset.svg rename to ico/qet/traced/16/conductor-reset.svg diff --git a/ico/qet/traced/16/conductor.svg b/ico/qet/traced/16/conductor.svg new file mode 100644 index 000000000..16ca2aa30 --- /dev/null +++ b/ico/qet/traced/16/conductor.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/ico/traced/16/conductor2.svg b/ico/qet/traced/16/conductor2.svg similarity index 100% rename from ico/traced/16/conductor2.svg rename to ico/qet/traced/16/conductor2.svg diff --git a/ico/traced/16/configure-toolbars.svg b/ico/qet/traced/16/configure-toolbars.svg similarity index 100% rename from ico/traced/16/configure-toolbars.svg rename to ico/qet/traced/16/configure-toolbars.svg diff --git a/ico/traced/16/diagram_bg.svg b/ico/qet/traced/16/diagram_bg.svg similarity index 100% rename from ico/traced/16/diagram_bg.svg rename to ico/qet/traced/16/diagram_bg.svg diff --git a/ico/traced/16/east.svg b/ico/qet/traced/16/east.svg similarity index 100% rename from ico/traced/16/east.svg rename to ico/qet/traced/16/east.svg diff --git a/ico/traced/16/element-delete.svg b/ico/qet/traced/16/element-delete.svg similarity index 100% rename from ico/traced/16/element-delete.svg rename to ico/qet/traced/16/element-delete.svg diff --git a/ico/traced/16/element-edit.svg b/ico/qet/traced/16/element-edit.svg similarity index 100% rename from ico/traced/16/element-edit.svg rename to ico/qet/traced/16/element-edit.svg diff --git a/ico/traced/16/element-master.svg b/ico/qet/traced/16/element-master.svg similarity index 100% rename from ico/traced/16/element-master.svg rename to ico/qet/traced/16/element-master.svg diff --git a/ico/traced/16/element-new.svg b/ico/qet/traced/16/element-new.svg similarity index 100% rename from ico/traced/16/element-new.svg rename to ico/qet/traced/16/element-new.svg diff --git a/ico/traced/16/element-slave.svg b/ico/qet/traced/16/element-slave.svg similarity index 100% rename from ico/traced/16/element-slave.svg rename to ico/qet/traced/16/element-slave.svg diff --git a/ico/qet/traced/16/element.svg b/ico/qet/traced/16/element.svg new file mode 100644 index 000000000..65961d04c --- /dev/null +++ b/ico/qet/traced/16/element.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/16/ellipse-to-bezier.svg b/ico/qet/traced/16/ellipse-to-bezier.svg new file mode 100644 index 000000000..07a2c7f26 --- /dev/null +++ b/ico/qet/traced/16/ellipse-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/qet/traced/16/ellipse.svg b/ico/qet/traced/16/ellipse.svg new file mode 100644 index 000000000..a3ed773e6 --- /dev/null +++ b/ico/qet/traced/16/ellipse.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/ico/traced/16/endline-circle.svg b/ico/qet/traced/16/endline-circle.svg similarity index 100% rename from ico/traced/16/endline-circle.svg rename to ico/qet/traced/16/endline-circle.svg diff --git a/ico/traced/16/endline-diamond.svg b/ico/qet/traced/16/endline-diamond.svg similarity index 100% rename from ico/traced/16/endline-diamond.svg rename to ico/qet/traced/16/endline-diamond.svg diff --git a/ico/traced/16/endline-none.svg b/ico/qet/traced/16/endline-none.svg similarity index 100% rename from ico/traced/16/endline-none.svg rename to ico/qet/traced/16/endline-none.svg diff --git a/ico/traced/16/endline-simple.svg b/ico/qet/traced/16/endline-simple.svg similarity index 100% rename from ico/traced/16/endline-simple.svg rename to ico/qet/traced/16/endline-simple.svg diff --git a/ico/traced/16/endline-triangle.svg b/ico/qet/traced/16/endline-triangle.svg similarity index 100% rename from ico/traced/16/endline-triangle.svg rename to ico/qet/traced/16/endline-triangle.svg diff --git a/ico/traced/16/export-csv.svg b/ico/qet/traced/16/export-csv.svg similarity index 100% rename from ico/traced/16/export-csv.svg rename to ico/qet/traced/16/export-csv.svg diff --git a/ico/traced/16/folder-delete.svg b/ico/qet/traced/16/folder-delete.svg similarity index 100% rename from ico/traced/16/folder-delete.svg rename to ico/qet/traced/16/folder-delete.svg diff --git a/ico/traced/16/folder-edit.svg b/ico/qet/traced/16/folder-edit.svg similarity index 100% rename from ico/traced/16/folder-edit.svg rename to ico/qet/traced/16/folder-edit.svg diff --git a/ico/traced/16/folder-only-this.svg b/ico/qet/traced/16/folder-only-this.svg similarity index 100% rename from ico/traced/16/folder-only-this.svg rename to ico/qet/traced/16/folder-only-this.svg diff --git a/ico/traced/16/folder-show-all.svg b/ico/qet/traced/16/folder-show-all.svg similarity index 100% rename from ico/traced/16/folder-show-all.svg rename to ico/qet/traced/16/folder-show-all.svg diff --git a/ico/traced/16/folio-ref-coming.svg b/ico/qet/traced/16/folio-ref-coming.svg similarity index 100% rename from ico/traced/16/folio-ref-coming.svg rename to ico/qet/traced/16/folio-ref-coming.svg diff --git a/ico/traced/16/go-company.svg b/ico/qet/traced/16/go-company.svg similarity index 100% rename from ico/traced/16/go-company.svg rename to ico/qet/traced/16/go-company.svg diff --git a/ico/traced/16/ground.svg b/ico/qet/traced/16/ground.svg similarity index 100% rename from ico/traced/16/ground.svg rename to ico/qet/traced/16/ground.svg diff --git a/ico/traced/16/guides.svg b/ico/qet/traced/16/guides.svg similarity index 100% rename from ico/traced/16/guides.svg rename to ico/qet/traced/16/guides.svg diff --git a/ico/traced/16/hotspot.svg b/ico/qet/traced/16/hotspot.svg similarity index 100% rename from ico/traced/16/hotspot.svg rename to ico/qet/traced/16/hotspot.svg diff --git a/ico/traced/16/landscape.svg b/ico/qet/traced/16/landscape.svg similarity index 100% rename from ico/traced/16/landscape.svg rename to ico/qet/traced/16/landscape.svg diff --git a/ico/traced/16/lower.svg b/ico/qet/traced/16/lower.svg similarity index 100% rename from ico/traced/16/lower.svg rename to ico/qet/traced/16/lower.svg diff --git a/ico/qet/traced/16/move.svg b/ico/qet/traced/16/move.svg new file mode 100644 index 000000000..ca1a69142 --- /dev/null +++ b/ico/qet/traced/16/move.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/16/names.svg b/ico/qet/traced/16/names.svg similarity index 100% rename from ico/traced/16/names.svg rename to ico/qet/traced/16/names.svg diff --git a/ico/traced/16/neutral.svg b/ico/qet/traced/16/neutral.svg similarity index 100% rename from ico/traced/16/neutral.svg rename to ico/qet/traced/16/neutral.svg diff --git a/ico/traced/16/north.svg b/ico/qet/traced/16/north.svg similarity index 100% rename from ico/traced/16/north.svg rename to ico/qet/traced/16/north.svg diff --git a/ico/traced/16/orientations.svg b/ico/qet/traced/16/orientations.svg similarity index 100% rename from ico/traced/16/orientations.svg rename to ico/qet/traced/16/orientations.svg diff --git a/ico/traced/16/phase.svg b/ico/qet/traced/16/phase.svg similarity index 100% rename from ico/traced/16/phase.svg rename to ico/qet/traced/16/phase.svg diff --git a/ico/traced/16/plasmagik.svg b/ico/qet/traced/16/plasmagik.svg similarity index 100% rename from ico/traced/16/plasmagik.svg rename to ico/qet/traced/16/plasmagik.svg diff --git a/ico/traced/16/portrait.svg b/ico/qet/traced/16/portrait.svg similarity index 100% rename from ico/traced/16/portrait.svg rename to ico/qet/traced/16/portrait.svg diff --git a/ico/traced/16/project-close.svg b/ico/qet/traced/16/project-close.svg similarity index 100% rename from ico/traced/16/project-close.svg rename to ico/qet/traced/16/project-close.svg diff --git a/ico/traced/16/project-new.svg b/ico/qet/traced/16/project-new.svg similarity index 100% rename from ico/traced/16/project-new.svg rename to ico/qet/traced/16/project-new.svg diff --git a/ico/traced/16/project-properties.svg b/ico/qet/traced/16/project-properties.svg similarity index 100% rename from ico/traced/16/project-properties.svg rename to ico/qet/traced/16/project-properties.svg diff --git a/ico/traced/16/project.svg b/ico/qet/traced/16/project.svg similarity index 100% rename from ico/traced/16/project.svg rename to ico/qet/traced/16/project.svg diff --git a/ico/qet/traced/16/qet.svg b/ico/qet/traced/16/qet.svg new file mode 100644 index 000000000..3a8c37a1f --- /dev/null +++ b/ico/qet/traced/16/qet.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/16/qt.svg b/ico/qet/traced/16/qt.svg new file mode 100644 index 000000000..1d39bbb5c --- /dev/null +++ b/ico/qet/traced/16/qt.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/16/raise.svg b/ico/qet/traced/16/raise.svg similarity index 100% rename from ico/traced/16/raise.svg rename to ico/qet/traced/16/raise.svg diff --git a/ico/qet/traced/16/rect-to-bezier.svg b/ico/qet/traced/16/rect-to-bezier.svg new file mode 100644 index 000000000..8e013f48a --- /dev/null +++ b/ico/qet/traced/16/rect-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/qet/traced/16/rect-to-polyline.svg b/ico/qet/traced/16/rect-to-polyline.svg new file mode 100644 index 000000000..43731fff3 --- /dev/null +++ b/ico/qet/traced/16/rect-to-polyline.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/traced/16/run-dxf.svg b/ico/qet/traced/16/run-dxf.svg similarity index 100% rename from ico/traced/16/run-dxf.svg rename to ico/qet/traced/16/run-dxf.svg diff --git a/ico/traced/16/send_backward.svg b/ico/qet/traced/16/send_backward.svg similarity index 100% rename from ico/traced/16/send_backward.svg rename to ico/qet/traced/16/send_backward.svg diff --git a/ico/traced/16/simplifyrichtext.svg b/ico/qet/traced/16/simplifyrichtext.svg similarity index 100% rename from ico/traced/16/simplifyrichtext.svg rename to ico/qet/traced/16/simplifyrichtext.svg diff --git a/ico/traced/16/south.svg b/ico/qet/traced/16/south.svg similarity index 100% rename from ico/traced/16/south.svg rename to ico/qet/traced/16/south.svg diff --git a/ico/traced/16/terminal.svg b/ico/qet/traced/16/terminal.svg similarity index 100% rename from ico/traced/16/terminal.svg rename to ico/qet/traced/16/terminal.svg diff --git a/ico/traced/16/terminalstrip.svg b/ico/qet/traced/16/terminalstrip.svg similarity index 100% rename from ico/traced/16/terminalstrip.svg rename to ico/qet/traced/16/terminalstrip.svg diff --git a/ico/traced/16/text-xml.svg b/ico/qet/traced/16/text-xml.svg similarity index 100% rename from ico/traced/16/text-xml.svg rename to ico/qet/traced/16/text-xml.svg diff --git a/ico/traced/16/textfield.svg b/ico/qet/traced/16/textfield.svg similarity index 100% rename from ico/traced/16/textfield.svg rename to ico/qet/traced/16/textfield.svg diff --git a/ico/traced/16/titleblock-bottom.svg b/ico/qet/traced/16/titleblock-bottom.svg similarity index 100% rename from ico/traced/16/titleblock-bottom.svg rename to ico/qet/traced/16/titleblock-bottom.svg diff --git a/ico/traced/16/titleblock-right.svg b/ico/qet/traced/16/titleblock-right.svg similarity index 100% rename from ico/traced/16/titleblock-right.svg rename to ico/qet/traced/16/titleblock-right.svg diff --git a/ico/qet/traced/16/user-away-extended.svg b/ico/qet/traced/16/user-away-extended.svg new file mode 100644 index 000000000..ade4e5c3a --- /dev/null +++ b/ico/qet/traced/16/user-away-extended.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/16/view-fit-window.svg b/ico/qet/traced/16/view-fit-window.svg new file mode 100644 index 000000000..2be401960 --- /dev/null +++ b/ico/qet/traced/16/view-fit-window.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ico/traced/16/west.svg b/ico/qet/traced/16/west.svg similarity index 100% rename from ico/traced/16/west.svg rename to ico/qet/traced/16/west.svg diff --git a/ico/traced/16/zoom-fit-best.svg b/ico/qet/traced/16/zoom-fit-best.svg similarity index 100% rename from ico/traced/16/zoom-fit-best.svg rename to ico/qet/traced/16/zoom-fit-best.svg diff --git a/ico/traced/22/all_pages.svg b/ico/qet/traced/22/all_pages.svg similarity index 100% rename from ico/traced/22/all_pages.svg rename to ico/qet/traced/22/all_pages.svg diff --git a/ico/traced/22/application-pdf.svg b/ico/qet/traced/22/application-pdf.svg similarity index 100% rename from ico/traced/22/application-pdf.svg rename to ico/qet/traced/22/application-pdf.svg diff --git a/ico/qet/traced/22/arc.svg b/ico/qet/traced/22/arc.svg new file mode 100644 index 000000000..d7de8200e --- /dev/null +++ b/ico/qet/traced/22/arc.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/arrow-left-double.svg b/ico/qet/traced/22/arrow-left-double.svg similarity index 100% rename from ico/traced/22/arrow-left-double.svg rename to ico/qet/traced/22/arrow-left-double.svg diff --git a/ico/traced/22/arrow-right-double.svg b/ico/qet/traced/22/arrow-right-double.svg similarity index 100% rename from ico/traced/22/arrow-right-double.svg rename to ico/qet/traced/22/arrow-right-double.svg diff --git a/ico/qet/traced/22/autoconnect.svg b/ico/qet/traced/22/autoconnect.svg new file mode 100644 index 000000000..ca36d3aef --- /dev/null +++ b/ico/qet/traced/22/autoconnect.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/qet/traced/22/bring_forward.svg b/ico/qet/traced/22/bring_forward.svg new file mode 100644 index 000000000..478f2c2df --- /dev/null +++ b/ico/qet/traced/22/bring_forward.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/cable.svg b/ico/qet/traced/22/cable.svg similarity index 100% rename from ico/traced/22/cable.svg rename to ico/qet/traced/22/cable.svg diff --git a/ico/qet/traced/22/circle.svg b/ico/qet/traced/22/circle.svg new file mode 100644 index 000000000..8b29d8837 --- /dev/null +++ b/ico/qet/traced/22/circle.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/conductor-edit.svg b/ico/qet/traced/22/conductor-edit.svg similarity index 100% rename from ico/traced/22/conductor-edit.svg rename to ico/qet/traced/22/conductor-edit.svg diff --git a/ico/traced/22/conductor-reset.svg b/ico/qet/traced/22/conductor-reset.svg similarity index 100% rename from ico/traced/22/conductor-reset.svg rename to ico/qet/traced/22/conductor-reset.svg diff --git a/ico/qet/traced/22/conductor.svg b/ico/qet/traced/22/conductor.svg new file mode 100644 index 000000000..b18342819 --- /dev/null +++ b/ico/qet/traced/22/conductor.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/ico/traced/22/conductor2.svg b/ico/qet/traced/22/conductor2.svg similarity index 100% rename from ico/traced/22/conductor2.svg rename to ico/qet/traced/22/conductor2.svg diff --git a/ico/traced/22/configure-toolbars.svg b/ico/qet/traced/22/configure-toolbars.svg similarity index 100% rename from ico/traced/22/configure-toolbars.svg rename to ico/qet/traced/22/configure-toolbars.svg diff --git a/ico/traced/22/diagram_bg.svg b/ico/qet/traced/22/diagram_bg.svg similarity index 100% rename from ico/traced/22/diagram_bg.svg rename to ico/qet/traced/22/diagram_bg.svg diff --git a/ico/traced/22/east.svg b/ico/qet/traced/22/east.svg similarity index 100% rename from ico/traced/22/east.svg rename to ico/qet/traced/22/east.svg diff --git a/ico/traced/22/element-delete.svg b/ico/qet/traced/22/element-delete.svg similarity index 100% rename from ico/traced/22/element-delete.svg rename to ico/qet/traced/22/element-delete.svg diff --git a/ico/traced/22/element-edit.svg b/ico/qet/traced/22/element-edit.svg similarity index 100% rename from ico/traced/22/element-edit.svg rename to ico/qet/traced/22/element-edit.svg diff --git a/ico/traced/22/element-master.svg b/ico/qet/traced/22/element-master.svg similarity index 100% rename from ico/traced/22/element-master.svg rename to ico/qet/traced/22/element-master.svg diff --git a/ico/traced/22/element-new.svg b/ico/qet/traced/22/element-new.svg similarity index 100% rename from ico/traced/22/element-new.svg rename to ico/qet/traced/22/element-new.svg diff --git a/ico/traced/22/element-slave.svg b/ico/qet/traced/22/element-slave.svg similarity index 100% rename from ico/traced/22/element-slave.svg rename to ico/qet/traced/22/element-slave.svg diff --git a/ico/qet/traced/22/element.svg b/ico/qet/traced/22/element.svg new file mode 100644 index 000000000..6fcf61e1c --- /dev/null +++ b/ico/qet/traced/22/element.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/22/ellipse-to-bezier.svg b/ico/qet/traced/22/ellipse-to-bezier.svg new file mode 100644 index 000000000..a04c198f9 --- /dev/null +++ b/ico/qet/traced/22/ellipse-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/qet/traced/22/ellipse.svg b/ico/qet/traced/22/ellipse.svg new file mode 100644 index 000000000..55071aab2 --- /dev/null +++ b/ico/qet/traced/22/ellipse.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/endline-circle.svg b/ico/qet/traced/22/endline-circle.svg similarity index 100% rename from ico/traced/22/endline-circle.svg rename to ico/qet/traced/22/endline-circle.svg diff --git a/ico/traced/22/endline-diamond.svg b/ico/qet/traced/22/endline-diamond.svg similarity index 100% rename from ico/traced/22/endline-diamond.svg rename to ico/qet/traced/22/endline-diamond.svg diff --git a/ico/traced/22/endline-none.svg b/ico/qet/traced/22/endline-none.svg similarity index 100% rename from ico/traced/22/endline-none.svg rename to ico/qet/traced/22/endline-none.svg diff --git a/ico/traced/22/endline-simple.svg b/ico/qet/traced/22/endline-simple.svg similarity index 100% rename from ico/traced/22/endline-simple.svg rename to ico/qet/traced/22/endline-simple.svg diff --git a/ico/traced/22/endline-triangle.svg b/ico/qet/traced/22/endline-triangle.svg similarity index 100% rename from ico/traced/22/endline-triangle.svg rename to ico/qet/traced/22/endline-triangle.svg diff --git a/ico/traced/22/export-csv.svg b/ico/qet/traced/22/export-csv.svg similarity index 100% rename from ico/traced/22/export-csv.svg rename to ico/qet/traced/22/export-csv.svg diff --git a/ico/traced/22/folder-delete.svg b/ico/qet/traced/22/folder-delete.svg similarity index 100% rename from ico/traced/22/folder-delete.svg rename to ico/qet/traced/22/folder-delete.svg diff --git a/ico/traced/22/folder-edit.svg b/ico/qet/traced/22/folder-edit.svg similarity index 100% rename from ico/traced/22/folder-edit.svg rename to ico/qet/traced/22/folder-edit.svg diff --git a/ico/traced/22/folder-only-this.svg b/ico/qet/traced/22/folder-only-this.svg similarity index 100% rename from ico/traced/22/folder-only-this.svg rename to ico/qet/traced/22/folder-only-this.svg diff --git a/ico/traced/22/folder-show-all.svg b/ico/qet/traced/22/folder-show-all.svg similarity index 100% rename from ico/traced/22/folder-show-all.svg rename to ico/qet/traced/22/folder-show-all.svg diff --git a/ico/traced/22/folio-ref-coming.svg b/ico/qet/traced/22/folio-ref-coming.svg similarity index 100% rename from ico/traced/22/folio-ref-coming.svg rename to ico/qet/traced/22/folio-ref-coming.svg diff --git a/ico/traced/22/go-company.svg b/ico/qet/traced/22/go-company.svg similarity index 100% rename from ico/traced/22/go-company.svg rename to ico/qet/traced/22/go-company.svg diff --git a/ico/traced/22/ground.svg b/ico/qet/traced/22/ground.svg similarity index 100% rename from ico/traced/22/ground.svg rename to ico/qet/traced/22/ground.svg diff --git a/ico/traced/22/guides.svg b/ico/qet/traced/22/guides.svg similarity index 100% rename from ico/traced/22/guides.svg rename to ico/qet/traced/22/guides.svg diff --git a/ico/traced/22/hotspot.svg b/ico/qet/traced/22/hotspot.svg similarity index 100% rename from ico/traced/22/hotspot.svg rename to ico/qet/traced/22/hotspot.svg diff --git a/ico/traced/22/landscape.svg b/ico/qet/traced/22/landscape.svg similarity index 100% rename from ico/traced/22/landscape.svg rename to ico/qet/traced/22/landscape.svg diff --git a/ico/traced/22/lower.svg b/ico/qet/traced/22/lower.svg similarity index 100% rename from ico/traced/22/lower.svg rename to ico/qet/traced/22/lower.svg diff --git a/ico/qet/traced/22/move.svg b/ico/qet/traced/22/move.svg new file mode 100644 index 000000000..4fabe5b6d --- /dev/null +++ b/ico/qet/traced/22/move.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/names.svg b/ico/qet/traced/22/names.svg similarity index 100% rename from ico/traced/22/names.svg rename to ico/qet/traced/22/names.svg diff --git a/ico/traced/22/neutral.svg b/ico/qet/traced/22/neutral.svg similarity index 100% rename from ico/traced/22/neutral.svg rename to ico/qet/traced/22/neutral.svg diff --git a/ico/traced/22/north.svg b/ico/qet/traced/22/north.svg similarity index 100% rename from ico/traced/22/north.svg rename to ico/qet/traced/22/north.svg diff --git a/ico/traced/22/orientations.svg b/ico/qet/traced/22/orientations.svg similarity index 100% rename from ico/traced/22/orientations.svg rename to ico/qet/traced/22/orientations.svg diff --git a/ico/traced/22/phase.svg b/ico/qet/traced/22/phase.svg similarity index 100% rename from ico/traced/22/phase.svg rename to ico/qet/traced/22/phase.svg diff --git a/ico/traced/22/plasmagik.svg b/ico/qet/traced/22/plasmagik.svg similarity index 100% rename from ico/traced/22/plasmagik.svg rename to ico/qet/traced/22/plasmagik.svg diff --git a/ico/traced/22/portrait.svg b/ico/qet/traced/22/portrait.svg similarity index 100% rename from ico/traced/22/portrait.svg rename to ico/qet/traced/22/portrait.svg diff --git a/ico/traced/22/project-close.svg b/ico/qet/traced/22/project-close.svg similarity index 100% rename from ico/traced/22/project-close.svg rename to ico/qet/traced/22/project-close.svg diff --git a/ico/traced/22/project-new.svg b/ico/qet/traced/22/project-new.svg similarity index 100% rename from ico/traced/22/project-new.svg rename to ico/qet/traced/22/project-new.svg diff --git a/ico/traced/22/project-properties.svg b/ico/qet/traced/22/project-properties.svg similarity index 100% rename from ico/traced/22/project-properties.svg rename to ico/qet/traced/22/project-properties.svg diff --git a/ico/traced/22/project.svg b/ico/qet/traced/22/project.svg similarity index 100% rename from ico/traced/22/project.svg rename to ico/qet/traced/22/project.svg diff --git a/ico/qet/traced/22/qet.svg b/ico/qet/traced/22/qet.svg new file mode 100644 index 000000000..ae4009302 --- /dev/null +++ b/ico/qet/traced/22/qet.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/22/qt.svg b/ico/qet/traced/22/qt.svg new file mode 100644 index 000000000..8c0534014 --- /dev/null +++ b/ico/qet/traced/22/qt.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/traced/22/raise.svg b/ico/qet/traced/22/raise.svg similarity index 100% rename from ico/traced/22/raise.svg rename to ico/qet/traced/22/raise.svg diff --git a/ico/qet/traced/22/rect-to-bezier.svg b/ico/qet/traced/22/rect-to-bezier.svg new file mode 100644 index 000000000..37f21518b --- /dev/null +++ b/ico/qet/traced/22/rect-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/qet/traced/22/rect-to-polyline.svg b/ico/qet/traced/22/rect-to-polyline.svg new file mode 100644 index 000000000..d26b1b4d2 --- /dev/null +++ b/ico/qet/traced/22/rect-to-polyline.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/traced/22/run-dxf.svg b/ico/qet/traced/22/run-dxf.svg similarity index 100% rename from ico/traced/22/run-dxf.svg rename to ico/qet/traced/22/run-dxf.svg diff --git a/ico/traced/22/send_backward.svg b/ico/qet/traced/22/send_backward.svg similarity index 100% rename from ico/traced/22/send_backward.svg rename to ico/qet/traced/22/send_backward.svg diff --git a/ico/traced/22/simplifyrichtext.svg b/ico/qet/traced/22/simplifyrichtext.svg similarity index 100% rename from ico/traced/22/simplifyrichtext.svg rename to ico/qet/traced/22/simplifyrichtext.svg diff --git a/ico/traced/22/south.svg b/ico/qet/traced/22/south.svg similarity index 100% rename from ico/traced/22/south.svg rename to ico/qet/traced/22/south.svg diff --git a/ico/traced/22/terminal.svg b/ico/qet/traced/22/terminal.svg similarity index 100% rename from ico/traced/22/terminal.svg rename to ico/qet/traced/22/terminal.svg diff --git a/ico/traced/22/terminalstrip.svg b/ico/qet/traced/22/terminalstrip.svg similarity index 100% rename from ico/traced/22/terminalstrip.svg rename to ico/qet/traced/22/terminalstrip.svg diff --git a/ico/traced/22/text-xml.svg b/ico/qet/traced/22/text-xml.svg similarity index 100% rename from ico/traced/22/text-xml.svg rename to ico/qet/traced/22/text-xml.svg diff --git a/ico/traced/22/textfield.svg b/ico/qet/traced/22/textfield.svg similarity index 100% rename from ico/traced/22/textfield.svg rename to ico/qet/traced/22/textfield.svg diff --git a/ico/traced/22/titleblock-bottom.svg b/ico/qet/traced/22/titleblock-bottom.svg similarity index 100% rename from ico/traced/22/titleblock-bottom.svg rename to ico/qet/traced/22/titleblock-bottom.svg diff --git a/ico/traced/22/titleblock-right.svg b/ico/qet/traced/22/titleblock-right.svg similarity index 100% rename from ico/traced/22/titleblock-right.svg rename to ico/qet/traced/22/titleblock-right.svg diff --git a/ico/qet/traced/22/user-away-extended.svg b/ico/qet/traced/22/user-away-extended.svg new file mode 100644 index 000000000..77cb631c4 --- /dev/null +++ b/ico/qet/traced/22/user-away-extended.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/22/view-fit-window.svg b/ico/qet/traced/22/view-fit-window.svg new file mode 100644 index 000000000..c38944073 --- /dev/null +++ b/ico/qet/traced/22/view-fit-window.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ico/traced/22/west.svg b/ico/qet/traced/22/west.svg similarity index 100% rename from ico/traced/22/west.svg rename to ico/qet/traced/22/west.svg diff --git a/ico/traced/22/zoom-fit-best.svg b/ico/qet/traced/22/zoom-fit-best.svg similarity index 100% rename from ico/traced/22/zoom-fit-best.svg rename to ico/qet/traced/22/zoom-fit-best.svg diff --git a/ico/traced/large16/all_pages.svg b/ico/qet/traced/large16/all_pages.svg similarity index 100% rename from ico/traced/large16/all_pages.svg rename to ico/qet/traced/large16/all_pages.svg diff --git a/ico/traced/large16/application-pdf.svg b/ico/qet/traced/large16/application-pdf.svg similarity index 100% rename from ico/traced/large16/application-pdf.svg rename to ico/qet/traced/large16/application-pdf.svg diff --git a/ico/qet/traced/large16/arc.svg b/ico/qet/traced/large16/arc.svg new file mode 100644 index 000000000..f5a63eaf2 --- /dev/null +++ b/ico/qet/traced/large16/arc.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/traced/large16/arrow-left-double.svg b/ico/qet/traced/large16/arrow-left-double.svg similarity index 100% rename from ico/traced/large16/arrow-left-double.svg rename to ico/qet/traced/large16/arrow-left-double.svg diff --git a/ico/traced/large16/arrow-right-double.svg b/ico/qet/traced/large16/arrow-right-double.svg similarity index 100% rename from ico/traced/large16/arrow-right-double.svg rename to ico/qet/traced/large16/arrow-right-double.svg diff --git a/ico/qet/traced/large16/autoconnect.svg b/ico/qet/traced/large16/autoconnect.svg new file mode 100644 index 000000000..db1ba2417 --- /dev/null +++ b/ico/qet/traced/large16/autoconnect.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/large16/bring_forward.svg b/ico/qet/traced/large16/bring_forward.svg new file mode 100644 index 000000000..caa43e692 --- /dev/null +++ b/ico/qet/traced/large16/bring_forward.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/traced/large16/cable.svg b/ico/qet/traced/large16/cable.svg similarity index 100% rename from ico/traced/large16/cable.svg rename to ico/qet/traced/large16/cable.svg diff --git a/ico/qet/traced/large16/circle.svg b/ico/qet/traced/large16/circle.svg new file mode 100644 index 000000000..54aade90f --- /dev/null +++ b/ico/qet/traced/large16/circle.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/traced/large16/conductor-edit.svg b/ico/qet/traced/large16/conductor-edit.svg similarity index 100% rename from ico/traced/large16/conductor-edit.svg rename to ico/qet/traced/large16/conductor-edit.svg diff --git a/ico/traced/large16/conductor-reset.svg b/ico/qet/traced/large16/conductor-reset.svg similarity index 100% rename from ico/traced/large16/conductor-reset.svg rename to ico/qet/traced/large16/conductor-reset.svg diff --git a/ico/qet/traced/large16/conductor.svg b/ico/qet/traced/large16/conductor.svg new file mode 100644 index 000000000..6721eccb2 --- /dev/null +++ b/ico/qet/traced/large16/conductor.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/ico/traced/large16/conductor2.svg b/ico/qet/traced/large16/conductor2.svg similarity index 100% rename from ico/traced/large16/conductor2.svg rename to ico/qet/traced/large16/conductor2.svg diff --git a/ico/traced/large16/configure-toolbars.svg b/ico/qet/traced/large16/configure-toolbars.svg similarity index 100% rename from ico/traced/large16/configure-toolbars.svg rename to ico/qet/traced/large16/configure-toolbars.svg diff --git a/ico/traced/large16/diagram_bg.svg b/ico/qet/traced/large16/diagram_bg.svg similarity index 100% rename from ico/traced/large16/diagram_bg.svg rename to ico/qet/traced/large16/diagram_bg.svg diff --git a/ico/traced/large16/east.svg b/ico/qet/traced/large16/east.svg similarity index 100% rename from ico/traced/large16/east.svg rename to ico/qet/traced/large16/east.svg diff --git a/ico/traced/large16/element-delete.svg b/ico/qet/traced/large16/element-delete.svg similarity index 100% rename from ico/traced/large16/element-delete.svg rename to ico/qet/traced/large16/element-delete.svg diff --git a/ico/traced/large16/element-edit.svg b/ico/qet/traced/large16/element-edit.svg similarity index 100% rename from ico/traced/large16/element-edit.svg rename to ico/qet/traced/large16/element-edit.svg diff --git a/ico/traced/large16/element-master.svg b/ico/qet/traced/large16/element-master.svg similarity index 100% rename from ico/traced/large16/element-master.svg rename to ico/qet/traced/large16/element-master.svg diff --git a/ico/traced/large16/element-new.svg b/ico/qet/traced/large16/element-new.svg similarity index 100% rename from ico/traced/large16/element-new.svg rename to ico/qet/traced/large16/element-new.svg diff --git a/ico/traced/large16/element-slave.svg b/ico/qet/traced/large16/element-slave.svg similarity index 100% rename from ico/traced/large16/element-slave.svg rename to ico/qet/traced/large16/element-slave.svg diff --git a/ico/qet/traced/large16/element.svg b/ico/qet/traced/large16/element.svg new file mode 100644 index 000000000..66b215a41 --- /dev/null +++ b/ico/qet/traced/large16/element.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large16/ellipse-to-bezier.svg b/ico/qet/traced/large16/ellipse-to-bezier.svg new file mode 100644 index 000000000..4218114df --- /dev/null +++ b/ico/qet/traced/large16/ellipse-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large16/ellipse.svg b/ico/qet/traced/large16/ellipse.svg new file mode 100644 index 000000000..37225a16b --- /dev/null +++ b/ico/qet/traced/large16/ellipse.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/traced/large16/endline-circle.svg b/ico/qet/traced/large16/endline-circle.svg similarity index 100% rename from ico/traced/large16/endline-circle.svg rename to ico/qet/traced/large16/endline-circle.svg diff --git a/ico/traced/large16/endline-diamond.svg b/ico/qet/traced/large16/endline-diamond.svg similarity index 100% rename from ico/traced/large16/endline-diamond.svg rename to ico/qet/traced/large16/endline-diamond.svg diff --git a/ico/traced/large16/endline-none.svg b/ico/qet/traced/large16/endline-none.svg similarity index 100% rename from ico/traced/large16/endline-none.svg rename to ico/qet/traced/large16/endline-none.svg diff --git a/ico/traced/large16/endline-simple.svg b/ico/qet/traced/large16/endline-simple.svg similarity index 100% rename from ico/traced/large16/endline-simple.svg rename to ico/qet/traced/large16/endline-simple.svg diff --git a/ico/traced/large16/endline-triangle.svg b/ico/qet/traced/large16/endline-triangle.svg similarity index 100% rename from ico/traced/large16/endline-triangle.svg rename to ico/qet/traced/large16/endline-triangle.svg diff --git a/ico/traced/large16/export-csv.svg b/ico/qet/traced/large16/export-csv.svg similarity index 100% rename from ico/traced/large16/export-csv.svg rename to ico/qet/traced/large16/export-csv.svg diff --git a/ico/traced/large16/folder-delete.svg b/ico/qet/traced/large16/folder-delete.svg similarity index 100% rename from ico/traced/large16/folder-delete.svg rename to ico/qet/traced/large16/folder-delete.svg diff --git a/ico/traced/large16/folder-edit.svg b/ico/qet/traced/large16/folder-edit.svg similarity index 100% rename from ico/traced/large16/folder-edit.svg rename to ico/qet/traced/large16/folder-edit.svg diff --git a/ico/traced/large16/folder-only-this.svg b/ico/qet/traced/large16/folder-only-this.svg similarity index 100% rename from ico/traced/large16/folder-only-this.svg rename to ico/qet/traced/large16/folder-only-this.svg diff --git a/ico/traced/large16/folder-show-all.svg b/ico/qet/traced/large16/folder-show-all.svg similarity index 100% rename from ico/traced/large16/folder-show-all.svg rename to ico/qet/traced/large16/folder-show-all.svg diff --git a/ico/traced/large16/folio-ref-coming.svg b/ico/qet/traced/large16/folio-ref-coming.svg similarity index 100% rename from ico/traced/large16/folio-ref-coming.svg rename to ico/qet/traced/large16/folio-ref-coming.svg diff --git a/ico/traced/large16/go-company.svg b/ico/qet/traced/large16/go-company.svg similarity index 100% rename from ico/traced/large16/go-company.svg rename to ico/qet/traced/large16/go-company.svg diff --git a/ico/traced/large16/ground.svg b/ico/qet/traced/large16/ground.svg similarity index 100% rename from ico/traced/large16/ground.svg rename to ico/qet/traced/large16/ground.svg diff --git a/ico/traced/large16/guides.svg b/ico/qet/traced/large16/guides.svg similarity index 100% rename from ico/traced/large16/guides.svg rename to ico/qet/traced/large16/guides.svg diff --git a/ico/traced/large16/hotspot.svg b/ico/qet/traced/large16/hotspot.svg similarity index 100% rename from ico/traced/large16/hotspot.svg rename to ico/qet/traced/large16/hotspot.svg diff --git a/ico/traced/large16/landscape.svg b/ico/qet/traced/large16/landscape.svg similarity index 100% rename from ico/traced/large16/landscape.svg rename to ico/qet/traced/large16/landscape.svg diff --git a/ico/traced/large16/lower.svg b/ico/qet/traced/large16/lower.svg similarity index 100% rename from ico/traced/large16/lower.svg rename to ico/qet/traced/large16/lower.svg diff --git a/ico/qet/traced/large16/move.svg b/ico/qet/traced/large16/move.svg new file mode 100644 index 000000000..180e532c4 --- /dev/null +++ b/ico/qet/traced/large16/move.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/traced/large16/names.svg b/ico/qet/traced/large16/names.svg similarity index 100% rename from ico/traced/large16/names.svg rename to ico/qet/traced/large16/names.svg diff --git a/ico/traced/large16/neutral.svg b/ico/qet/traced/large16/neutral.svg similarity index 100% rename from ico/traced/large16/neutral.svg rename to ico/qet/traced/large16/neutral.svg diff --git a/ico/traced/large16/north.svg b/ico/qet/traced/large16/north.svg similarity index 100% rename from ico/traced/large16/north.svg rename to ico/qet/traced/large16/north.svg diff --git a/ico/traced/large16/orientations.svg b/ico/qet/traced/large16/orientations.svg similarity index 100% rename from ico/traced/large16/orientations.svg rename to ico/qet/traced/large16/orientations.svg diff --git a/ico/traced/large16/phase.svg b/ico/qet/traced/large16/phase.svg similarity index 100% rename from ico/traced/large16/phase.svg rename to ico/qet/traced/large16/phase.svg diff --git a/ico/traced/large16/plasmagik.svg b/ico/qet/traced/large16/plasmagik.svg similarity index 100% rename from ico/traced/large16/plasmagik.svg rename to ico/qet/traced/large16/plasmagik.svg diff --git a/ico/traced/large16/portrait.svg b/ico/qet/traced/large16/portrait.svg similarity index 100% rename from ico/traced/large16/portrait.svg rename to ico/qet/traced/large16/portrait.svg diff --git a/ico/traced/large16/project-close.svg b/ico/qet/traced/large16/project-close.svg similarity index 100% rename from ico/traced/large16/project-close.svg rename to ico/qet/traced/large16/project-close.svg diff --git a/ico/traced/large16/project-new.svg b/ico/qet/traced/large16/project-new.svg similarity index 100% rename from ico/traced/large16/project-new.svg rename to ico/qet/traced/large16/project-new.svg diff --git a/ico/traced/large16/project-properties.svg b/ico/qet/traced/large16/project-properties.svg similarity index 100% rename from ico/traced/large16/project-properties.svg rename to ico/qet/traced/large16/project-properties.svg diff --git a/ico/traced/large16/project.svg b/ico/qet/traced/large16/project.svg similarity index 100% rename from ico/traced/large16/project.svg rename to ico/qet/traced/large16/project.svg diff --git a/ico/qet/traced/large16/qet.svg b/ico/qet/traced/large16/qet.svg new file mode 100644 index 000000000..8df27d1ca --- /dev/null +++ b/ico/qet/traced/large16/qet.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/ico/qet/traced/large16/qt.svg b/ico/qet/traced/large16/qt.svg new file mode 100644 index 000000000..989d8e813 --- /dev/null +++ b/ico/qet/traced/large16/qt.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/ico/traced/large16/raise.svg b/ico/qet/traced/large16/raise.svg similarity index 100% rename from ico/traced/large16/raise.svg rename to ico/qet/traced/large16/raise.svg diff --git a/ico/qet/traced/large16/rect-to-bezier.svg b/ico/qet/traced/large16/rect-to-bezier.svg new file mode 100644 index 000000000..8e2f593c7 --- /dev/null +++ b/ico/qet/traced/large16/rect-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large16/rect-to-polyline.svg b/ico/qet/traced/large16/rect-to-polyline.svg new file mode 100644 index 000000000..636aa447d --- /dev/null +++ b/ico/qet/traced/large16/rect-to-polyline.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/traced/large16/run-dxf.svg b/ico/qet/traced/large16/run-dxf.svg similarity index 100% rename from ico/traced/large16/run-dxf.svg rename to ico/qet/traced/large16/run-dxf.svg diff --git a/ico/traced/large16/send_backward.svg b/ico/qet/traced/large16/send_backward.svg similarity index 100% rename from ico/traced/large16/send_backward.svg rename to ico/qet/traced/large16/send_backward.svg diff --git a/ico/traced/large16/simplifyrichtext.svg b/ico/qet/traced/large16/simplifyrichtext.svg similarity index 100% rename from ico/traced/large16/simplifyrichtext.svg rename to ico/qet/traced/large16/simplifyrichtext.svg diff --git a/ico/traced/large16/south.svg b/ico/qet/traced/large16/south.svg similarity index 100% rename from ico/traced/large16/south.svg rename to ico/qet/traced/large16/south.svg diff --git a/ico/traced/large16/terminal.svg b/ico/qet/traced/large16/terminal.svg similarity index 100% rename from ico/traced/large16/terminal.svg rename to ico/qet/traced/large16/terminal.svg diff --git a/ico/traced/large16/terminalstrip.svg b/ico/qet/traced/large16/terminalstrip.svg similarity index 100% rename from ico/traced/large16/terminalstrip.svg rename to ico/qet/traced/large16/terminalstrip.svg diff --git a/ico/traced/large16/text-xml.svg b/ico/qet/traced/large16/text-xml.svg similarity index 100% rename from ico/traced/large16/text-xml.svg rename to ico/qet/traced/large16/text-xml.svg diff --git a/ico/traced/large16/textfield.svg b/ico/qet/traced/large16/textfield.svg similarity index 100% rename from ico/traced/large16/textfield.svg rename to ico/qet/traced/large16/textfield.svg diff --git a/ico/traced/large16/titleblock-bottom.svg b/ico/qet/traced/large16/titleblock-bottom.svg similarity index 100% rename from ico/traced/large16/titleblock-bottom.svg rename to ico/qet/traced/large16/titleblock-bottom.svg diff --git a/ico/traced/large16/titleblock-right.svg b/ico/qet/traced/large16/titleblock-right.svg similarity index 100% rename from ico/traced/large16/titleblock-right.svg rename to ico/qet/traced/large16/titleblock-right.svg diff --git a/ico/qet/traced/large16/user-away-extended.svg b/ico/qet/traced/large16/user-away-extended.svg new file mode 100644 index 000000000..5bb547c5a --- /dev/null +++ b/ico/qet/traced/large16/user-away-extended.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/qet/traced/large16/view-fit-window.svg b/ico/qet/traced/large16/view-fit-window.svg new file mode 100644 index 000000000..c7fd13771 --- /dev/null +++ b/ico/qet/traced/large16/view-fit-window.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/traced/large16/west.svg b/ico/qet/traced/large16/west.svg similarity index 100% rename from ico/traced/large16/west.svg rename to ico/qet/traced/large16/west.svg diff --git a/ico/traced/large16/zoom-fit-best.svg b/ico/qet/traced/large16/zoom-fit-best.svg similarity index 100% rename from ico/traced/large16/zoom-fit-best.svg rename to ico/qet/traced/large16/zoom-fit-best.svg diff --git a/ico/traced/large22/all_pages.svg b/ico/qet/traced/large22/all_pages.svg similarity index 100% rename from ico/traced/large22/all_pages.svg rename to ico/qet/traced/large22/all_pages.svg diff --git a/ico/traced/large22/application-pdf.svg b/ico/qet/traced/large22/application-pdf.svg similarity index 100% rename from ico/traced/large22/application-pdf.svg rename to ico/qet/traced/large22/application-pdf.svg diff --git a/ico/qet/traced/large22/arc.svg b/ico/qet/traced/large22/arc.svg new file mode 100644 index 000000000..65f676d46 --- /dev/null +++ b/ico/qet/traced/large22/arc.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/traced/large22/arrow-left-double.svg b/ico/qet/traced/large22/arrow-left-double.svg similarity index 100% rename from ico/traced/large22/arrow-left-double.svg rename to ico/qet/traced/large22/arrow-left-double.svg diff --git a/ico/traced/large22/arrow-right-double.svg b/ico/qet/traced/large22/arrow-right-double.svg similarity index 100% rename from ico/traced/large22/arrow-right-double.svg rename to ico/qet/traced/large22/arrow-right-double.svg diff --git a/ico/qet/traced/large22/autoconnect.svg b/ico/qet/traced/large22/autoconnect.svg new file mode 100644 index 000000000..29a0bffa0 --- /dev/null +++ b/ico/qet/traced/large22/autoconnect.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/qet/traced/large22/bring_forward.svg b/ico/qet/traced/large22/bring_forward.svg new file mode 100644 index 000000000..a7c59edb3 --- /dev/null +++ b/ico/qet/traced/large22/bring_forward.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/traced/large22/cable.svg b/ico/qet/traced/large22/cable.svg similarity index 100% rename from ico/traced/large22/cable.svg rename to ico/qet/traced/large22/cable.svg diff --git a/ico/qet/traced/large22/circle.svg b/ico/qet/traced/large22/circle.svg new file mode 100644 index 000000000..4eff30488 --- /dev/null +++ b/ico/qet/traced/large22/circle.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/traced/large22/conductor-edit.svg b/ico/qet/traced/large22/conductor-edit.svg similarity index 100% rename from ico/traced/large22/conductor-edit.svg rename to ico/qet/traced/large22/conductor-edit.svg diff --git a/ico/traced/large22/conductor-reset.svg b/ico/qet/traced/large22/conductor-reset.svg similarity index 100% rename from ico/traced/large22/conductor-reset.svg rename to ico/qet/traced/large22/conductor-reset.svg diff --git a/ico/qet/traced/large22/conductor.svg b/ico/qet/traced/large22/conductor.svg new file mode 100644 index 000000000..0c1afe579 --- /dev/null +++ b/ico/qet/traced/large22/conductor.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/traced/large22/conductor2.svg b/ico/qet/traced/large22/conductor2.svg similarity index 100% rename from ico/traced/large22/conductor2.svg rename to ico/qet/traced/large22/conductor2.svg diff --git a/ico/traced/large22/configure-toolbars.svg b/ico/qet/traced/large22/configure-toolbars.svg similarity index 100% rename from ico/traced/large22/configure-toolbars.svg rename to ico/qet/traced/large22/configure-toolbars.svg diff --git a/ico/traced/large22/diagram_bg.svg b/ico/qet/traced/large22/diagram_bg.svg similarity index 100% rename from ico/traced/large22/diagram_bg.svg rename to ico/qet/traced/large22/diagram_bg.svg diff --git a/ico/traced/large22/east.svg b/ico/qet/traced/large22/east.svg similarity index 100% rename from ico/traced/large22/east.svg rename to ico/qet/traced/large22/east.svg diff --git a/ico/traced/large22/element-delete.svg b/ico/qet/traced/large22/element-delete.svg similarity index 100% rename from ico/traced/large22/element-delete.svg rename to ico/qet/traced/large22/element-delete.svg diff --git a/ico/traced/large22/element-edit.svg b/ico/qet/traced/large22/element-edit.svg similarity index 100% rename from ico/traced/large22/element-edit.svg rename to ico/qet/traced/large22/element-edit.svg diff --git a/ico/traced/large22/element-master.svg b/ico/qet/traced/large22/element-master.svg similarity index 100% rename from ico/traced/large22/element-master.svg rename to ico/qet/traced/large22/element-master.svg diff --git a/ico/traced/large22/element-new.svg b/ico/qet/traced/large22/element-new.svg similarity index 100% rename from ico/traced/large22/element-new.svg rename to ico/qet/traced/large22/element-new.svg diff --git a/ico/traced/large22/element-slave.svg b/ico/qet/traced/large22/element-slave.svg similarity index 100% rename from ico/traced/large22/element-slave.svg rename to ico/qet/traced/large22/element-slave.svg diff --git a/ico/qet/traced/large22/element.svg b/ico/qet/traced/large22/element.svg new file mode 100644 index 000000000..0f84da760 --- /dev/null +++ b/ico/qet/traced/large22/element.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large22/ellipse-to-bezier.svg b/ico/qet/traced/large22/ellipse-to-bezier.svg new file mode 100644 index 000000000..c8671eca1 --- /dev/null +++ b/ico/qet/traced/large22/ellipse-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large22/ellipse.svg b/ico/qet/traced/large22/ellipse.svg new file mode 100644 index 000000000..dbf0db55f --- /dev/null +++ b/ico/qet/traced/large22/ellipse.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/traced/large22/endline-circle.svg b/ico/qet/traced/large22/endline-circle.svg similarity index 100% rename from ico/traced/large22/endline-circle.svg rename to ico/qet/traced/large22/endline-circle.svg diff --git a/ico/traced/large22/endline-diamond.svg b/ico/qet/traced/large22/endline-diamond.svg similarity index 100% rename from ico/traced/large22/endline-diamond.svg rename to ico/qet/traced/large22/endline-diamond.svg diff --git a/ico/traced/large22/endline-none.svg b/ico/qet/traced/large22/endline-none.svg similarity index 100% rename from ico/traced/large22/endline-none.svg rename to ico/qet/traced/large22/endline-none.svg diff --git a/ico/traced/large22/endline-simple.svg b/ico/qet/traced/large22/endline-simple.svg similarity index 100% rename from ico/traced/large22/endline-simple.svg rename to ico/qet/traced/large22/endline-simple.svg diff --git a/ico/traced/large22/endline-triangle.svg b/ico/qet/traced/large22/endline-triangle.svg similarity index 100% rename from ico/traced/large22/endline-triangle.svg rename to ico/qet/traced/large22/endline-triangle.svg diff --git a/ico/traced/large22/export-csv.svg b/ico/qet/traced/large22/export-csv.svg similarity index 100% rename from ico/traced/large22/export-csv.svg rename to ico/qet/traced/large22/export-csv.svg diff --git a/ico/traced/large22/folder-delete.svg b/ico/qet/traced/large22/folder-delete.svg similarity index 100% rename from ico/traced/large22/folder-delete.svg rename to ico/qet/traced/large22/folder-delete.svg diff --git a/ico/traced/large22/folder-edit.svg b/ico/qet/traced/large22/folder-edit.svg similarity index 100% rename from ico/traced/large22/folder-edit.svg rename to ico/qet/traced/large22/folder-edit.svg diff --git a/ico/traced/large22/folder-only-this.svg b/ico/qet/traced/large22/folder-only-this.svg similarity index 100% rename from ico/traced/large22/folder-only-this.svg rename to ico/qet/traced/large22/folder-only-this.svg diff --git a/ico/traced/large22/folder-show-all.svg b/ico/qet/traced/large22/folder-show-all.svg similarity index 100% rename from ico/traced/large22/folder-show-all.svg rename to ico/qet/traced/large22/folder-show-all.svg diff --git a/ico/traced/large22/folio-ref-coming.svg b/ico/qet/traced/large22/folio-ref-coming.svg similarity index 100% rename from ico/traced/large22/folio-ref-coming.svg rename to ico/qet/traced/large22/folio-ref-coming.svg diff --git a/ico/traced/large22/go-company.svg b/ico/qet/traced/large22/go-company.svg similarity index 100% rename from ico/traced/large22/go-company.svg rename to ico/qet/traced/large22/go-company.svg diff --git a/ico/traced/large22/ground.svg b/ico/qet/traced/large22/ground.svg similarity index 100% rename from ico/traced/large22/ground.svg rename to ico/qet/traced/large22/ground.svg diff --git a/ico/traced/large22/guides.svg b/ico/qet/traced/large22/guides.svg similarity index 100% rename from ico/traced/large22/guides.svg rename to ico/qet/traced/large22/guides.svg diff --git a/ico/traced/large22/hotspot.svg b/ico/qet/traced/large22/hotspot.svg similarity index 100% rename from ico/traced/large22/hotspot.svg rename to ico/qet/traced/large22/hotspot.svg diff --git a/ico/traced/large22/landscape.svg b/ico/qet/traced/large22/landscape.svg similarity index 100% rename from ico/traced/large22/landscape.svg rename to ico/qet/traced/large22/landscape.svg diff --git a/ico/traced/large22/lower.svg b/ico/qet/traced/large22/lower.svg similarity index 100% rename from ico/traced/large22/lower.svg rename to ico/qet/traced/large22/lower.svg diff --git a/ico/qet/traced/large22/move.svg b/ico/qet/traced/large22/move.svg new file mode 100644 index 000000000..2c505be49 --- /dev/null +++ b/ico/qet/traced/large22/move.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/traced/large22/names.svg b/ico/qet/traced/large22/names.svg similarity index 100% rename from ico/traced/large22/names.svg rename to ico/qet/traced/large22/names.svg diff --git a/ico/traced/large22/neutral.svg b/ico/qet/traced/large22/neutral.svg similarity index 100% rename from ico/traced/large22/neutral.svg rename to ico/qet/traced/large22/neutral.svg diff --git a/ico/traced/large22/north.svg b/ico/qet/traced/large22/north.svg similarity index 100% rename from ico/traced/large22/north.svg rename to ico/qet/traced/large22/north.svg diff --git a/ico/traced/large22/orientations.svg b/ico/qet/traced/large22/orientations.svg similarity index 100% rename from ico/traced/large22/orientations.svg rename to ico/qet/traced/large22/orientations.svg diff --git a/ico/traced/large22/phase.svg b/ico/qet/traced/large22/phase.svg similarity index 100% rename from ico/traced/large22/phase.svg rename to ico/qet/traced/large22/phase.svg diff --git a/ico/traced/large22/plasmagik.svg b/ico/qet/traced/large22/plasmagik.svg similarity index 100% rename from ico/traced/large22/plasmagik.svg rename to ico/qet/traced/large22/plasmagik.svg diff --git a/ico/traced/large22/portrait.svg b/ico/qet/traced/large22/portrait.svg similarity index 100% rename from ico/traced/large22/portrait.svg rename to ico/qet/traced/large22/portrait.svg diff --git a/ico/traced/large22/project-close.svg b/ico/qet/traced/large22/project-close.svg similarity index 100% rename from ico/traced/large22/project-close.svg rename to ico/qet/traced/large22/project-close.svg diff --git a/ico/traced/large22/project-new.svg b/ico/qet/traced/large22/project-new.svg similarity index 100% rename from ico/traced/large22/project-new.svg rename to ico/qet/traced/large22/project-new.svg diff --git a/ico/traced/large22/project-properties.svg b/ico/qet/traced/large22/project-properties.svg similarity index 100% rename from ico/traced/large22/project-properties.svg rename to ico/qet/traced/large22/project-properties.svg diff --git a/ico/traced/large22/project.svg b/ico/qet/traced/large22/project.svg similarity index 100% rename from ico/traced/large22/project.svg rename to ico/qet/traced/large22/project.svg diff --git a/ico/qet/traced/large22/qet.svg b/ico/qet/traced/large22/qet.svg new file mode 100644 index 000000000..c889fac42 --- /dev/null +++ b/ico/qet/traced/large22/qet.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/ico/qet/traced/large22/qt.svg b/ico/qet/traced/large22/qt.svg new file mode 100644 index 000000000..989d8e813 --- /dev/null +++ b/ico/qet/traced/large22/qt.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + diff --git a/ico/traced/large22/raise.svg b/ico/qet/traced/large22/raise.svg similarity index 100% rename from ico/traced/large22/raise.svg rename to ico/qet/traced/large22/raise.svg diff --git a/ico/qet/traced/large22/rect-to-bezier.svg b/ico/qet/traced/large22/rect-to-bezier.svg new file mode 100644 index 000000000..b72078a47 --- /dev/null +++ b/ico/qet/traced/large22/rect-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/qet/traced/large22/rect-to-polyline.svg b/ico/qet/traced/large22/rect-to-polyline.svg new file mode 100644 index 000000000..8876cb1e1 --- /dev/null +++ b/ico/qet/traced/large22/rect-to-polyline.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/traced/large22/run-dxf.svg b/ico/qet/traced/large22/run-dxf.svg similarity index 100% rename from ico/traced/large22/run-dxf.svg rename to ico/qet/traced/large22/run-dxf.svg diff --git a/ico/traced/large22/send_backward.svg b/ico/qet/traced/large22/send_backward.svg similarity index 100% rename from ico/traced/large22/send_backward.svg rename to ico/qet/traced/large22/send_backward.svg diff --git a/ico/traced/large22/simplifyrichtext.svg b/ico/qet/traced/large22/simplifyrichtext.svg similarity index 100% rename from ico/traced/large22/simplifyrichtext.svg rename to ico/qet/traced/large22/simplifyrichtext.svg diff --git a/ico/traced/large22/south.svg b/ico/qet/traced/large22/south.svg similarity index 100% rename from ico/traced/large22/south.svg rename to ico/qet/traced/large22/south.svg diff --git a/ico/traced/large22/terminal.svg b/ico/qet/traced/large22/terminal.svg similarity index 100% rename from ico/traced/large22/terminal.svg rename to ico/qet/traced/large22/terminal.svg diff --git a/ico/traced/large22/terminalstrip.svg b/ico/qet/traced/large22/terminalstrip.svg similarity index 100% rename from ico/traced/large22/terminalstrip.svg rename to ico/qet/traced/large22/terminalstrip.svg diff --git a/ico/traced/large22/text-xml.svg b/ico/qet/traced/large22/text-xml.svg similarity index 100% rename from ico/traced/large22/text-xml.svg rename to ico/qet/traced/large22/text-xml.svg diff --git a/ico/traced/large22/textfield.svg b/ico/qet/traced/large22/textfield.svg similarity index 100% rename from ico/traced/large22/textfield.svg rename to ico/qet/traced/large22/textfield.svg diff --git a/ico/traced/large22/titleblock-bottom.svg b/ico/qet/traced/large22/titleblock-bottom.svg similarity index 100% rename from ico/traced/large22/titleblock-bottom.svg rename to ico/qet/traced/large22/titleblock-bottom.svg diff --git a/ico/traced/large22/titleblock-right.svg b/ico/qet/traced/large22/titleblock-right.svg similarity index 100% rename from ico/traced/large22/titleblock-right.svg rename to ico/qet/traced/large22/titleblock-right.svg diff --git a/ico/qet/traced/large22/user-away-extended.svg b/ico/qet/traced/large22/user-away-extended.svg new file mode 100644 index 000000000..1b33be0c4 --- /dev/null +++ b/ico/qet/traced/large22/user-away-extended.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/qet/traced/large22/view-fit-window.svg b/ico/qet/traced/large22/view-fit-window.svg new file mode 100644 index 000000000..5fd9421f5 --- /dev/null +++ b/ico/qet/traced/large22/view-fit-window.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/traced/large22/west.svg b/ico/qet/traced/large22/west.svg similarity index 100% rename from ico/traced/large22/west.svg rename to ico/qet/traced/large22/west.svg diff --git a/ico/traced/large22/zoom-fit-best.svg b/ico/qet/traced/large22/zoom-fit-best.svg similarity index 100% rename from ico/traced/large22/zoom-fit-best.svg rename to ico/qet/traced/large22/zoom-fit-best.svg diff --git a/ico/splash.png b/ico/splash.png index 274c786c0..f3c040ac7 100644 Binary files a/ico/splash.png and b/ico/splash.png differ diff --git a/ico/generated/breeze-24/amarok_change_language.svg b/ico/themes/generated/breeze-24/amarok_change_language.svg similarity index 100% rename from ico/generated/breeze-24/amarok_change_language.svg rename to ico/themes/generated/breeze-24/amarok_change_language.svg diff --git a/ico/generated/breeze-24/application-exit.svg b/ico/themes/generated/breeze-24/application-exit.svg similarity index 100% rename from ico/generated/breeze-24/application-exit.svg rename to ico/themes/generated/breeze-24/application-exit.svg diff --git a/ico/generated/breeze-24/application-postscript.svg b/ico/themes/generated/breeze-24/application-postscript.svg similarity index 100% rename from ico/generated/breeze-24/application-postscript.svg rename to ico/themes/generated/breeze-24/application-postscript.svg diff --git a/ico/generated/breeze-24/configure.svg b/ico/themes/generated/breeze-24/configure.svg similarity index 100% rename from ico/generated/breeze-24/configure.svg rename to ico/themes/generated/breeze-24/configure.svg diff --git a/ico/generated/breeze-24/dialog-cancel.svg b/ico/themes/generated/breeze-24/dialog-cancel.svg similarity index 100% rename from ico/generated/breeze-24/dialog-cancel.svg rename to ico/themes/generated/breeze-24/dialog-cancel.svg diff --git a/ico/generated/breeze-24/dialog-ok-apply.svg b/ico/themes/generated/breeze-24/dialog-ok-apply.svg similarity index 100% rename from ico/generated/breeze-24/dialog-ok-apply.svg rename to ico/themes/generated/breeze-24/dialog-ok-apply.svg diff --git a/ico/generated/breeze-24/document-close.svg b/ico/themes/generated/breeze-24/document-close.svg similarity index 100% rename from ico/generated/breeze-24/document-close.svg rename to ico/themes/generated/breeze-24/document-close.svg diff --git a/ico/generated/breeze-24/document-decrypt.svg b/ico/themes/generated/breeze-24/document-decrypt.svg similarity index 100% rename from ico/generated/breeze-24/document-decrypt.svg rename to ico/themes/generated/breeze-24/document-decrypt.svg diff --git a/ico/generated/breeze-24/document-edit.svg b/ico/themes/generated/breeze-24/document-edit.svg similarity index 100% rename from ico/generated/breeze-24/document-edit.svg rename to ico/themes/generated/breeze-24/document-edit.svg diff --git a/ico/generated/breeze-24/document-encrypted.svg b/ico/themes/generated/breeze-24/document-encrypted.svg similarity index 100% rename from ico/generated/breeze-24/document-encrypted.svg rename to ico/themes/generated/breeze-24/document-encrypted.svg diff --git a/ico/generated/breeze-24/document-export.svg b/ico/themes/generated/breeze-24/document-export.svg similarity index 100% rename from ico/generated/breeze-24/document-export.svg rename to ico/themes/generated/breeze-24/document-export.svg diff --git a/ico/generated/breeze-24/document-import.svg b/ico/themes/generated/breeze-24/document-import.svg similarity index 100% rename from ico/generated/breeze-24/document-import.svg rename to ico/themes/generated/breeze-24/document-import.svg diff --git a/ico/generated/breeze-24/document-new.svg b/ico/themes/generated/breeze-24/document-new.svg similarity index 100% rename from ico/generated/breeze-24/document-new.svg rename to ico/themes/generated/breeze-24/document-new.svg diff --git a/ico/generated/breeze-24/document-open-recent.svg b/ico/themes/generated/breeze-24/document-open-recent.svg similarity index 100% rename from ico/generated/breeze-24/document-open-recent.svg rename to ico/themes/generated/breeze-24/document-open-recent.svg diff --git a/ico/generated/breeze-24/document-open.svg b/ico/themes/generated/breeze-24/document-open.svg similarity index 100% rename from ico/generated/breeze-24/document-open.svg rename to ico/themes/generated/breeze-24/document-open.svg diff --git a/ico/generated/breeze-24/document-print.svg b/ico/themes/generated/breeze-24/document-print.svg similarity index 100% rename from ico/generated/breeze-24/document-print.svg rename to ico/themes/generated/breeze-24/document-print.svg diff --git a/ico/generated/breeze-24/document-properties.svg b/ico/themes/generated/breeze-24/document-properties.svg similarity index 100% rename from ico/generated/breeze-24/document-properties.svg rename to ico/themes/generated/breeze-24/document-properties.svg diff --git a/ico/generated/breeze-24/document-save-all.svg b/ico/themes/generated/breeze-24/document-save-all.svg similarity index 100% rename from ico/generated/breeze-24/document-save-all.svg rename to ico/themes/generated/breeze-24/document-save-all.svg diff --git a/ico/generated/breeze-24/document-save-as.svg b/ico/themes/generated/breeze-24/document-save-as.svg similarity index 100% rename from ico/generated/breeze-24/document-save-as.svg rename to ico/themes/generated/breeze-24/document-save-as.svg diff --git a/ico/generated/breeze-24/document-save.svg b/ico/themes/generated/breeze-24/document-save.svg similarity index 100% rename from ico/generated/breeze-24/document-save.svg rename to ico/themes/generated/breeze-24/document-save.svg diff --git a/ico/themes/generated/breeze-24/draw-bezier-curves.svg b/ico/themes/generated/breeze-24/draw-bezier-curves.svg new file mode 100644 index 000000000..9507de507 --- /dev/null +++ b/ico/themes/generated/breeze-24/draw-bezier-curves.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/ico/generated/breeze-24/draw-line.svg b/ico/themes/generated/breeze-24/draw-line.svg similarity index 100% rename from ico/generated/breeze-24/draw-line.svg rename to ico/themes/generated/breeze-24/draw-line.svg diff --git a/ico/generated/breeze-24/draw-polygon.svg b/ico/themes/generated/breeze-24/draw-polygon.svg similarity index 100% rename from ico/generated/breeze-24/draw-polygon.svg rename to ico/themes/generated/breeze-24/draw-polygon.svg diff --git a/ico/generated/breeze-24/draw-rectangle.svg b/ico/themes/generated/breeze-24/draw-rectangle.svg similarity index 100% rename from ico/generated/breeze-24/draw-rectangle.svg rename to ico/themes/generated/breeze-24/draw-rectangle.svg diff --git a/ico/generated/breeze-24/edit-clear-locationbar-ltr.svg b/ico/themes/generated/breeze-24/edit-clear-locationbar-ltr.svg similarity index 100% rename from ico/generated/breeze-24/edit-clear-locationbar-ltr.svg rename to ico/themes/generated/breeze-24/edit-clear-locationbar-ltr.svg diff --git a/ico/generated/breeze-24/edit-clear.svg b/ico/themes/generated/breeze-24/edit-clear.svg similarity index 100% rename from ico/generated/breeze-24/edit-clear.svg rename to ico/themes/generated/breeze-24/edit-clear.svg diff --git a/ico/generated/breeze-24/edit-copy.svg b/ico/themes/generated/breeze-24/edit-copy.svg similarity index 100% rename from ico/generated/breeze-24/edit-copy.svg rename to ico/themes/generated/breeze-24/edit-copy.svg diff --git a/ico/generated/breeze-24/edit-cut.svg b/ico/themes/generated/breeze-24/edit-cut.svg similarity index 100% rename from ico/generated/breeze-24/edit-cut.svg rename to ico/themes/generated/breeze-24/edit-cut.svg diff --git a/ico/generated/breeze-24/edit-delete.svg b/ico/themes/generated/breeze-24/edit-delete.svg similarity index 100% rename from ico/generated/breeze-24/edit-delete.svg rename to ico/themes/generated/breeze-24/edit-delete.svg diff --git a/ico/generated/breeze-24/edit-download.svg b/ico/themes/generated/breeze-24/edit-download.svg similarity index 100% rename from ico/generated/breeze-24/edit-download.svg rename to ico/themes/generated/breeze-24/edit-download.svg diff --git a/ico/themes/generated/breeze-24/edit-opacity.svg b/ico/themes/generated/breeze-24/edit-opacity.svg new file mode 100644 index 000000000..0f501df0c --- /dev/null +++ b/ico/themes/generated/breeze-24/edit-opacity.svg @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/ico/generated/breeze-24/edit-paste.svg b/ico/themes/generated/breeze-24/edit-paste.svg similarity index 100% rename from ico/generated/breeze-24/edit-paste.svg rename to ico/themes/generated/breeze-24/edit-paste.svg diff --git a/ico/generated/breeze-24/edit-redo.svg b/ico/themes/generated/breeze-24/edit-redo.svg similarity index 100% rename from ico/generated/breeze-24/edit-redo.svg rename to ico/themes/generated/breeze-24/edit-redo.svg diff --git a/ico/generated/breeze-24/edit-select-all.svg b/ico/themes/generated/breeze-24/edit-select-all.svg similarity index 100% rename from ico/generated/breeze-24/edit-select-all.svg rename to ico/themes/generated/breeze-24/edit-select-all.svg diff --git a/ico/generated/breeze-24/edit-select-invert.svg b/ico/themes/generated/breeze-24/edit-select-invert.svg similarity index 100% rename from ico/generated/breeze-24/edit-select-invert.svg rename to ico/themes/generated/breeze-24/edit-select-invert.svg diff --git a/ico/generated/breeze-24/edit-select-none.svg b/ico/themes/generated/breeze-24/edit-select-none.svg similarity index 100% rename from ico/generated/breeze-24/edit-select-none.svg rename to ico/themes/generated/breeze-24/edit-select-none.svg diff --git a/ico/generated/breeze-24/edit-select.svg b/ico/themes/generated/breeze-24/edit-select.svg similarity index 100% rename from ico/generated/breeze-24/edit-select.svg rename to ico/themes/generated/breeze-24/edit-select.svg diff --git a/ico/generated/breeze-24/edit-table-cell-merge.svg b/ico/themes/generated/breeze-24/edit-table-cell-merge.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-cell-merge.svg rename to ico/themes/generated/breeze-24/edit-table-cell-merge.svg diff --git a/ico/generated/breeze-24/edit-table-cell-split.svg b/ico/themes/generated/breeze-24/edit-table-cell-split.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-cell-split.svg rename to ico/themes/generated/breeze-24/edit-table-cell-split.svg diff --git a/ico/generated/breeze-24/edit-table-delete-column.svg b/ico/themes/generated/breeze-24/edit-table-delete-column.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-delete-column.svg rename to ico/themes/generated/breeze-24/edit-table-delete-column.svg diff --git a/ico/generated/breeze-24/edit-table-delete-row.svg b/ico/themes/generated/breeze-24/edit-table-delete-row.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-delete-row.svg rename to ico/themes/generated/breeze-24/edit-table-delete-row.svg diff --git a/ico/generated/breeze-24/edit-table-insert-column-left.svg b/ico/themes/generated/breeze-24/edit-table-insert-column-left.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-insert-column-left.svg rename to ico/themes/generated/breeze-24/edit-table-insert-column-left.svg diff --git a/ico/generated/breeze-24/edit-table-insert-column-right.svg b/ico/themes/generated/breeze-24/edit-table-insert-column-right.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-insert-column-right.svg rename to ico/themes/generated/breeze-24/edit-table-insert-column-right.svg diff --git a/ico/generated/breeze-24/edit-table-insert-row-above.svg b/ico/themes/generated/breeze-24/edit-table-insert-row-above.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-insert-row-above.svg rename to ico/themes/generated/breeze-24/edit-table-insert-row-above.svg diff --git a/ico/generated/breeze-24/edit-table-insert-row-under.svg b/ico/themes/generated/breeze-24/edit-table-insert-row-under.svg similarity index 100% rename from ico/generated/breeze-24/edit-table-insert-row-under.svg rename to ico/themes/generated/breeze-24/edit-table-insert-row-under.svg diff --git a/ico/generated/breeze-24/edit-undo.svg b/ico/themes/generated/breeze-24/edit-undo.svg similarity index 100% rename from ico/generated/breeze-24/edit-undo.svg rename to ico/themes/generated/breeze-24/edit-undo.svg diff --git a/ico/generated/breeze-24/folder-new.svg b/ico/themes/generated/breeze-24/folder-new.svg similarity index 100% rename from ico/generated/breeze-24/folder-new.svg rename to ico/themes/generated/breeze-24/folder-new.svg diff --git a/ico/generated/breeze-24/folder-open.svg b/ico/themes/generated/breeze-24/folder-open.svg similarity index 100% rename from ico/generated/breeze-24/folder-open.svg rename to ico/themes/generated/breeze-24/folder-open.svg diff --git a/ico/generated/breeze-24/folder.svg b/ico/themes/generated/breeze-24/folder.svg similarity index 100% rename from ico/generated/breeze-24/folder.svg rename to ico/themes/generated/breeze-24/folder.svg diff --git a/ico/generated/breeze-24/format-text-bold.svg b/ico/themes/generated/breeze-24/format-text-bold.svg similarity index 100% rename from ico/generated/breeze-24/format-text-bold.svg rename to ico/themes/generated/breeze-24/format-text-bold.svg diff --git a/ico/generated/breeze-24/format-text-italic.svg b/ico/themes/generated/breeze-24/format-text-italic.svg similarity index 100% rename from ico/generated/breeze-24/format-text-italic.svg rename to ico/themes/generated/breeze-24/format-text-italic.svg diff --git a/ico/generated/breeze-24/format-text-subscript.svg b/ico/themes/generated/breeze-24/format-text-subscript.svg similarity index 100% rename from ico/generated/breeze-24/format-text-subscript.svg rename to ico/themes/generated/breeze-24/format-text-subscript.svg diff --git a/ico/generated/breeze-24/format-text-superscript.svg b/ico/themes/generated/breeze-24/format-text-superscript.svg similarity index 100% rename from ico/generated/breeze-24/format-text-superscript.svg rename to ico/themes/generated/breeze-24/format-text-superscript.svg diff --git a/ico/generated/breeze-24/format-text-underline.svg b/ico/themes/generated/breeze-24/format-text-underline.svg similarity index 100% rename from ico/generated/breeze-24/format-text-underline.svg rename to ico/themes/generated/breeze-24/format-text-underline.svg diff --git a/ico/generated/breeze-24/go-bottom.svg b/ico/themes/generated/breeze-24/go-bottom.svg similarity index 100% rename from ico/generated/breeze-24/go-bottom.svg rename to ico/themes/generated/breeze-24/go-bottom.svg diff --git a/ico/generated/breeze-24/go-down-skip.svg b/ico/themes/generated/breeze-24/go-down-skip.svg similarity index 100% rename from ico/generated/breeze-24/go-down-skip.svg rename to ico/themes/generated/breeze-24/go-down-skip.svg diff --git a/ico/generated/breeze-24/go-down.svg b/ico/themes/generated/breeze-24/go-down.svg similarity index 100% rename from ico/generated/breeze-24/go-down.svg rename to ico/themes/generated/breeze-24/go-down.svg diff --git a/ico/generated/breeze-24/go-home.svg b/ico/themes/generated/breeze-24/go-home.svg similarity index 100% rename from ico/generated/breeze-24/go-home.svg rename to ico/themes/generated/breeze-24/go-home.svg diff --git a/ico/generated/breeze-24/go-next.svg b/ico/themes/generated/breeze-24/go-next.svg similarity index 100% rename from ico/generated/breeze-24/go-next.svg rename to ico/themes/generated/breeze-24/go-next.svg diff --git a/ico/generated/breeze-24/go-previous.svg b/ico/themes/generated/breeze-24/go-previous.svg similarity index 100% rename from ico/generated/breeze-24/go-previous.svg rename to ico/themes/generated/breeze-24/go-previous.svg diff --git a/ico/generated/breeze-24/go-top.svg b/ico/themes/generated/breeze-24/go-top.svg similarity index 100% rename from ico/generated/breeze-24/go-top.svg rename to ico/themes/generated/breeze-24/go-top.svg diff --git a/ico/generated/breeze-24/go-up-skip.svg b/ico/themes/generated/breeze-24/go-up-skip.svg similarity index 100% rename from ico/generated/breeze-24/go-up-skip.svg rename to ico/themes/generated/breeze-24/go-up-skip.svg diff --git a/ico/generated/breeze-24/go-up.svg b/ico/themes/generated/breeze-24/go-up.svg similarity index 100% rename from ico/generated/breeze-24/go-up.svg rename to ico/themes/generated/breeze-24/go-up.svg diff --git a/ico/generated/breeze-24/gtk-index.svg b/ico/themes/generated/breeze-24/gtk-index.svg similarity index 100% rename from ico/generated/breeze-24/gtk-index.svg rename to ico/themes/generated/breeze-24/gtk-index.svg diff --git a/ico/generated/breeze-24/help-contents.svg b/ico/themes/generated/breeze-24/help-contents.svg similarity index 100% rename from ico/generated/breeze-24/help-contents.svg rename to ico/themes/generated/breeze-24/help-contents.svg diff --git a/ico/generated/breeze-24/im-user-busy.svg b/ico/themes/generated/breeze-24/im-user-busy.svg similarity index 100% rename from ico/generated/breeze-24/im-user-busy.svg rename to ico/themes/generated/breeze-24/im-user-busy.svg diff --git a/ico/generated/breeze-24/im-user-online.svg b/ico/themes/generated/breeze-24/im-user-online.svg similarity index 100% rename from ico/generated/breeze-24/im-user-online.svg rename to ico/themes/generated/breeze-24/im-user-online.svg diff --git a/ico/generated/breeze-24/insert-image.svg b/ico/themes/generated/breeze-24/insert-image.svg similarity index 100% rename from ico/generated/breeze-24/insert-image.svg rename to ico/themes/generated/breeze-24/insert-image.svg diff --git a/ico/generated/breeze-24/insert-text.svg b/ico/themes/generated/breeze-24/insert-text.svg similarity index 100% rename from ico/generated/breeze-24/insert-text.svg rename to ico/themes/generated/breeze-24/insert-text.svg diff --git a/ico/generated/breeze-24/list-add.svg b/ico/themes/generated/breeze-24/list-add.svg similarity index 100% rename from ico/generated/breeze-24/list-add.svg rename to ico/themes/generated/breeze-24/list-add.svg diff --git a/ico/generated/breeze-24/love-amarok.svg b/ico/themes/generated/breeze-24/love-amarok.svg similarity index 100% rename from ico/generated/breeze-24/love-amarok.svg rename to ico/themes/generated/breeze-24/love-amarok.svg diff --git a/ico/generated/breeze-24/media-playback-start.svg b/ico/themes/generated/breeze-24/media-playback-start.svg similarity index 100% rename from ico/generated/breeze-24/media-playback-start.svg rename to ico/themes/generated/breeze-24/media-playback-start.svg diff --git a/ico/generated/breeze-24/object-flip-horizontal.svg b/ico/themes/generated/breeze-24/object-flip-horizontal.svg similarity index 100% rename from ico/generated/breeze-24/object-flip-horizontal.svg rename to ico/themes/generated/breeze-24/object-flip-horizontal.svg diff --git a/ico/generated/breeze-24/object-flip-vertical.svg b/ico/themes/generated/breeze-24/object-flip-vertical.svg similarity index 100% rename from ico/generated/breeze-24/object-flip-vertical.svg rename to ico/themes/generated/breeze-24/object-flip-vertical.svg diff --git a/ico/generated/breeze-24/object-group.svg b/ico/themes/generated/breeze-24/object-group.svg similarity index 100% rename from ico/generated/breeze-24/object-group.svg rename to ico/themes/generated/breeze-24/object-group.svg diff --git a/ico/generated/breeze-24/object-rotate-right.svg b/ico/themes/generated/breeze-24/object-rotate-right.svg similarity index 100% rename from ico/generated/breeze-24/object-rotate-right.svg rename to ico/themes/generated/breeze-24/object-rotate-right.svg diff --git a/ico/generated/breeze-24/paint-none.svg b/ico/themes/generated/breeze-24/paint-none.svg similarity index 100% rename from ico/generated/breeze-24/paint-none.svg rename to ico/themes/generated/breeze-24/paint-none.svg diff --git a/ico/generated/breeze-24/preferences-desktop-user.svg b/ico/themes/generated/breeze-24/preferences-desktop-user.svg similarity index 100% rename from ico/generated/breeze-24/preferences-desktop-user.svg rename to ico/themes/generated/breeze-24/preferences-desktop-user.svg diff --git a/ico/generated/breeze-24/snap-page.svg b/ico/themes/generated/breeze-24/snap-page.svg similarity index 100% rename from ico/generated/breeze-24/snap-page.svg rename to ico/themes/generated/breeze-24/snap-page.svg diff --git a/ico/themes/generated/breeze-24/transform-crop.svg b/ico/themes/generated/breeze-24/transform-crop.svg new file mode 100644 index 000000000..b7303e3da --- /dev/null +++ b/ico/themes/generated/breeze-24/transform-crop.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/ico/generated/breeze-24/transform-move.svg b/ico/themes/generated/breeze-24/transform-move.svg similarity index 100% rename from ico/generated/breeze-24/transform-move.svg rename to ico/themes/generated/breeze-24/transform-move.svg diff --git a/ico/generated/breeze-24/transform-rotate.svg b/ico/themes/generated/breeze-24/transform-rotate.svg similarity index 100% rename from ico/generated/breeze-24/transform-rotate.svg rename to ico/themes/generated/breeze-24/transform-rotate.svg diff --git a/ico/generated/breeze-24/transform-scale.svg b/ico/themes/generated/breeze-24/transform-scale.svg similarity index 100% rename from ico/generated/breeze-24/transform-scale.svg rename to ico/themes/generated/breeze-24/transform-scale.svg diff --git a/ico/generated/breeze-24/video-symbolic.svg b/ico/themes/generated/breeze-24/video-symbolic.svg similarity index 100% rename from ico/generated/breeze-24/video-symbolic.svg rename to ico/themes/generated/breeze-24/video-symbolic.svg diff --git a/ico/generated/breeze-24/view-calendar-journal.svg b/ico/themes/generated/breeze-24/view-calendar-journal.svg similarity index 100% rename from ico/generated/breeze-24/view-calendar-journal.svg rename to ico/themes/generated/breeze-24/view-calendar-journal.svg diff --git a/ico/generated/breeze-24/view-fullscreen.svg b/ico/themes/generated/breeze-24/view-fullscreen.svg similarity index 100% rename from ico/generated/breeze-24/view-fullscreen.svg rename to ico/themes/generated/breeze-24/view-fullscreen.svg diff --git a/ico/generated/breeze-24/view-grid.svg b/ico/themes/generated/breeze-24/view-grid.svg similarity index 100% rename from ico/generated/breeze-24/view-grid.svg rename to ico/themes/generated/breeze-24/view-grid.svg diff --git a/ico/generated/breeze-24/view-hidden.svg b/ico/themes/generated/breeze-24/view-hidden.svg similarity index 100% rename from ico/generated/breeze-24/view-hidden.svg rename to ico/themes/generated/breeze-24/view-hidden.svg diff --git a/ico/generated/breeze-24/view-pages-facing.svg b/ico/themes/generated/breeze-24/view-pages-facing.svg similarity index 100% rename from ico/generated/breeze-24/view-pages-facing.svg rename to ico/themes/generated/breeze-24/view-pages-facing.svg diff --git a/ico/generated/breeze-24/view-refresh.svg b/ico/themes/generated/breeze-24/view-refresh.svg similarity index 100% rename from ico/generated/breeze-24/view-refresh.svg rename to ico/themes/generated/breeze-24/view-refresh.svg diff --git a/ico/generated/breeze-24/view-restore.svg b/ico/themes/generated/breeze-24/view-restore.svg similarity index 100% rename from ico/generated/breeze-24/view-restore.svg rename to ico/themes/generated/breeze-24/view-restore.svg diff --git a/ico/generated/breeze-24/view-visible.svg b/ico/themes/generated/breeze-24/view-visible.svg similarity index 100% rename from ico/generated/breeze-24/view-visible.svg rename to ico/themes/generated/breeze-24/view-visible.svg diff --git a/ico/themes/generated/breeze-24/window-close.svg b/ico/themes/generated/breeze-24/window-close.svg new file mode 100644 index 000000000..3e63fd5b0 --- /dev/null +++ b/ico/themes/generated/breeze-24/window-close.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/ico/generated/breeze-24/window-new.svg b/ico/themes/generated/breeze-24/window-new.svg similarity index 100% rename from ico/generated/breeze-24/window-new.svg rename to ico/themes/generated/breeze-24/window-new.svg diff --git a/ico/generated/breeze-24/zoom-fit-best.svg b/ico/themes/generated/breeze-24/zoom-fit-best.svg similarity index 100% rename from ico/generated/breeze-24/zoom-fit-best.svg rename to ico/themes/generated/breeze-24/zoom-fit-best.svg diff --git a/ico/generated/breeze-24/zoom-fit-width.svg b/ico/themes/generated/breeze-24/zoom-fit-width.svg similarity index 100% rename from ico/generated/breeze-24/zoom-fit-width.svg rename to ico/themes/generated/breeze-24/zoom-fit-width.svg diff --git a/ico/generated/breeze-24/zoom-in.svg b/ico/themes/generated/breeze-24/zoom-in.svg similarity index 100% rename from ico/generated/breeze-24/zoom-in.svg rename to ico/themes/generated/breeze-24/zoom-in.svg diff --git a/ico/generated/breeze-24/zoom-original.svg b/ico/themes/generated/breeze-24/zoom-original.svg similarity index 100% rename from ico/generated/breeze-24/zoom-original.svg rename to ico/themes/generated/breeze-24/zoom-original.svg diff --git a/ico/generated/breeze-24/zoom-out.svg b/ico/themes/generated/breeze-24/zoom-out.svg similarity index 100% rename from ico/generated/breeze-24/zoom-out.svg rename to ico/themes/generated/breeze-24/zoom-out.svg diff --git a/ico/generated/scalable-22/align-horizontal-center.svg b/ico/themes/generated/scalable-22/align-horizontal-center.svg similarity index 100% rename from ico/generated/scalable-22/align-horizontal-center.svg rename to ico/themes/generated/scalable-22/align-horizontal-center.svg diff --git a/ico/generated/scalable-22/align-horizontal-left.svg b/ico/themes/generated/scalable-22/align-horizontal-left.svg similarity index 100% rename from ico/generated/scalable-22/align-horizontal-left.svg rename to ico/themes/generated/scalable-22/align-horizontal-left.svg diff --git a/ico/generated/scalable-22/align-horizontal-right.svg b/ico/themes/generated/scalable-22/align-horizontal-right.svg similarity index 100% rename from ico/generated/scalable-22/align-horizontal-right.svg rename to ico/themes/generated/scalable-22/align-horizontal-right.svg diff --git a/ico/generated/scalable-22/align-vertical-bottom.svg b/ico/themes/generated/scalable-22/align-vertical-bottom.svg similarity index 100% rename from ico/generated/scalable-22/align-vertical-bottom.svg rename to ico/themes/generated/scalable-22/align-vertical-bottom.svg diff --git a/ico/generated/scalable-22/align-vertical-center.svg b/ico/themes/generated/scalable-22/align-vertical-center.svg similarity index 100% rename from ico/generated/scalable-22/align-vertical-center.svg rename to ico/themes/generated/scalable-22/align-vertical-center.svg diff --git a/ico/generated/scalable-22/align-vertical-top.svg b/ico/themes/generated/scalable-22/align-vertical-top.svg similarity index 100% rename from ico/generated/scalable-22/align-vertical-top.svg rename to ico/themes/generated/scalable-22/align-vertical-top.svg diff --git a/ico/generated/scalable-22/diagram.svg b/ico/themes/generated/scalable-22/diagram.svg similarity index 100% rename from ico/generated/scalable-22/diagram.svg rename to ico/themes/generated/scalable-22/diagram.svg diff --git a/ico/themes/generated/scalable-22/draw-fillet.svg b/ico/themes/generated/scalable-22/draw-fillet.svg new file mode 100644 index 000000000..d73a6778a --- /dev/null +++ b/ico/themes/generated/scalable-22/draw-fillet.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/ico/generated/scalable-22/folio-delete.svg b/ico/themes/generated/scalable-22/folio-delete.svg similarity index 100% rename from ico/generated/scalable-22/folio-delete.svg rename to ico/themes/generated/scalable-22/folio-delete.svg diff --git a/ico/generated/scalable-22/folio-new.svg b/ico/themes/generated/scalable-22/folio-new.svg similarity index 100% rename from ico/generated/scalable-22/folio-new.svg rename to ico/themes/generated/scalable-22/folio-new.svg diff --git a/ico/generated/scalable-22/folio-properties.svg b/ico/themes/generated/scalable-22/folio-properties.svg similarity index 100% rename from ico/generated/scalable-22/folio-properties.svg rename to ico/themes/generated/scalable-22/folio-properties.svg diff --git a/ico/generated/scalable-22/label.svg b/ico/themes/generated/scalable-22/label.svg similarity index 100% rename from ico/generated/scalable-22/label.svg rename to ico/themes/generated/scalable-22/label.svg diff --git a/ico/generated/scalable-22/pdf-import.svg b/ico/themes/generated/scalable-22/pdf-import.svg similarity index 100% rename from ico/generated/scalable-22/pdf-import.svg rename to ico/themes/generated/scalable-22/pdf-import.svg diff --git a/ico/generated/scalable-22/snap-to-grid.svg b/ico/themes/generated/scalable-22/snap-to-grid.svg similarity index 100% rename from ico/generated/scalable-22/snap-to-grid.svg rename to ico/themes/generated/scalable-22/snap-to-grid.svg diff --git a/ico/generated/traced-24/all_pages.svg b/ico/themes/generated/traced-24/all_pages.svg similarity index 100% rename from ico/generated/traced-24/all_pages.svg rename to ico/themes/generated/traced-24/all_pages.svg diff --git a/ico/generated/traced-24/application-pdf.svg b/ico/themes/generated/traced-24/application-pdf.svg similarity index 100% rename from ico/generated/traced-24/application-pdf.svg rename to ico/themes/generated/traced-24/application-pdf.svg diff --git a/ico/themes/generated/traced-24/arc.svg b/ico/themes/generated/traced-24/arc.svg new file mode 100644 index 000000000..bc010b325 --- /dev/null +++ b/ico/themes/generated/traced-24/arc.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/arrow-left-double.svg b/ico/themes/generated/traced-24/arrow-left-double.svg similarity index 100% rename from ico/generated/traced-24/arrow-left-double.svg rename to ico/themes/generated/traced-24/arrow-left-double.svg diff --git a/ico/generated/traced-24/arrow-right-double.svg b/ico/themes/generated/traced-24/arrow-right-double.svg similarity index 100% rename from ico/generated/traced-24/arrow-right-double.svg rename to ico/themes/generated/traced-24/arrow-right-double.svg diff --git a/ico/themes/generated/traced-24/autoconnect.svg b/ico/themes/generated/traced-24/autoconnect.svg new file mode 100644 index 000000000..01e720d16 --- /dev/null +++ b/ico/themes/generated/traced-24/autoconnect.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-24/bring_forward.svg b/ico/themes/generated/traced-24/bring_forward.svg new file mode 100644 index 000000000..1136e6089 --- /dev/null +++ b/ico/themes/generated/traced-24/bring_forward.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/cable.svg b/ico/themes/generated/traced-24/cable.svg similarity index 100% rename from ico/generated/traced-24/cable.svg rename to ico/themes/generated/traced-24/cable.svg diff --git a/ico/themes/generated/traced-24/circle.svg b/ico/themes/generated/traced-24/circle.svg new file mode 100644 index 000000000..ab4990e4d --- /dev/null +++ b/ico/themes/generated/traced-24/circle.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/conductor-edit.svg b/ico/themes/generated/traced-24/conductor-edit.svg similarity index 100% rename from ico/generated/traced-24/conductor-edit.svg rename to ico/themes/generated/traced-24/conductor-edit.svg diff --git a/ico/generated/traced-24/conductor-reset.svg b/ico/themes/generated/traced-24/conductor-reset.svg similarity index 100% rename from ico/generated/traced-24/conductor-reset.svg rename to ico/themes/generated/traced-24/conductor-reset.svg diff --git a/ico/themes/generated/traced-24/conductor.svg b/ico/themes/generated/traced-24/conductor.svg new file mode 100644 index 000000000..ff1637e47 --- /dev/null +++ b/ico/themes/generated/traced-24/conductor.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/generated/traced-24/conductor2.svg b/ico/themes/generated/traced-24/conductor2.svg similarity index 100% rename from ico/generated/traced-24/conductor2.svg rename to ico/themes/generated/traced-24/conductor2.svg diff --git a/ico/generated/traced-24/configure-toolbars.svg b/ico/themes/generated/traced-24/configure-toolbars.svg similarity index 100% rename from ico/generated/traced-24/configure-toolbars.svg rename to ico/themes/generated/traced-24/configure-toolbars.svg diff --git a/ico/generated/traced-24/diagram_bg.svg b/ico/themes/generated/traced-24/diagram_bg.svg similarity index 100% rename from ico/generated/traced-24/diagram_bg.svg rename to ico/themes/generated/traced-24/diagram_bg.svg diff --git a/ico/generated/traced-24/east.svg b/ico/themes/generated/traced-24/east.svg similarity index 100% rename from ico/generated/traced-24/east.svg rename to ico/themes/generated/traced-24/east.svg diff --git a/ico/generated/traced-24/element-delete.svg b/ico/themes/generated/traced-24/element-delete.svg similarity index 100% rename from ico/generated/traced-24/element-delete.svg rename to ico/themes/generated/traced-24/element-delete.svg diff --git a/ico/generated/traced-24/element-edit.svg b/ico/themes/generated/traced-24/element-edit.svg similarity index 100% rename from ico/generated/traced-24/element-edit.svg rename to ico/themes/generated/traced-24/element-edit.svg diff --git a/ico/generated/traced-24/element-master.svg b/ico/themes/generated/traced-24/element-master.svg similarity index 100% rename from ico/generated/traced-24/element-master.svg rename to ico/themes/generated/traced-24/element-master.svg diff --git a/ico/generated/traced-24/element-new.svg b/ico/themes/generated/traced-24/element-new.svg similarity index 100% rename from ico/generated/traced-24/element-new.svg rename to ico/themes/generated/traced-24/element-new.svg diff --git a/ico/generated/traced-24/element-slave.svg b/ico/themes/generated/traced-24/element-slave.svg similarity index 100% rename from ico/generated/traced-24/element-slave.svg rename to ico/themes/generated/traced-24/element-slave.svg diff --git a/ico/themes/generated/traced-24/element.svg b/ico/themes/generated/traced-24/element.svg new file mode 100644 index 000000000..2a756af46 --- /dev/null +++ b/ico/themes/generated/traced-24/element.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-24/ellipse-to-bezier.svg b/ico/themes/generated/traced-24/ellipse-to-bezier.svg new file mode 100644 index 000000000..5d12047a7 --- /dev/null +++ b/ico/themes/generated/traced-24/ellipse-to-bezier.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/generated/traced-24/ellipse.svg b/ico/themes/generated/traced-24/ellipse.svg new file mode 100644 index 000000000..a0b357992 --- /dev/null +++ b/ico/themes/generated/traced-24/ellipse.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/endline-circle.svg b/ico/themes/generated/traced-24/endline-circle.svg similarity index 100% rename from ico/generated/traced-24/endline-circle.svg rename to ico/themes/generated/traced-24/endline-circle.svg diff --git a/ico/generated/traced-24/endline-diamond.svg b/ico/themes/generated/traced-24/endline-diamond.svg similarity index 100% rename from ico/generated/traced-24/endline-diamond.svg rename to ico/themes/generated/traced-24/endline-diamond.svg diff --git a/ico/generated/traced-24/endline-none.svg b/ico/themes/generated/traced-24/endline-none.svg similarity index 100% rename from ico/generated/traced-24/endline-none.svg rename to ico/themes/generated/traced-24/endline-none.svg diff --git a/ico/generated/traced-24/endline-simple.svg b/ico/themes/generated/traced-24/endline-simple.svg similarity index 100% rename from ico/generated/traced-24/endline-simple.svg rename to ico/themes/generated/traced-24/endline-simple.svg diff --git a/ico/generated/traced-24/endline-triangle.svg b/ico/themes/generated/traced-24/endline-triangle.svg similarity index 100% rename from ico/generated/traced-24/endline-triangle.svg rename to ico/themes/generated/traced-24/endline-triangle.svg diff --git a/ico/generated/traced-24/export-csv.svg b/ico/themes/generated/traced-24/export-csv.svg similarity index 100% rename from ico/generated/traced-24/export-csv.svg rename to ico/themes/generated/traced-24/export-csv.svg diff --git a/ico/generated/traced-24/folder-delete.svg b/ico/themes/generated/traced-24/folder-delete.svg similarity index 100% rename from ico/generated/traced-24/folder-delete.svg rename to ico/themes/generated/traced-24/folder-delete.svg diff --git a/ico/generated/traced-24/folder-edit.svg b/ico/themes/generated/traced-24/folder-edit.svg similarity index 100% rename from ico/generated/traced-24/folder-edit.svg rename to ico/themes/generated/traced-24/folder-edit.svg diff --git a/ico/generated/traced-24/folder-only-this.svg b/ico/themes/generated/traced-24/folder-only-this.svg similarity index 100% rename from ico/generated/traced-24/folder-only-this.svg rename to ico/themes/generated/traced-24/folder-only-this.svg diff --git a/ico/generated/traced-24/folder-show-all.svg b/ico/themes/generated/traced-24/folder-show-all.svg similarity index 100% rename from ico/generated/traced-24/folder-show-all.svg rename to ico/themes/generated/traced-24/folder-show-all.svg diff --git a/ico/generated/traced-24/folio-ref-coming.svg b/ico/themes/generated/traced-24/folio-ref-coming.svg similarity index 100% rename from ico/generated/traced-24/folio-ref-coming.svg rename to ico/themes/generated/traced-24/folio-ref-coming.svg diff --git a/ico/generated/traced-24/go-company.svg b/ico/themes/generated/traced-24/go-company.svg similarity index 100% rename from ico/generated/traced-24/go-company.svg rename to ico/themes/generated/traced-24/go-company.svg diff --git a/ico/generated/traced-24/ground.svg b/ico/themes/generated/traced-24/ground.svg similarity index 100% rename from ico/generated/traced-24/ground.svg rename to ico/themes/generated/traced-24/ground.svg diff --git a/ico/generated/traced-24/guides.svg b/ico/themes/generated/traced-24/guides.svg similarity index 100% rename from ico/generated/traced-24/guides.svg rename to ico/themes/generated/traced-24/guides.svg diff --git a/ico/generated/traced-24/hotspot.svg b/ico/themes/generated/traced-24/hotspot.svg similarity index 100% rename from ico/generated/traced-24/hotspot.svg rename to ico/themes/generated/traced-24/hotspot.svg diff --git a/ico/generated/traced-24/landscape.svg b/ico/themes/generated/traced-24/landscape.svg similarity index 100% rename from ico/generated/traced-24/landscape.svg rename to ico/themes/generated/traced-24/landscape.svg diff --git a/ico/generated/traced-24/lower.svg b/ico/themes/generated/traced-24/lower.svg similarity index 100% rename from ico/generated/traced-24/lower.svg rename to ico/themes/generated/traced-24/lower.svg diff --git a/ico/themes/generated/traced-24/move.svg b/ico/themes/generated/traced-24/move.svg new file mode 100644 index 000000000..9ac05b85a --- /dev/null +++ b/ico/themes/generated/traced-24/move.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/names.svg b/ico/themes/generated/traced-24/names.svg similarity index 100% rename from ico/generated/traced-24/names.svg rename to ico/themes/generated/traced-24/names.svg diff --git a/ico/generated/traced-24/neutral.svg b/ico/themes/generated/traced-24/neutral.svg similarity index 100% rename from ico/generated/traced-24/neutral.svg rename to ico/themes/generated/traced-24/neutral.svg diff --git a/ico/generated/traced-24/north.svg b/ico/themes/generated/traced-24/north.svg similarity index 100% rename from ico/generated/traced-24/north.svg rename to ico/themes/generated/traced-24/north.svg diff --git a/ico/generated/traced-24/orientations.svg b/ico/themes/generated/traced-24/orientations.svg similarity index 100% rename from ico/generated/traced-24/orientations.svg rename to ico/themes/generated/traced-24/orientations.svg diff --git a/ico/generated/traced-24/phase.svg b/ico/themes/generated/traced-24/phase.svg similarity index 100% rename from ico/generated/traced-24/phase.svg rename to ico/themes/generated/traced-24/phase.svg diff --git a/ico/generated/traced-24/plasmagik.svg b/ico/themes/generated/traced-24/plasmagik.svg similarity index 100% rename from ico/generated/traced-24/plasmagik.svg rename to ico/themes/generated/traced-24/plasmagik.svg diff --git a/ico/generated/traced-24/portrait.svg b/ico/themes/generated/traced-24/portrait.svg similarity index 100% rename from ico/generated/traced-24/portrait.svg rename to ico/themes/generated/traced-24/portrait.svg diff --git a/ico/generated/traced-24/project-close.svg b/ico/themes/generated/traced-24/project-close.svg similarity index 100% rename from ico/generated/traced-24/project-close.svg rename to ico/themes/generated/traced-24/project-close.svg diff --git a/ico/generated/traced-24/project-new.svg b/ico/themes/generated/traced-24/project-new.svg similarity index 100% rename from ico/generated/traced-24/project-new.svg rename to ico/themes/generated/traced-24/project-new.svg diff --git a/ico/generated/traced-24/project-properties.svg b/ico/themes/generated/traced-24/project-properties.svg similarity index 100% rename from ico/generated/traced-24/project-properties.svg rename to ico/themes/generated/traced-24/project-properties.svg diff --git a/ico/generated/traced-24/project.svg b/ico/themes/generated/traced-24/project.svg similarity index 100% rename from ico/generated/traced-24/project.svg rename to ico/themes/generated/traced-24/project.svg diff --git a/ico/themes/generated/traced-24/qet.svg b/ico/themes/generated/traced-24/qet.svg new file mode 100644 index 000000000..8f776ca95 --- /dev/null +++ b/ico/themes/generated/traced-24/qet.svg @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-24/qt.svg b/ico/themes/generated/traced-24/qt.svg new file mode 100644 index 000000000..1a409c91e --- /dev/null +++ b/ico/themes/generated/traced-24/qt.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-24/raise.svg b/ico/themes/generated/traced-24/raise.svg similarity index 100% rename from ico/generated/traced-24/raise.svg rename to ico/themes/generated/traced-24/raise.svg diff --git a/ico/themes/generated/traced-24/rect-to-bezier.svg b/ico/themes/generated/traced-24/rect-to-bezier.svg new file mode 100644 index 000000000..99613cd34 --- /dev/null +++ b/ico/themes/generated/traced-24/rect-to-bezier.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/generated/traced-24/rect-to-polyline.svg b/ico/themes/generated/traced-24/rect-to-polyline.svg new file mode 100644 index 000000000..b6f12cb4a --- /dev/null +++ b/ico/themes/generated/traced-24/rect-to-polyline.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/generated/traced-24/run-dxf.svg b/ico/themes/generated/traced-24/run-dxf.svg similarity index 100% rename from ico/generated/traced-24/run-dxf.svg rename to ico/themes/generated/traced-24/run-dxf.svg diff --git a/ico/generated/traced-24/send_backward.svg b/ico/themes/generated/traced-24/send_backward.svg similarity index 100% rename from ico/generated/traced-24/send_backward.svg rename to ico/themes/generated/traced-24/send_backward.svg diff --git a/ico/generated/traced-24/simplifyrichtext.svg b/ico/themes/generated/traced-24/simplifyrichtext.svg similarity index 100% rename from ico/generated/traced-24/simplifyrichtext.svg rename to ico/themes/generated/traced-24/simplifyrichtext.svg diff --git a/ico/generated/traced-24/south.svg b/ico/themes/generated/traced-24/south.svg similarity index 100% rename from ico/generated/traced-24/south.svg rename to ico/themes/generated/traced-24/south.svg diff --git a/ico/generated/traced-24/terminal.svg b/ico/themes/generated/traced-24/terminal.svg similarity index 100% rename from ico/generated/traced-24/terminal.svg rename to ico/themes/generated/traced-24/terminal.svg diff --git a/ico/generated/traced-24/terminalstrip.svg b/ico/themes/generated/traced-24/terminalstrip.svg similarity index 100% rename from ico/generated/traced-24/terminalstrip.svg rename to ico/themes/generated/traced-24/terminalstrip.svg diff --git a/ico/generated/traced-24/text-xml.svg b/ico/themes/generated/traced-24/text-xml.svg similarity index 100% rename from ico/generated/traced-24/text-xml.svg rename to ico/themes/generated/traced-24/text-xml.svg diff --git a/ico/generated/traced-24/textfield.svg b/ico/themes/generated/traced-24/textfield.svg similarity index 100% rename from ico/generated/traced-24/textfield.svg rename to ico/themes/generated/traced-24/textfield.svg diff --git a/ico/generated/traced-24/titleblock-bottom.svg b/ico/themes/generated/traced-24/titleblock-bottom.svg similarity index 100% rename from ico/generated/traced-24/titleblock-bottom.svg rename to ico/themes/generated/traced-24/titleblock-bottom.svg diff --git a/ico/generated/traced-24/titleblock-right.svg b/ico/themes/generated/traced-24/titleblock-right.svg similarity index 100% rename from ico/generated/traced-24/titleblock-right.svg rename to ico/themes/generated/traced-24/titleblock-right.svg diff --git a/ico/themes/generated/traced-24/user-away-extended.svg b/ico/themes/generated/traced-24/user-away-extended.svg new file mode 100644 index 000000000..5e4626875 --- /dev/null +++ b/ico/themes/generated/traced-24/user-away-extended.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-24/view-fit-window.svg b/ico/themes/generated/traced-24/view-fit-window.svg new file mode 100644 index 000000000..bfe23f139 --- /dev/null +++ b/ico/themes/generated/traced-24/view-fit-window.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/ico/generated/traced-24/west.svg b/ico/themes/generated/traced-24/west.svg similarity index 100% rename from ico/generated/traced-24/west.svg rename to ico/themes/generated/traced-24/west.svg diff --git a/ico/generated/traced-24/zoom-fit-best.svg b/ico/themes/generated/traced-24/zoom-fit-best.svg similarity index 100% rename from ico/generated/traced-24/zoom-fit-best.svg rename to ico/themes/generated/traced-24/zoom-fit-best.svg diff --git a/ico/generated/traced-large-24/all_pages.svg b/ico/themes/generated/traced-large-24/all_pages.svg similarity index 100% rename from ico/generated/traced-large-24/all_pages.svg rename to ico/themes/generated/traced-large-24/all_pages.svg diff --git a/ico/themes/generated/traced-large-24/arc.svg b/ico/themes/generated/traced-large-24/arc.svg new file mode 100644 index 000000000..75699fc93 --- /dev/null +++ b/ico/themes/generated/traced-large-24/arc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/generated/traced-large-24/arrow-left-double.svg b/ico/themes/generated/traced-large-24/arrow-left-double.svg similarity index 100% rename from ico/generated/traced-large-24/arrow-left-double.svg rename to ico/themes/generated/traced-large-24/arrow-left-double.svg diff --git a/ico/generated/traced-large-24/arrow-right-double.svg b/ico/themes/generated/traced-large-24/arrow-right-double.svg similarity index 100% rename from ico/generated/traced-large-24/arrow-right-double.svg rename to ico/themes/generated/traced-large-24/arrow-right-double.svg diff --git a/ico/themes/generated/traced-large-24/autoconnect.svg b/ico/themes/generated/traced-large-24/autoconnect.svg new file mode 100644 index 000000000..2a89c943d --- /dev/null +++ b/ico/themes/generated/traced-large-24/autoconnect.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-large-24/bring_forward.svg b/ico/themes/generated/traced-large-24/bring_forward.svg new file mode 100644 index 000000000..e7db9a3c5 --- /dev/null +++ b/ico/themes/generated/traced-large-24/bring_forward.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/cable.svg b/ico/themes/generated/traced-large-24/cable.svg similarity index 100% rename from ico/generated/traced-large-24/cable.svg rename to ico/themes/generated/traced-large-24/cable.svg diff --git a/ico/themes/generated/traced-large-24/circle.svg b/ico/themes/generated/traced-large-24/circle.svg new file mode 100644 index 000000000..300e123c5 --- /dev/null +++ b/ico/themes/generated/traced-large-24/circle.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/generated/traced-large-24/conductor-edit.svg b/ico/themes/generated/traced-large-24/conductor-edit.svg similarity index 100% rename from ico/generated/traced-large-24/conductor-edit.svg rename to ico/themes/generated/traced-large-24/conductor-edit.svg diff --git a/ico/generated/traced-large-24/conductor-reset.svg b/ico/themes/generated/traced-large-24/conductor-reset.svg similarity index 100% rename from ico/generated/traced-large-24/conductor-reset.svg rename to ico/themes/generated/traced-large-24/conductor-reset.svg diff --git a/ico/themes/generated/traced-large-24/conductor.svg b/ico/themes/generated/traced-large-24/conductor.svg new file mode 100644 index 000000000..f68d9476b --- /dev/null +++ b/ico/themes/generated/traced-large-24/conductor.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/conductor2.svg b/ico/themes/generated/traced-large-24/conductor2.svg similarity index 100% rename from ico/generated/traced-large-24/conductor2.svg rename to ico/themes/generated/traced-large-24/conductor2.svg diff --git a/ico/generated/traced-large-24/configure-toolbars.svg b/ico/themes/generated/traced-large-24/configure-toolbars.svg similarity index 100% rename from ico/generated/traced-large-24/configure-toolbars.svg rename to ico/themes/generated/traced-large-24/configure-toolbars.svg diff --git a/ico/generated/traced-large-24/diagram_bg.svg b/ico/themes/generated/traced-large-24/diagram_bg.svg similarity index 100% rename from ico/generated/traced-large-24/diagram_bg.svg rename to ico/themes/generated/traced-large-24/diagram_bg.svg diff --git a/ico/generated/traced-large-24/east.svg b/ico/themes/generated/traced-large-24/east.svg similarity index 100% rename from ico/generated/traced-large-24/east.svg rename to ico/themes/generated/traced-large-24/east.svg diff --git a/ico/generated/traced-large-24/element-delete.svg b/ico/themes/generated/traced-large-24/element-delete.svg similarity index 100% rename from ico/generated/traced-large-24/element-delete.svg rename to ico/themes/generated/traced-large-24/element-delete.svg diff --git a/ico/generated/traced-large-24/element-edit.svg b/ico/themes/generated/traced-large-24/element-edit.svg similarity index 100% rename from ico/generated/traced-large-24/element-edit.svg rename to ico/themes/generated/traced-large-24/element-edit.svg diff --git a/ico/generated/traced-large-24/element-master.svg b/ico/themes/generated/traced-large-24/element-master.svg similarity index 100% rename from ico/generated/traced-large-24/element-master.svg rename to ico/themes/generated/traced-large-24/element-master.svg diff --git a/ico/generated/traced-large-24/element-new.svg b/ico/themes/generated/traced-large-24/element-new.svg similarity index 100% rename from ico/generated/traced-large-24/element-new.svg rename to ico/themes/generated/traced-large-24/element-new.svg diff --git a/ico/generated/traced-large-24/element-slave.svg b/ico/themes/generated/traced-large-24/element-slave.svg similarity index 100% rename from ico/generated/traced-large-24/element-slave.svg rename to ico/themes/generated/traced-large-24/element-slave.svg diff --git a/ico/themes/generated/traced-large-24/element.svg b/ico/themes/generated/traced-large-24/element.svg new file mode 100644 index 000000000..08cbca002 --- /dev/null +++ b/ico/themes/generated/traced-large-24/element.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-large-24/ellipse-to-bezier.svg b/ico/themes/generated/traced-large-24/ellipse-to-bezier.svg new file mode 100644 index 000000000..25900d5d2 --- /dev/null +++ b/ico/themes/generated/traced-large-24/ellipse-to-bezier.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-large-24/ellipse.svg b/ico/themes/generated/traced-large-24/ellipse.svg new file mode 100644 index 000000000..827b26c88 --- /dev/null +++ b/ico/themes/generated/traced-large-24/ellipse.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/generated/traced-large-24/endline-circle.svg b/ico/themes/generated/traced-large-24/endline-circle.svg similarity index 100% rename from ico/generated/traced-large-24/endline-circle.svg rename to ico/themes/generated/traced-large-24/endline-circle.svg diff --git a/ico/generated/traced-large-24/endline-diamond.svg b/ico/themes/generated/traced-large-24/endline-diamond.svg similarity index 100% rename from ico/generated/traced-large-24/endline-diamond.svg rename to ico/themes/generated/traced-large-24/endline-diamond.svg diff --git a/ico/generated/traced-large-24/endline-none.svg b/ico/themes/generated/traced-large-24/endline-none.svg similarity index 100% rename from ico/generated/traced-large-24/endline-none.svg rename to ico/themes/generated/traced-large-24/endline-none.svg diff --git a/ico/generated/traced-large-24/endline-simple.svg b/ico/themes/generated/traced-large-24/endline-simple.svg similarity index 100% rename from ico/generated/traced-large-24/endline-simple.svg rename to ico/themes/generated/traced-large-24/endline-simple.svg diff --git a/ico/generated/traced-large-24/endline-triangle.svg b/ico/themes/generated/traced-large-24/endline-triangle.svg similarity index 100% rename from ico/generated/traced-large-24/endline-triangle.svg rename to ico/themes/generated/traced-large-24/endline-triangle.svg diff --git a/ico/generated/traced-large-24/export-csv.svg b/ico/themes/generated/traced-large-24/export-csv.svg similarity index 100% rename from ico/generated/traced-large-24/export-csv.svg rename to ico/themes/generated/traced-large-24/export-csv.svg diff --git a/ico/generated/traced-large-24/folder-delete.svg b/ico/themes/generated/traced-large-24/folder-delete.svg similarity index 100% rename from ico/generated/traced-large-24/folder-delete.svg rename to ico/themes/generated/traced-large-24/folder-delete.svg diff --git a/ico/generated/traced-large-24/folder-edit.svg b/ico/themes/generated/traced-large-24/folder-edit.svg similarity index 100% rename from ico/generated/traced-large-24/folder-edit.svg rename to ico/themes/generated/traced-large-24/folder-edit.svg diff --git a/ico/generated/traced-large-24/folder-only-this.svg b/ico/themes/generated/traced-large-24/folder-only-this.svg similarity index 100% rename from ico/generated/traced-large-24/folder-only-this.svg rename to ico/themes/generated/traced-large-24/folder-only-this.svg diff --git a/ico/generated/traced-large-24/folder-show-all.svg b/ico/themes/generated/traced-large-24/folder-show-all.svg similarity index 100% rename from ico/generated/traced-large-24/folder-show-all.svg rename to ico/themes/generated/traced-large-24/folder-show-all.svg diff --git a/ico/generated/traced-large-24/folio-ref-coming.svg b/ico/themes/generated/traced-large-24/folio-ref-coming.svg similarity index 100% rename from ico/generated/traced-large-24/folio-ref-coming.svg rename to ico/themes/generated/traced-large-24/folio-ref-coming.svg diff --git a/ico/generated/traced-large-24/go-company.svg b/ico/themes/generated/traced-large-24/go-company.svg similarity index 100% rename from ico/generated/traced-large-24/go-company.svg rename to ico/themes/generated/traced-large-24/go-company.svg diff --git a/ico/generated/traced-large-24/ground.svg b/ico/themes/generated/traced-large-24/ground.svg similarity index 100% rename from ico/generated/traced-large-24/ground.svg rename to ico/themes/generated/traced-large-24/ground.svg diff --git a/ico/generated/traced-large-24/guides.svg b/ico/themes/generated/traced-large-24/guides.svg similarity index 100% rename from ico/generated/traced-large-24/guides.svg rename to ico/themes/generated/traced-large-24/guides.svg diff --git a/ico/generated/traced-large-24/hotspot.svg b/ico/themes/generated/traced-large-24/hotspot.svg similarity index 100% rename from ico/generated/traced-large-24/hotspot.svg rename to ico/themes/generated/traced-large-24/hotspot.svg diff --git a/ico/generated/traced-large-24/landscape.svg b/ico/themes/generated/traced-large-24/landscape.svg similarity index 100% rename from ico/generated/traced-large-24/landscape.svg rename to ico/themes/generated/traced-large-24/landscape.svg diff --git a/ico/generated/traced-large-24/lower.svg b/ico/themes/generated/traced-large-24/lower.svg similarity index 100% rename from ico/generated/traced-large-24/lower.svg rename to ico/themes/generated/traced-large-24/lower.svg diff --git a/ico/themes/generated/traced-large-24/move.svg b/ico/themes/generated/traced-large-24/move.svg new file mode 100644 index 000000000..9f547aa75 --- /dev/null +++ b/ico/themes/generated/traced-large-24/move.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/names.svg b/ico/themes/generated/traced-large-24/names.svg similarity index 100% rename from ico/generated/traced-large-24/names.svg rename to ico/themes/generated/traced-large-24/names.svg diff --git a/ico/generated/traced-large-24/neutral.svg b/ico/themes/generated/traced-large-24/neutral.svg similarity index 100% rename from ico/generated/traced-large-24/neutral.svg rename to ico/themes/generated/traced-large-24/neutral.svg diff --git a/ico/generated/traced-large-24/north.svg b/ico/themes/generated/traced-large-24/north.svg similarity index 100% rename from ico/generated/traced-large-24/north.svg rename to ico/themes/generated/traced-large-24/north.svg diff --git a/ico/generated/traced-large-24/orientations.svg b/ico/themes/generated/traced-large-24/orientations.svg similarity index 100% rename from ico/generated/traced-large-24/orientations.svg rename to ico/themes/generated/traced-large-24/orientations.svg diff --git a/ico/generated/traced-large-24/phase.svg b/ico/themes/generated/traced-large-24/phase.svg similarity index 100% rename from ico/generated/traced-large-24/phase.svg rename to ico/themes/generated/traced-large-24/phase.svg diff --git a/ico/generated/traced-large-24/portrait.svg b/ico/themes/generated/traced-large-24/portrait.svg similarity index 100% rename from ico/generated/traced-large-24/portrait.svg rename to ico/themes/generated/traced-large-24/portrait.svg diff --git a/ico/generated/traced-large-24/project-close.svg b/ico/themes/generated/traced-large-24/project-close.svg similarity index 100% rename from ico/generated/traced-large-24/project-close.svg rename to ico/themes/generated/traced-large-24/project-close.svg diff --git a/ico/generated/traced-large-24/project-new.svg b/ico/themes/generated/traced-large-24/project-new.svg similarity index 100% rename from ico/generated/traced-large-24/project-new.svg rename to ico/themes/generated/traced-large-24/project-new.svg diff --git a/ico/generated/traced-large-24/project-properties.svg b/ico/themes/generated/traced-large-24/project-properties.svg similarity index 100% rename from ico/generated/traced-large-24/project-properties.svg rename to ico/themes/generated/traced-large-24/project-properties.svg diff --git a/ico/generated/traced-large-24/project.svg b/ico/themes/generated/traced-large-24/project.svg similarity index 100% rename from ico/generated/traced-large-24/project.svg rename to ico/themes/generated/traced-large-24/project.svg diff --git a/ico/themes/generated/traced-large-24/qet.svg b/ico/themes/generated/traced-large-24/qet.svg new file mode 100644 index 000000000..872283612 --- /dev/null +++ b/ico/themes/generated/traced-large-24/qet.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/raise.svg b/ico/themes/generated/traced-large-24/raise.svg similarity index 100% rename from ico/generated/traced-large-24/raise.svg rename to ico/themes/generated/traced-large-24/raise.svg diff --git a/ico/themes/generated/traced-large-24/rect-to-bezier.svg b/ico/themes/generated/traced-large-24/rect-to-bezier.svg new file mode 100644 index 000000000..c755445d8 --- /dev/null +++ b/ico/themes/generated/traced-large-24/rect-to-bezier.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-large-24/rect-to-polyline.svg b/ico/themes/generated/traced-large-24/rect-to-polyline.svg new file mode 100644 index 000000000..a599277a2 --- /dev/null +++ b/ico/themes/generated/traced-large-24/rect-to-polyline.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/run-dxf.svg b/ico/themes/generated/traced-large-24/run-dxf.svg similarity index 100% rename from ico/generated/traced-large-24/run-dxf.svg rename to ico/themes/generated/traced-large-24/run-dxf.svg diff --git a/ico/generated/traced-large-24/send_backward.svg b/ico/themes/generated/traced-large-24/send_backward.svg similarity index 100% rename from ico/generated/traced-large-24/send_backward.svg rename to ico/themes/generated/traced-large-24/send_backward.svg diff --git a/ico/generated/traced-large-24/south.svg b/ico/themes/generated/traced-large-24/south.svg similarity index 100% rename from ico/generated/traced-large-24/south.svg rename to ico/themes/generated/traced-large-24/south.svg diff --git a/ico/generated/traced-large-24/terminal.svg b/ico/themes/generated/traced-large-24/terminal.svg similarity index 100% rename from ico/generated/traced-large-24/terminal.svg rename to ico/themes/generated/traced-large-24/terminal.svg diff --git a/ico/generated/traced-large-24/terminalstrip.svg b/ico/themes/generated/traced-large-24/terminalstrip.svg similarity index 100% rename from ico/generated/traced-large-24/terminalstrip.svg rename to ico/themes/generated/traced-large-24/terminalstrip.svg diff --git a/ico/generated/traced-large-24/textfield.svg b/ico/themes/generated/traced-large-24/textfield.svg similarity index 100% rename from ico/generated/traced-large-24/textfield.svg rename to ico/themes/generated/traced-large-24/textfield.svg diff --git a/ico/generated/traced-large-24/titleblock-bottom.svg b/ico/themes/generated/traced-large-24/titleblock-bottom.svg similarity index 100% rename from ico/generated/traced-large-24/titleblock-bottom.svg rename to ico/themes/generated/traced-large-24/titleblock-bottom.svg diff --git a/ico/generated/traced-large-24/titleblock-right.svg b/ico/themes/generated/traced-large-24/titleblock-right.svg similarity index 100% rename from ico/generated/traced-large-24/titleblock-right.svg rename to ico/themes/generated/traced-large-24/titleblock-right.svg diff --git a/ico/themes/generated/traced-large-24/user-away-extended.svg b/ico/themes/generated/traced-large-24/user-away-extended.svg new file mode 100644 index 000000000..6dc6282cb --- /dev/null +++ b/ico/themes/generated/traced-large-24/user-away-extended.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/ico/themes/generated/traced-large-24/view-fit-window.svg b/ico/themes/generated/traced-large-24/view-fit-window.svg new file mode 100644 index 000000000..abcd1b198 --- /dev/null +++ b/ico/themes/generated/traced-large-24/view-fit-window.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/ico/generated/traced-large-24/west.svg b/ico/themes/generated/traced-large-24/west.svg similarity index 100% rename from ico/generated/traced-large-24/west.svg rename to ico/themes/generated/traced-large-24/west.svg diff --git a/ico/generated/traced-large-24/zoom-fit-best.svg b/ico/themes/generated/traced-large-24/zoom-fit-best.svg similarity index 100% rename from ico/generated/traced-large-24/zoom-fit-best.svg rename to ico/themes/generated/traced-large-24/zoom-fit-best.svg diff --git a/ico/themes/qet-dark/128x128/settings.png b/ico/themes/qet-dark/128x128/settings.png deleted file mode 100644 index 93b34f1ad..000000000 Binary files a/ico/themes/qet-dark/128x128/settings.png and /dev/null differ diff --git a/ico/themes/qet-dark/16x16/edit-clear-locationbar-rtl.png b/ico/themes/qet-dark/16x16/edit-clear-locationbar-rtl.png deleted file mode 100644 index 5ba190483..000000000 Binary files a/ico/themes/qet-dark/16x16/edit-clear-locationbar-rtl.png and /dev/null differ diff --git a/ico/themes/qet-dark/16x16/element.png b/ico/themes/qet-dark/16x16/element.png deleted file mode 100644 index 44d0e8702..000000000 Binary files a/ico/themes/qet-dark/16x16/element.png and /dev/null differ diff --git a/ico/themes/qet-dark/16x16/move.png b/ico/themes/qet-dark/16x16/move.png deleted file mode 100644 index ba16ed79c..000000000 Binary files a/ico/themes/qet-dark/16x16/move.png and /dev/null differ diff --git a/ico/themes/qet-dark/22x22/Actions-player-time-icon.png b/ico/themes/qet-dark/22x22/Actions-player-time-icon.png deleted file mode 100644 index f7cfeec5f..000000000 Binary files a/ico/themes/qet-dark/22x22/Actions-player-time-icon.png and /dev/null differ diff --git a/ico/themes/qet-dark/22x22/arc.png b/ico/themes/qet-dark/22x22/arc.png deleted file mode 100644 index a7b112291..000000000 Binary files a/ico/themes/qet-dark/22x22/arc.png and /dev/null differ diff --git a/ico/themes/qet-dark/22x22/edit-clear-locationbar-rtl.png b/ico/themes/qet-dark/22x22/edit-clear-locationbar-rtl.png deleted file mode 100644 index 4e790b4d3..000000000 Binary files a/ico/themes/qet-dark/22x22/edit-clear-locationbar-rtl.png and /dev/null differ diff --git a/ico/themes/qet-dark/22x22/move.png b/ico/themes/qet-dark/22x22/move.png deleted file mode 100644 index 97f50985d..000000000 Binary files a/ico/themes/qet-dark/22x22/move.png and /dev/null differ diff --git a/ico/themes/qet-dark/32x32/format-text-color.png b/ico/themes/qet-dark/32x32/format-text-color.png deleted file mode 100644 index fd28e4058..000000000 Binary files a/ico/themes/qet-dark/32x32/format-text-color.png and /dev/null differ diff --git a/ico/themes/qet-dark/32x32/insert-link.png b/ico/themes/qet-dark/32x32/insert-link.png deleted file mode 100644 index 8b2611840..000000000 Binary files a/ico/themes/qet-dark/32x32/insert-link.png and /dev/null differ diff --git a/ico/themes/qet-dark/32x32/printer.png b/ico/themes/qet-dark/32x32/printer.png deleted file mode 100644 index cabec7e10..000000000 Binary files a/ico/themes/qet-dark/32x32/printer.png and /dev/null differ diff --git a/ico/themes/qet-dark/48x48/user-away-extended.png b/ico/themes/qet-dark/48x48/user-away-extended.png deleted file mode 100644 index a3b9e1c8e..000000000 Binary files a/ico/themes/qet-dark/48x48/user-away-extended.png and /dev/null differ diff --git a/ico/themes/qet-dark/48x48/user-away.png b/ico/themes/qet-dark/48x48/user-away.png deleted file mode 100644 index a3b9e1c8e..000000000 Binary files a/ico/themes/qet-dark/48x48/user-away.png and /dev/null differ diff --git a/ico/themes/qet-dark/breeze-24/draw-bezier-curves.svg b/ico/themes/qet-dark/breeze-24/draw-bezier-curves.svg new file mode 100644 index 000000000..830e815e9 --- /dev/null +++ b/ico/themes/qet-dark/breeze-24/draw-bezier-curves.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/breeze-24/draw-circle.svg b/ico/themes/qet-dark/breeze-24/draw-circle.svg deleted file mode 100644 index 24a47d8ba..000000000 --- a/ico/themes/qet-dark/breeze-24/draw-circle.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/ico/themes/qet-dark/breeze-24/draw-ellipse.svg b/ico/themes/qet-dark/breeze-24/draw-ellipse.svg deleted file mode 100644 index b555a2f27..000000000 --- a/ico/themes/qet-dark/breeze-24/draw-ellipse.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - diff --git a/ico/themes/qet-dark/breeze-24/edit-opacity.svg b/ico/themes/qet-dark/breeze-24/edit-opacity.svg new file mode 100644 index 000000000..d8c84c0c2 --- /dev/null +++ b/ico/themes/qet-dark/breeze-24/edit-opacity.svg @@ -0,0 +1,7 @@ + + + \ No newline at end of file diff --git a/ico/themes/qet-dark/breeze-24/transform-crop.svg b/ico/themes/qet-dark/breeze-24/transform-crop.svg new file mode 100644 index 000000000..88748326b --- /dev/null +++ b/ico/themes/qet-dark/breeze-24/transform-crop.svg @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/breeze-24/window-close.svg b/ico/themes/qet-dark/breeze-24/window-close.svg new file mode 100644 index 000000000..686721751 --- /dev/null +++ b/ico/themes/qet-dark/breeze-24/window-close.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/ico/themes/qet-dark/breeze/16/draw-bezier-curves.svg b/ico/themes/qet-dark/breeze/16/draw-bezier-curves.svg new file mode 100644 index 000000000..42e4efccd --- /dev/null +++ b/ico/themes/qet-dark/breeze/16/draw-bezier-curves.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/ico/themes/qet-dark/breeze/16/draw-circle.svg b/ico/themes/qet-dark/breeze/16/draw-circle.svg deleted file mode 100644 index 6be8bad15..000000000 --- a/ico/themes/qet-dark/breeze/16/draw-circle.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/themes/qet-dark/breeze/16/draw-ellipse.svg b/ico/themes/qet-dark/breeze/16/draw-ellipse.svg deleted file mode 100644 index 69e16fb55..000000000 --- a/ico/themes/qet-dark/breeze/16/draw-ellipse.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/themes/qet-dark/breeze/16/edit-opacity.svg b/ico/themes/qet-dark/breeze/16/edit-opacity.svg new file mode 100644 index 000000000..ccbf58dd9 --- /dev/null +++ b/ico/themes/qet-dark/breeze/16/edit-opacity.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/ico/themes/qet-dark/breeze/16/window-close.svg b/ico/themes/qet-dark/breeze/16/window-close.svg new file mode 100644 index 000000000..03516bc11 --- /dev/null +++ b/ico/themes/qet-dark/breeze/16/window-close.svg @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/breeze/22/draw-bezier-curves.svg b/ico/themes/qet-dark/breeze/22/draw-bezier-curves.svg new file mode 100644 index 000000000..b1ced523b --- /dev/null +++ b/ico/themes/qet-dark/breeze/22/draw-bezier-curves.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/ico/themes/qet-dark/breeze/22/draw-circle.svg b/ico/themes/qet-dark/breeze/22/draw-circle.svg deleted file mode 100644 index 0938c51c9..000000000 --- a/ico/themes/qet-dark/breeze/22/draw-circle.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/themes/qet-dark/breeze/22/draw-ellipse.svg b/ico/themes/qet-dark/breeze/22/draw-ellipse.svg deleted file mode 100644 index 6ec4427de..000000000 --- a/ico/themes/qet-dark/breeze/22/draw-ellipse.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - diff --git a/ico/themes/qet-dark/breeze/22/edit-opacity.svg b/ico/themes/qet-dark/breeze/22/edit-opacity.svg new file mode 100644 index 000000000..43ecb7a8f --- /dev/null +++ b/ico/themes/qet-dark/breeze/22/edit-opacity.svg @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/ico/themes/qet-dark/breeze/22/transform-crop.svg b/ico/themes/qet-dark/breeze/22/transform-crop.svg new file mode 100644 index 000000000..c0d4cbe46 --- /dev/null +++ b/ico/themes/qet-dark/breeze/22/transform-crop.svg @@ -0,0 +1,14 @@ + + + + + + diff --git a/ico/themes/qet-dark/breeze/22/window-close.svg b/ico/themes/qet-dark/breeze/22/window-close.svg new file mode 100644 index 000000000..4a4ea1262 --- /dev/null +++ b/ico/themes/qet-dark/breeze/22/window-close.svg @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/breeze/32/window-close.svg b/ico/themes/qet-dark/breeze/32/window-close.svg new file mode 100644 index 000000000..d9676b984 --- /dev/null +++ b/ico/themes/qet-dark/breeze/32/window-close.svg @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/breeze/added/16/transform-crop.svg b/ico/themes/qet-dark/breeze/added/16/transform-crop.svg new file mode 100644 index 000000000..d350d8a9b --- /dev/null +++ b/ico/themes/qet-dark/breeze/added/16/transform-crop.svg @@ -0,0 +1,11 @@ + + + + + + diff --git a/ico/themes/qet-dark/scalable-16/draw-fillet.svg b/ico/themes/qet-dark/scalable-16/draw-fillet.svg new file mode 100644 index 000000000..f1c06dbae --- /dev/null +++ b/ico/themes/qet-dark/scalable-16/draw-fillet.svg @@ -0,0 +1,11 @@ + + + + + + + diff --git a/ico/themes/qet-dark/scalable-22/draw-fillet.svg b/ico/themes/qet-dark/scalable-22/draw-fillet.svg new file mode 100644 index 000000000..c0585e5e1 --- /dev/null +++ b/ico/themes/qet-dark/scalable-22/draw-fillet.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/scalable/draw-bezier-curves.svg b/ico/themes/qet-dark/scalable/draw-bezier-curves.svg deleted file mode 100644 index 103479773..000000000 --- a/ico/themes/qet-dark/scalable/draw-bezier-curves.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/ico/themes/qet-dark/scalable/draw-fillet.svg b/ico/themes/qet-dark/scalable/draw-fillet.svg new file mode 100644 index 000000000..8fea23abe --- /dev/null +++ b/ico/themes/qet-dark/scalable/draw-fillet.svg @@ -0,0 +1,13 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/scalable/edit-opacity.svg b/ico/themes/qet-dark/scalable/edit-opacity.svg deleted file mode 100644 index b046068e2..000000000 --- a/ico/themes/qet-dark/scalable/edit-opacity.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/ico/themes/qet-dark/scalable/ellipse-to-bezier.svg b/ico/themes/qet-dark/scalable/ellipse-to-bezier.svg deleted file mode 100644 index 1561b40fb..000000000 --- a/ico/themes/qet-dark/scalable/ellipse-to-bezier.svg +++ /dev/null @@ -1,13 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTpkNDA5NTZkMS0yNDRjLTQ2OGItYTNjZi1kOGNkMWJiZjJjNWMAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaNHa9W+jncUxYLjA5T/fHNAAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDpiMjRkMmNiNS02ZDU5LTRhZGMtYmY4My1iNmQ2MTM0YTMzMTVscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoU/JskrAOHlKW+39wbkwl5AAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg8js9kdGdiYJItlQxXai3cVkS1BURvT+xjZCCSt0ZaY2kZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaFrp/I01n8o3SfwCAu5AIIgAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCDeaq8DqUieyVsNvM+vt+d8bTEEIrdIdQXiV6a7aG54BWRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmQ0MDk1NmQxLTI0NGMtNDY4Yi1hM2NmLWQ4Y2QxYmJmMmM1Yy9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjU1NTg2MjkyLWU4NTktNDU3MC04NGI1LTRjNTNlNDY4MTc0ZXJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCDyOz2R0Z2Jgki2VDFdqLdxWRLUFRG9P7GNkIJK3RlpjaJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg1AiqYQ9UV1TMYqxD43UPFynZ5V0nAfXrfTo9OyaZ+cGiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggdMNi2v26PVYkXmjZyL7K8tFzP0+jRgIVxpnwOQ9gFJ90Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQNrJ3qg2K2hh9KpSVzl3UGL4M1J3ved4gLaHdbxA/Vfn4G8PcH4NeQrrk2fcULljrqaw6ZYCFuIyYTIkhQ660No= -Convert ellipse to bezier path - - - - - - - - - - - diff --git a/ico/themes/qet-dark/scalable/image-flip-horizontal.svg b/ico/themes/qet-dark/scalable/image-flip-horizontal.svg deleted file mode 100644 index 7371855f4..000000000 --- a/ico/themes/qet-dark/scalable/image-flip-horizontal.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/ico/themes/qet-dark/scalable/image-flip-vertical.svg b/ico/themes/qet-dark/scalable/image-flip-vertical.svg deleted file mode 100644 index f28c90bba..000000000 --- a/ico/themes/qet-dark/scalable/image-flip-vertical.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - diff --git a/ico/themes/qet-dark/scalable/rect-to-bezier.svg b/ico/themes/qet-dark/scalable/rect-to-bezier.svg deleted file mode 100644 index eb9704faa..000000000 --- a/ico/themes/qet-dark/scalable/rect-to-bezier.svg +++ /dev/null @@ -1,13 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTphMTgyYWNlNy0xYmJkLTQzYmQtYmFiMi1kMTBlMmJlNzBiNTQAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaFNd79FboARAaP6M3PQPO8IAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDowOWQ2MDg3Ni1iYjQ1LTQ5NDEtODhiMi1kNjVhYjdmNWMyMDJscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoXS5HglraT09MuST1+rfbcAAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFggLihfGkmdS5IpQR3YeGqBhs6ZkqcxbAHAYDm+z+4vM8CkZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaAvbbUkVOHH4ZCysG6DWn+8AAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCCcMegXDTjLbH4jmbUdk0PuX1tnQ/gV6VtgVf1DBe0YgGRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmExODJhY2U3LTFiYmQtNDNiZC1iYWIyLWQxMGUyYmU3MGI1NC9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjRjNGVmNmU2LTU0YzgtNGM2Mi1hMDk5LTEzZTAzZmMwZGVhNnJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCAuKF8aSZ1LkilBHdh4aoGGzpmSpzFsAcBgOb7P7i8zwKJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggu5sSUccV9ItEQkWhcG53fBuHMS8d+Irs8N2D8LmHfziiY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggi0ewqxLdfycluy0zCuaJrLNVK3aEMTD9mcGPaz0OtKR0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQEfUjmTUDTBdWe5F2ORfpgLKkj3P2znz3b6ZHFi/HmEacHMG3wdXw4e9gBowdrOMqJXG+GS0Mi7ElEzpcRnStO0= -Convert rectangle to bezier path - - - - - - - - - - - diff --git a/ico/themes/qet-dark/scalable/rect-to-polyline.svg b/ico/themes/qet-dark/scalable/rect-to-polyline.svg deleted file mode 100644 index 40ed3c7c4..000000000 --- a/ico/themes/qet-dark/scalable/rect-to-polyline.svg +++ /dev/null @@ -1,15 +0,0 @@ -AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTo5Njk4YzA4Yi0wNzc1LTQ3ZGUtOTUzMy1lMTllMTMwNTk2OGUAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaHVhCFMQ+YCaUIaehiRlEykAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo4Yjc3NjczOC1hYmJhLTRlZWEtOTUxZi1hZTA4NzhjMjRmY2RscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNoRw0Rk1rtkhshpZAKc5PqUgAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg93lOZT8pGu+IWHntnpJ0y9pNpWi9LsEPrPSP6zu3S3ekZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaCGAz99s1CYSTsHP9ygTudsAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCDGF286ZMxdg/RjdCwKf9mBtpW4Rt8trCv1OG7iYm7Z2mRuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBidZmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOjk2OThjMDhiLTA3NzUtNDdkZS05NTMzLWUxOWUxMzA1OTY4ZS9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjM1OWRmMTk2LTJiNTctNDE3MS04MGVjLTlhMjM4NmU0N2EwMHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCD3eU5lPyka74hYee2eknTL2k2laL0uwQ+s9I/rO7dLd6JjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFgg9Z6ffypTiEj67qxFt1K0w9OmK7Ue/R29dSQExYtMpj2iY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFgg9c62eLY86fBHk0TDIUicPC7IgNw+PX2usoc1r4Z10jp0Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQG5tbc1u+c4EVF+/oZspFHn8tPAKtUy2FGultvsEqB93Y8f9CSQsAG4ClWq/eiF7YeAJa/hEA4iDh7ogCcGD8hs= -Convert rectangle to polyline - - - - - - - - - - - - - diff --git a/ico/themes/qet-dark/scalable/transform-crop.svg b/ico/themes/qet-dark/scalable/transform-crop.svg deleted file mode 100644 index cb219333d..000000000 --- a/ico/themes/qet-dark/scalable/transform-crop.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - diff --git a/ico/themes/qet-dark/traced-24/arc.svg b/ico/themes/qet-dark/traced-24/arc.svg new file mode 100644 index 000000000..cba04e237 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/arc.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/autoconnect.svg b/ico/themes/qet-dark/traced-24/autoconnect.svg new file mode 100644 index 000000000..cc26af7a3 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/autoconnect.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/bring_forward.svg b/ico/themes/qet-dark/traced-24/bring_forward.svg new file mode 100644 index 000000000..b95a85e10 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/bring_forward.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/circle.svg b/ico/themes/qet-dark/traced-24/circle.svg new file mode 100644 index 000000000..dde65d093 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/circle.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/conductor.svg b/ico/themes/qet-dark/traced-24/conductor.svg new file mode 100644 index 000000000..90fb92c60 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/conductor.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/element.svg b/ico/themes/qet-dark/traced-24/element.svg new file mode 100644 index 000000000..c7783399f --- /dev/null +++ b/ico/themes/qet-dark/traced-24/element.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced-24/ellipse-to-bezier.svg new file mode 100644 index 000000000..f92e8a910 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/ellipse-to-bezier.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/ellipse.svg b/ico/themes/qet-dark/traced-24/ellipse.svg new file mode 100644 index 000000000..085cb5373 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/ellipse.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/move.svg b/ico/themes/qet-dark/traced-24/move.svg new file mode 100644 index 000000000..2153d6528 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/move.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/rect-to-bezier.svg b/ico/themes/qet-dark/traced-24/rect-to-bezier.svg new file mode 100644 index 000000000..6aa61d342 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/rect-to-bezier.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/rect-to-polyline.svg b/ico/themes/qet-dark/traced-24/rect-to-polyline.svg new file mode 100644 index 000000000..b2bc14255 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/rect-to-polyline.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/user-away-extended.svg b/ico/themes/qet-dark/traced-24/user-away-extended.svg new file mode 100644 index 000000000..9ec112a77 --- /dev/null +++ b/ico/themes/qet-dark/traced-24/user-away-extended.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-24/view-fit-window.svg b/ico/themes/qet-dark/traced-24/view-fit-window.svg new file mode 100644 index 000000000..1e871071e --- /dev/null +++ b/ico/themes/qet-dark/traced-24/view-fit-window.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/arc.svg b/ico/themes/qet-dark/traced-large-24/arc.svg new file mode 100644 index 000000000..09abe62c6 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/arc.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/autoconnect.svg b/ico/themes/qet-dark/traced-large-24/autoconnect.svg new file mode 100644 index 000000000..763aedd3d --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/autoconnect.svg @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/bring_forward.svg b/ico/themes/qet-dark/traced-large-24/bring_forward.svg new file mode 100644 index 000000000..fa7cd8228 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/bring_forward.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/circle.svg b/ico/themes/qet-dark/traced-large-24/circle.svg new file mode 100644 index 000000000..e0bfdced9 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/circle.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/conductor.svg b/ico/themes/qet-dark/traced-large-24/conductor.svg new file mode 100644 index 000000000..49c646fbc --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/conductor.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/element.svg b/ico/themes/qet-dark/traced-large-24/element.svg new file mode 100644 index 000000000..9d98298f3 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/element.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced-large-24/ellipse-to-bezier.svg new file mode 100644 index 000000000..bfcbb17dc --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/ellipse-to-bezier.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/ellipse.svg b/ico/themes/qet-dark/traced-large-24/ellipse.svg new file mode 100644 index 000000000..dfed9066a --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/ellipse.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/move.svg b/ico/themes/qet-dark/traced-large-24/move.svg new file mode 100644 index 000000000..b15d9677d --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/move.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/rect-to-bezier.svg b/ico/themes/qet-dark/traced-large-24/rect-to-bezier.svg new file mode 100644 index 000000000..2e90efa79 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/rect-to-bezier.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/rect-to-polyline.svg b/ico/themes/qet-dark/traced-large-24/rect-to-polyline.svg new file mode 100644 index 000000000..a78dcef73 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/rect-to-polyline.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/user-away-extended.svg b/ico/themes/qet-dark/traced-large-24/user-away-extended.svg new file mode 100644 index 000000000..bfebb2da6 --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/user-away-extended.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced-large-24/view-fit-window.svg b/ico/themes/qet-dark/traced-large-24/view-fit-window.svg new file mode 100644 index 000000000..499d28daa --- /dev/null +++ b/ico/themes/qet-dark/traced-large-24/view-fit-window.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/arc.svg b/ico/themes/qet-dark/traced/16/arc.svg new file mode 100644 index 000000000..dbc31a5ac --- /dev/null +++ b/ico/themes/qet-dark/traced/16/arc.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/autoconnect.svg b/ico/themes/qet-dark/traced/16/autoconnect.svg new file mode 100644 index 000000000..d457a6b94 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/autoconnect.svg @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/bring_forward.svg b/ico/themes/qet-dark/traced/16/bring_forward.svg new file mode 100644 index 000000000..64607e324 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/bring_forward.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/circle.svg b/ico/themes/qet-dark/traced/16/circle.svg new file mode 100644 index 000000000..dbef06f81 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/circle.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/conductor.svg b/ico/themes/qet-dark/traced/16/conductor.svg new file mode 100644 index 000000000..bfbc696b8 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/conductor.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/element.svg b/ico/themes/qet-dark/traced/16/element.svg new file mode 100644 index 000000000..8e3ca766d --- /dev/null +++ b/ico/themes/qet-dark/traced/16/element.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced/16/ellipse-to-bezier.svg new file mode 100644 index 000000000..739b1087a --- /dev/null +++ b/ico/themes/qet-dark/traced/16/ellipse-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/16/ellipse.svg b/ico/themes/qet-dark/traced/16/ellipse.svg new file mode 100644 index 000000000..f9a8d7b61 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/ellipse.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/move.svg b/ico/themes/qet-dark/traced/16/move.svg new file mode 100644 index 000000000..ac7aa5191 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/move.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/rect-to-bezier.svg b/ico/themes/qet-dark/traced/16/rect-to-bezier.svg new file mode 100644 index 000000000..7443b5c36 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/rect-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/16/rect-to-polyline.svg b/ico/themes/qet-dark/traced/16/rect-to-polyline.svg new file mode 100644 index 000000000..2728c72b8 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/rect-to-polyline.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/16/user-away-extended.svg b/ico/themes/qet-dark/traced/16/user-away-extended.svg new file mode 100644 index 000000000..9a1cbc6e8 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/user-away-extended.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/16/view-fit-window.svg b/ico/themes/qet-dark/traced/16/view-fit-window.svg new file mode 100644 index 000000000..40cd1f8d8 --- /dev/null +++ b/ico/themes/qet-dark/traced/16/view-fit-window.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/arc.svg b/ico/themes/qet-dark/traced/22/arc.svg new file mode 100644 index 000000000..3f34fb0b3 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/arc.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/autoconnect.svg b/ico/themes/qet-dark/traced/22/autoconnect.svg new file mode 100644 index 000000000..00503bad5 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/autoconnect.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/bring_forward.svg b/ico/themes/qet-dark/traced/22/bring_forward.svg new file mode 100644 index 000000000..e3c92e383 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/bring_forward.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/circle.svg b/ico/themes/qet-dark/traced/22/circle.svg new file mode 100644 index 000000000..49b20a04c --- /dev/null +++ b/ico/themes/qet-dark/traced/22/circle.svg @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/conductor.svg b/ico/themes/qet-dark/traced/22/conductor.svg new file mode 100644 index 000000000..87abf0ffd --- /dev/null +++ b/ico/themes/qet-dark/traced/22/conductor.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/element.svg b/ico/themes/qet-dark/traced/22/element.svg new file mode 100644 index 000000000..b7e08d23f --- /dev/null +++ b/ico/themes/qet-dark/traced/22/element.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced/22/ellipse-to-bezier.svg new file mode 100644 index 000000000..78dbdbf58 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/ellipse-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/22/ellipse.svg b/ico/themes/qet-dark/traced/22/ellipse.svg new file mode 100644 index 000000000..21fdcd8a1 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/ellipse.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/move.svg b/ico/themes/qet-dark/traced/22/move.svg new file mode 100644 index 000000000..d87d60e41 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/move.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/rect-to-bezier.svg b/ico/themes/qet-dark/traced/22/rect-to-bezier.svg new file mode 100644 index 000000000..132289f06 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/rect-to-bezier.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/22/rect-to-polyline.svg b/ico/themes/qet-dark/traced/22/rect-to-polyline.svg new file mode 100644 index 000000000..5d58577d2 --- /dev/null +++ b/ico/themes/qet-dark/traced/22/rect-to-polyline.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ico/themes/qet-dark/traced/22/user-away-extended.svg b/ico/themes/qet-dark/traced/22/user-away-extended.svg new file mode 100644 index 000000000..3ba6549bd --- /dev/null +++ b/ico/themes/qet-dark/traced/22/user-away-extended.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/22/view-fit-window.svg b/ico/themes/qet-dark/traced/22/view-fit-window.svg new file mode 100644 index 000000000..62149d0ff --- /dev/null +++ b/ico/themes/qet-dark/traced/22/view-fit-window.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/arc.svg b/ico/themes/qet-dark/traced/large16/arc.svg new file mode 100644 index 000000000..dc1f58fe8 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/arc.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/autoconnect.svg b/ico/themes/qet-dark/traced/large16/autoconnect.svg new file mode 100644 index 000000000..695a91a7b --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/autoconnect.svg @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/bring_forward.svg b/ico/themes/qet-dark/traced/large16/bring_forward.svg new file mode 100644 index 000000000..9a888c0f4 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/bring_forward.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/circle.svg b/ico/themes/qet-dark/traced/large16/circle.svg new file mode 100644 index 000000000..0e28a210c --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/circle.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/conductor.svg b/ico/themes/qet-dark/traced/large16/conductor.svg new file mode 100644 index 000000000..d651eced5 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/conductor.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/element.svg b/ico/themes/qet-dark/traced/large16/element.svg new file mode 100644 index 000000000..910792fe4 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/element.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced/large16/ellipse-to-bezier.svg new file mode 100644 index 000000000..ac8da1547 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/ellipse-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/ellipse.svg b/ico/themes/qet-dark/traced/large16/ellipse.svg new file mode 100644 index 000000000..825b393d7 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/ellipse.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/move.svg b/ico/themes/qet-dark/traced/large16/move.svg new file mode 100644 index 000000000..e26d51b2c --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/move.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/rect-to-bezier.svg b/ico/themes/qet-dark/traced/large16/rect-to-bezier.svg new file mode 100644 index 000000000..740048f62 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/rect-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/rect-to-polyline.svg b/ico/themes/qet-dark/traced/large16/rect-to-polyline.svg new file mode 100644 index 000000000..d171f9e8a --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/rect-to-polyline.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/user-away-extended.svg b/ico/themes/qet-dark/traced/large16/user-away-extended.svg new file mode 100644 index 000000000..b3052a3f4 --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/user-away-extended.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large16/view-fit-window.svg b/ico/themes/qet-dark/traced/large16/view-fit-window.svg new file mode 100644 index 000000000..2bb2ef2ff --- /dev/null +++ b/ico/themes/qet-dark/traced/large16/view-fit-window.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/arc.svg b/ico/themes/qet-dark/traced/large22/arc.svg new file mode 100644 index 000000000..8f067651a --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/arc.svg @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/autoconnect.svg b/ico/themes/qet-dark/traced/large22/autoconnect.svg new file mode 100644 index 000000000..18a8605c0 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/autoconnect.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/bring_forward.svg b/ico/themes/qet-dark/traced/large22/bring_forward.svg new file mode 100644 index 000000000..b11386061 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/bring_forward.svg @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/circle.svg b/ico/themes/qet-dark/traced/large22/circle.svg new file mode 100644 index 000000000..888693e32 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/circle.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/conductor.svg b/ico/themes/qet-dark/traced/large22/conductor.svg new file mode 100644 index 000000000..05df7eb10 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/conductor.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/element.svg b/ico/themes/qet-dark/traced/large22/element.svg new file mode 100644 index 000000000..994cd0877 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/element.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/ellipse-to-bezier.svg b/ico/themes/qet-dark/traced/large22/ellipse-to-bezier.svg new file mode 100644 index 000000000..59cb3db58 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/ellipse-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/ellipse.svg b/ico/themes/qet-dark/traced/large22/ellipse.svg new file mode 100644 index 000000000..ac8efa0e9 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/ellipse.svg @@ -0,0 +1,9 @@ + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/move.svg b/ico/themes/qet-dark/traced/large22/move.svg new file mode 100644 index 000000000..8bd28ae84 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/move.svg @@ -0,0 +1,11 @@ + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/rect-to-bezier.svg b/ico/themes/qet-dark/traced/large22/rect-to-bezier.svg new file mode 100644 index 000000000..0a212e334 --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/rect-to-bezier.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/rect-to-polyline.svg b/ico/themes/qet-dark/traced/large22/rect-to-polyline.svg new file mode 100644 index 000000000..05fe4250d --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/rect-to-polyline.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/user-away-extended.svg b/ico/themes/qet-dark/traced/large22/user-away-extended.svg new file mode 100644 index 000000000..ead81c42b --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/user-away-extended.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + diff --git a/ico/themes/qet-dark/traced/large22/view-fit-window.svg b/ico/themes/qet-dark/traced/large22/view-fit-window.svg new file mode 100644 index 000000000..4920fa0fe --- /dev/null +++ b/ico/themes/qet-dark/traced/large22/view-fit-window.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + diff --git a/lang/qet_ar.ts b/lang/qet_ar.ts index bbce400a0..764056350 100644 --- a/lang/qet_ar.ts +++ b/lang/qet_ar.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectrotech, تطبيقة لرسم المُخططات الكهربائية . - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line للتواصل : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale الفكرة الأصلية - - + - - + + + Développement تطوير - + Convertisseur DXF محوّل DXF - + Plugin Bornier نقطة توصيل - + Collection مجموعة - + Traduction en espagnol الترجمة للإسبانية - + Traduction en russe الرجمة للروسية - + Traduction en portugais الترجمة للبرتغالية - + Traduction en tchèque الترجمة للتشيكية - + Traduction en polonais الترجمة للبولندية - + Traduction en allemand الترجمة للألمانية - + Traduction en roumain الترجمة للرومانية - + Traduction en italien الترجمة للإيطالية - + Traduction en arabe الترجمة للعربية - + Traduction en croate ترجمة للكرواتية - + Traduction en catalan الترجمة للكتالونية - + Traduction en grec الترجمة لليونانية - + Traduction en néerlandais الترجمة للهولندية - + Traduction en flamand الترجمة للفلامون - + Traduction en danois الترجمة الدنماركية - + Traduction en brézilien الترجمة البرازيلية - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat حزم Fedora و Red Hat - + Paquets Mageia حزم Mageia - + Paquets Debian حزم Debian - + Paquets Gentoo حزم Gentoo - + Paquets OS/2 حزم OS/2 - + Paquets FreeBSD حزم FreeBSD - + Paquets MAC OS X حزم MAC OS X - + Paquets Archlinux AUR حزم Archlinux AUR - + Icônes إيقونات - + Documentation توثيق - + Collection d'éléments مجموعة عناصر - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ الزاوية : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element عنصر - + Conducteur موصل - + Configurer les règles d'auto numérotation تكوين قواعد الترقيم الذاتي - + Configurer تكوين @@ -573,10 +734,104 @@ صفحة - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + + + + Autonumérotation ترقيم آلي + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +933,94 @@ القائم - + Under Development تحت التطوير - + Installing تركيب - + Built بناء - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + + + + Auto Numbering Management title window إدارة الترقيم الآلي - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1063,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ تسمية _ - + Enregister sous... حفظ باسم... - + Fichiers csv (*.csv) ملفات csv (*.csv) - - + + Erreur خطأ - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position موضع - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1144,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1211,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1242,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol إضافة مُتغيّر : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible أدخل النص الخاص بك هنا، وذلك باستخدام المتغيرات المتاحة @@ -909,13 +1251,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption تغيير خاصيات الموصل - + Modifier les propriétés de plusieurs conducteurs undo caption تغيير خاصيات موصلات متعددة @@ -924,73 +1266,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir أسود - + Marron بُنّي - + Gris رمادي - + Bleu أزرق - + Vert أخضر - + Rouge أحمر - + Orange برتقالي - + Violet بنفسجي - + Blanc أبيض - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1003,7 +1345,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1021,13 +1363,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol تطبيق الخواص على مجموع الموصلات لهذا الكمون - + Modifier les propriétés d'un conducteur undo caption تغيير خاصيات موصل - + Modifier les propriétés de plusieurs conducteurs undo caption تغيير خاصيات موصلات متعددة @@ -1036,24 +1378,37 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel تطبيق الخواص على مجموع الموصلات لهذا الكمون + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur موصل @@ -1082,12 +1437,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte نص - - + + Unifilaire أحادي السلك @@ -1103,6 +1459,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible نص ظاهر @@ -1137,38 +1494,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol موضع و دوراننصّ موصل - + phase طور - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line نمط الموصل: خط مستمرّ خط مستمرّ - + Trait en pointillés conductor style: dashed line نمط الموصل: خط مُتقطّع خط متقطع - + Traits et points conductor style: dashed and dotted line نمط الموصل : نقاط و خطوط خطوط و نقاط - + terre أرضي - + neutre محايد @@ -1178,7 +1552,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol شكل - + Formule du texte : صيغة النص: @@ -1214,96 +1588,96 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol تحرير الترقيمات - + cable - + bus - - + + Nombre de phase عدد الأطوار - + Neutre محايد - + Phase طور - + Protective Earth Neutral حماية الأرضي -المحايد - + PEN قلم - + Terre أرضي - + TextLabel علامة نصيّة - + Taille : - - + + Style du conducteur نوع الموصل - + Couleur secondaire : لون ثانوي: - + px px بيكسل - + Taille de trait : حجم الخطّ: - + Couleur du conducteur لون الموصل - + Apparence المظهر - - + + Couleur : اللون: - + Style : نمط : @@ -1324,128 +1698,156 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type نوع - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert عادة مفتوح - + Normalement fermé عادة مُغلق - + Inverseur عاكس - + Autre - - + + Inconnu - + Simple مفردة - + Puissance قدرة - + Temporisé travail مُؤقت للتشغيل - + Temporisé repos مُؤقت للتوقف - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1475,27 +1877,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur خطأ - + Impossible d'écrire dans le fichier « %1 ». @@ -1503,7 +1905,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur تغيير العمق @@ -1643,7 +2045,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1660,262 +2062,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image صورة - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... تحديد صورة ... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur خطأ - + Impossible de charger l'image. إستحالة تحميل الصورة . - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1923,7 +2393,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title خصائص الصفحة @@ -1932,12 +2402,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre حافظ على ضغط ctrlلتحريك حرّ - + <Shift> to move @@ -1946,77 +2416,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip في هذه المنطقة تحتفظون بمخططاتكم للإضافة إليها عناصر أخرى و لوضع موصلات بين أطرافها. كما يُمكنكم إضافة نصوص مستقلّة. - + Coller ici context menu action لصق هنا - + Collage multiple لصق متعدد - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams بدون عنوان - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur خطأ - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur إختيار اللون الجديد لهذا الموصل - + Modifier les propriétés d'un conducteur undo caption تغيير خاصيات موصل @@ -2035,7 +2511,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol العنوان - + TextLabel علامة نصيّة @@ -2043,42 +2519,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut أعلى - + Bas أسفل - + Gauche يسار - + Droite يمين - + Direction : @@ -2086,17 +2562,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte نص - + Éditer un texte d'élément تحرير نصّ عنصر - + Redimensionner un texte d'élément @@ -2115,30 +2591,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte توريد تكوين نصّ - + Ajouter un texte إضافة نصّ - + Ajouter un groupe de textes إضافة مجموعة نصوص - + Supprimer la sélection حذف التحديد @@ -2316,21 +2792,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche يسار - + Droite يمين - + Centre مركز @@ -2463,64 +2939,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol دوران - - + + Déplacer un champ texte تحريك حقل نصّي - + Pivoter un champ texte دوران حقل نصّي - + Modifier le texte d'un champ texte تعديل محتوى حقل نصّي - + Modifier la couleur d'un champ texte تعديل لون حقل نصّي - + Modifier le cadre d'un champ texte تعديل إطار حقل نصّي - - + + Modifier la police d'un champ texte - + Modifier la largeur d'un texte تغيير عرض النصّ - + Modifier l'information d'un texte تغيير معلومة نصّ - + Modifier la source de texte, d'un texte تغيير مصدر نصّ, لنصّ - + Modifier l'alignement d'un champ texte تعديل مُحاذاة حقل نصّي - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2528,32 +3004,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur نصّ المستخدم - + Information de l'élément معلومة العنصر - + Texte composé نصّ مُركّب - + Gauche يسار - + Centre مركز - + Droite يمين @@ -2561,12 +3037,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2607,165 +3083,238 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title عنوان مربع الحوار فتح عنصر - + Choisissez l'élément que vous souhaitez ouvrir. dialog content محتوى مربع الحوار اختر العنصر المراد فتحه . - + Enregistrer un élément dialog title عنوان مربع الحوار حفظ عنصر - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content محتوى مربع الحوار اختر العنصر التي ترغب في حفظ تعريفك فيه . - + Ouvrir une catégorie dialog title عنوان مربع الحوار فتح الصنف - - + + Choisissez une catégorie. dialog content محتوى مربع الحوار اختر الصنف . - + Enregistrer une catégorie dialog title عنوان مربع الحوار حفظ الصنف - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre العنوان - + Label علامة - + Nom du nouveau dossier اسم المجلّد الجديد - + Nom du nouveau template - + Écraser le template ? message box title - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content يُمكنك تحديد عنصر أو صنف باسم العنصر. - + Sélection inexistante message box title عنوان مربع الرسالة تحديد غير موجود - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content محتوى مربع الرسالة التحديد غير موجود . - - + + Sélection incorrecte message box title عنوان مربع الرسالة تحديد غير صحيح - + La sélection n'est pas un élément. message box content محتوى مربع الرسالة التحديد ليس بعنصر . - + Écraser l'élément ? message box title عنوان مربع الحوار سحق العنصر ؟ - + L'élément existe déjà. Voulez-vous l'écraser ? message box content محتوى مربع الرسالة @@ -2790,12 +3339,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2813,104 +3368,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations معلومات - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2926,8 +3591,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type نوع @@ -3010,8 +3675,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction وظيفة @@ -3041,302 +3706,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété قيّم - - - + + + Simple مفردة - + Maître قائد - + Esclave مُنقاد - + Renvoi de folio suivant إحالة للورقة التالية - + Renvoi de folio précédent إحالة للورقة السابقة - + Bornier نهاية توصيل - + Vignette - + Définition de conducteur - - + + Normalement ouvert عادة مفتوح - - + + Normalement fermé عادة مُغلق - - + + Inverseur عاكس - + Other - + Esclave PLC - - + + Puissance قدرة - - + + Temporisé travail مُؤقت للتشغيل - - + + Temporisé repos مُؤقت للتوقف - - + + Temporisé travail & repos - + Bobine ملف - + Organe de protection عضو حماية - + Commutateur / bouton مُبدّل / زر - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase طور - + Neutre محايد - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire تعليق - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun لا شيئ - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre أرضي @@ -3350,7 +4015,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3478,249 +4143,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection حذف التحديد - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position موضع - + Titre du folio عنوان الصفحة - + Position du folio - + Numéro du folio - - + + Exporter تصدير - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur خطأ - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3728,31 +4393,31 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive نقلة أوليّة - + Éditer les informations sur l'auteur window title عنوان النافذة تحرير معلومات المؤلف - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. يمكنكم استعمال هذا الحقل الحر لذكر المؤلفين , العنصر, ترخيصه أو أي معلومة أخرى ترونها ضرورية . - + Éditer les noms window title عنوان النافذة تحرير الأسماء - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. يمكنكم تعيين إسم العنصر بلغات متعدّدة . @@ -3760,101 +4425,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title البند ليس بصنف - + L'item demandé n'est pas une categrie. Abandon. message box content البند المطلوب ليس بصنف . ترك . - + Catégorie inexistante message box title صنف غير موجود - + La catégorie demandée n'existe pas. Abandon. message box content الصنف المطلوب غير موجود . .تخلي. - + Éditer une catégorie window title تحرير صنف - + Créer une nouvelle catégorie window title إنشاء صنف جديد - + Nom de la nouvelle catégorie default name when creating a new category اسم الصنف الجديد - + Édition en lecture seule message box title تحرير بالقراءة فقط - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content ليست لديك الإمتيازات الضرورية لتغيير هذا الصنف. سيفتح إذا للقراءة فقط. - + Nom interne : الاسم الداخلي : - + Vous pouvez spécifier un nom par langue pour la catégorie. يُمكنكم تعيين اسم لكل لغة بالنسبة للصنف . - + Nom interne manquant message box title الإسم الداخلي ناقص - + Vous devez spécifier un nom interne. message box content يتوجب عليك تعيين إسم داخلي . - + Nom interne déjà utilisé message box title إسم داخلي مستعمل من قبل - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content الإسم الداخلي الذي اخترته مستعمل من صنف موجود. الرجاء إختيار إسم آخر. - + Erreur message box title خطأ - + Impossible de créer la catégorie message box content إستحالة إنشاء الصنف @@ -3863,98 +4528,98 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant فتح المجلد المتناضر - + Éditer l'élément تحرير العنصر - + Supprimer l'élément حذف العنصر - + Supprimer le dossier حذف المجلد - + Recharger les collections إعادة تحميل الأصناف - + Éditer le dossier تحرير المجلد - + Nouveau dossier مجلد جديد - + Nouvel élément عنصر جديد - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier عرض هذا السجل فقط - + Afficher tous les dossiers عرض كلّ السجلات - + Propriété du dossier خاصيات المجلّد - + Supprimer l'élément ? message box title حذف العنصر ؟ - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content هل أنت مُتأكّد من حذف هذا العنصر ؟ - + Suppression de l'élément message box title حذف العنصر - + La suppression de l'élément a échoué. message box content فشل حذف العنصر. - + Supprimer le dossier? message box title حذف المجلد ؟ - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3962,24 +4627,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title حذف مجلد - + La suppression du dossier a échoué. message box content فشل حذف المجلد. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3995,43 +4660,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient يحتوي المجلّد %1 - + %n élément(s), répartie(s) %n عناصر مُوزعة @@ -4043,7 +4708,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). في %n مجلدات .. @@ -4055,32 +4720,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 مسار المجموعة : %1 - + Chemin dans le système de fichiers : %1 مسار في نظام الملفات : %1 - + Rechercher... - + Collections مجموعات - + Modèles - + Propriété du dossier %1 خاصيات المجلد %1 @@ -4150,124 +4815,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant فتح المجلد المتناضر - + Copier le chemin نسخ المسار - + Basculer vers ce projet الإنتقال إلى هذا المشروع - + Fermer ce projet اغلق هذا المشروع - + Propriétés du projet حصائص المشروع - + Propriétés du folio خصائص الصفحة - + Ajouter un folio إضافة صفحة - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio حذف هذه الصفحة - + Remonter ce folio رفع هذه الصفحة - + Abaisser ce folio خفض هذه الصفحة - + Remonter ce folio x10 رفع هذه الصفحة X 10 - + Remonter ce folio x100 رفع هذه الصفحة X 100 - + Remonter ce folio au debut رفع هذه الصفحة إلى البداية - + Abaisser ce folio x10 خفض هذه الصفحة X 10 - + Abaisser ce folio x100 خفض هذه الصفحة X 100 - + Nouveau modèle نموذج جديد - + Éditer ce modèle تحرير هذا النموذج - + Supprimer ce modèle احذف هذا النموذج - - + + Panneau des éléments - + Filtrer @@ -4313,7 +4978,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title تصدير @@ -4322,102 +4987,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter تصدير - + Tout cocher وضع علامة على الكلّ - + Tout décocher إزالة العلامة عن الكلّ - + Exporter les folios du projet window title تصفية - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : اختر الصفحات المُراد تصديرها وكذلك مقاساتها : - + Titre du folio عنوان الصفحة - + Nom de fichier اسم الملف - + Dimensions مقاسات - + Noms des fichiers cibles message box title أسماء الملفات المستهدفة - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content لا بُدّ من إدخال اسم ملف غير فارغ و وحيد لكلّ صفحة تُصدّرها . - + Dossier non spécifié message box title مجلد غير مُعرّف - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content لا بُدّ من تحديد مسار المجلد التي ترغب في تسجيل صورة الملفات فيه . - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title إستحالة الكتابة في هذا الملف - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content يبدو أنّه ليس لديكم التراخيص اللازمة للكتابة في الملف %1. - + Aperçu لمحة - - + + px px بيكسل @@ -4690,63 +5355,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre أرضي - + Phase طور - + Neutre محايد - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4754,27 +5429,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label علامة - + Référence croisé - + Type نوع - + Fonction وظيفة - + led @@ -4792,7 +5467,7 @@ that you create. Text and number inputs are استعمل ألوان النظام - + Projets مشاريع @@ -4802,31 +5477,31 @@ that you create. Text and number inputs are استخدم إيماءات لوحة اللمس - + Désactivé مُعطّل - + min minute دقيقة د - + Mettre en valeur dans le panel les éléments fraîchement intégrés إبراز العناصر المُدمجة حديثا في اللوحة - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : ضمّن لكل عنصر معلومات حول مؤلفيه أو ترخيصه أو أي معلومات أخرى تراها مفيدة في حقل مجاني. يمكنك هنا تحديد القيمة الافتراضية لهذا الحقل للعناصر التي ستقوم بإنشائها: - + Appliqué au prochain lancement de QElectroTech يُطبّق عند الإطلاق التالي لـ QElectroTech @@ -4836,113 +5511,114 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments شكل - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) النسخ الاحتياطي التلقائي ) للمشاريع يُطبق في الإنطلاق التالي من QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections مجموعات - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4957,203 +5633,318 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - - Gestion des éléments - إدارة العناصر - - - - Langues + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) - - Textes - نصوص + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + - - Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + + Gestion des éléments + إدارة العناصر + + + + Langues + + + + + Textes + نصوص + + + + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech + + + + Textes d'éléments - - - + + + Police : خطّ : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List @@ -5163,233 +5954,331 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments السماح بالتصغير لما بعد الصفحة - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title عام - + Système النظام - + Arabe العربية - + Brézilien البرازيلي - + Catalan الكتالونية - + Tchèque التشيكية - + Allemand الألمانية - + Danois دنماركية - + Grec اليونانية - + Anglais الإنجليزية - + Espagnol الإسبانية - + Français الفرنسية - + Croate الكرواتية - + Italien الإيطالية - + Japonais - + Coréen - + Polonais البولندية - + Portugais البرتغالية - + Roumains الرومانية - + Russe الروسية - + Slovène السلوفينية - + Pays-Bas هولندا - + Norvege - + Belgique-Flemish بلجيكا- فلامون - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + ملفات csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5444,7 +6333,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu هذا نموذج لإطار تعريف , والممكن تطبيقه للصفحة . - + %1 [non utilisé dans le projet] %1 [غير مستعمل قي المخطط] @@ -5705,42 +6594,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5927,28 +6816,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6191,6 +7080,100 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu فك الإرتباط + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + + + + MarginsEditDialog @@ -6237,7 +7220,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6342,7 +7325,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6352,6 +7335,158 @@ Voulez-vous tout de même lier ce contact esclave ? مرجع متقاطع (متبوع) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6401,10 +7536,15 @@ Voulez-vous tout de même lier ce contact esclave ? ترقيم آلي للموصلات - + Multi-collage لصق مُتعدّد + + + Numéroter les éléments collés + + NameListDialog @@ -6414,7 +7554,7 @@ Voulez-vous tout de même lier ce contact esclave ? حوار - + Variables de cartouche @@ -6442,7 +7582,7 @@ Voulez-vous tout de même lier ce contact esclave ? اضافة سطر - + Copier dans le presse papier @@ -6500,13 +7640,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title صفحة جديدة - + Nouveau projet configuration page title مشروع جديد @@ -6781,13 +7921,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name حقل نصّي ديناميكي - + Déplacer un champ texte تحريك حقل نصّي @@ -6847,25 +7987,47 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte تحريك نص - + Modifier un champ texte تعديل حقل نصّي + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6877,32 +8039,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7008,12 +8170,12 @@ Voulez-vous tout de même lier ce contact esclave ? متعدد أضلع مُغلق - + Ajouter un point إضافة نقطة - + Supprimer ce point حذف هذه النقطة @@ -7065,8 +8227,8 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. أنت تُحاول توصيل نُقطتين معا ذوات كُمون مُختلف . - - + + %n conducteurs composent le potentiel suivant : %n موصلات يكونون الكمون التالي: @@ -7078,69 +8240,69 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - - - + + + Numéro : %1 رقم : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Fonction : %1 وظيفة : %1 - - - + + + Tension/protocole : %1 جهد / بروتوكول : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption تغيير خاصيات عدّة موصلات - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7148,10 +8310,111 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + + + + Conserver + + + + + Supprimer + حذف + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title طباعة @@ -7160,155 +8423,395 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management إدارة - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom + اسم + + + + Folio + صفحة + + + + Élément + العنصر + + + + Figé - - Numérotation auto des folios + + Attribuer un numéro libre… - - Importer depuis un autre projet... - - - - - Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - - - - - Sans nom - بدون إسم - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + + + + Supprimer la numérotation + حذف الترقيم + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + + + Sans nom + بدون إسم + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) مشروع QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - اسم الترقيم الجديد + اسم الترقيم الجديد ProjectDBModel - + Position موضع - + Position du folio @@ -7327,50 +8830,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title عام - + Titre du projet : label when configuring عنوان المشروع : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label سيكون هذا العنوان مُتاحا لكلّ صفحات هذا المشروع كـ %projecttitle . - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label يُمكنك تعريف أدناه الخصائص المُخًّصة والتّي ستون مُتاحة لكلّ صفحات هذا المشروع (عادة لإطارات التعريف ) . - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7414,137 +9001,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre رسم الإطار - + Dessiner le cartouche رسم إطار التعريف - + Conserver les couleurs des conducteurs احتفظ بألوان الأسلاك الموصلة - + Dessiner les bornes رسم أطراف التوصيل - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page موائمة الصفحة مع الورقة - + Utiliser toute la feuille استعمل كلّ الورقة - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur مُلائمة العرض - + Ajuster la page مُلائمة الصفحة - + Zoom arrière تصغير - + Zoom avant تكبير - + Paysage مشهد أفقي - + Portrait مشهد عمودي - + Première page الصفحة الأولى - + Page précédente الصفحة السابقة - + Page suivante الصفحة التالية - + Dernière page الصفحة الأخيرة - + Afficher une seule page - + Afficher deux pages عرض صفحتين - + Afficher un aperçu de toutes les pages عرض لمحة عن كلّ الصفحات - + mise en page @@ -7722,245 +9309,293 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption تحميل ... تهيئة ذاكرة التخزين المؤقت لأصناف العناصر - + Chargement... Éditeur de schéma splash screen caption تحميل ... مُحرّر مُخطط - + Chargement... Ouverture des fichiers splash screen caption تحميل ... فتح الملفات - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR RTL - + Cartouches QET title of the title block templates collection provided by QElectroTech إطارات تعريف QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection إطارات تعريف المستعمل - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning مخطط - + Electrique Normal example text - translate length, not meaning كهربائي - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title إعدادات برنامج QElectrotech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + خطأ + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption تحميل ... - + Chargement... icône du systray splash screen caption تحميل ...ايقونة systray - + QElectroTech systray menu title QElectroTech - + &Quitter &إنهاء - + &Masquer &حجب - + &Restaurer ا&سترجاع - + &Masquer tous les éditeurs de schéma &حجب كلّ محرري المخططات - + &Restaurer tous les éditeurs de schéma &استرجاع كل محرري المخطط - + &Masquer tous les éditeurs d'élément &احجب كلّ محرري العنصر - + &Restaurer tous les éditeurs d'élément &استرجع كلّ محرري العنصر - + &Masquer tous les éditeurs de cartouche systray submenu entry &احجب كلّ محرري إطار التعريف - + &Restaurer tous les éditeurs de cartouche systray submenu entry &استرجع كلّ محرري إطار التعريف - + &Nouvel éditeur de schéma &محرر تخطييط جديد - + &Nouvel éditeur d'élément &محرّر عنصر جديد - + Ferme l'application QElectroTech إغلاق تطبيق QElectrotech - + Réduire QElectroTech dans le systray خفض QElectrotech في systray - + Restaurer QElectroTech إسترجاع QElectrotech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas محرري المخططات - + Éditeurs d'élément محرري العناصر - + Éditeurs de cartouche systray menu entry محرري إطار التعريف - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>الملف التالي مُستعاد,<br>هل تريد فتحه ?</b><br> + <b>الملف التالي مُستعاد,<br>هل تريد فتحه ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>تمّ استعادة الملفات التالية,<br>هل تريد فتحها ?</b><br> + <b>تمّ استعادة الملفات التالية,<br>هل تريد فتحها ?</b><br> - Fichier de restauration - استعادة الملف + استعادة الملف - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : إستعمال : - + [options] [fichier]... [خيارات] [ rملف]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7976,32 +9611,32 @@ Options disponibles : - الترخيص ......................... عرض الترخيص - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR عرّف مجلد صنف العناصر - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR عرّف مجلد مجموعة نماذج إطارات التعريف - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR عرّف مجلد الإعدادات - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR عرّف المجلد المحتوي على ملفات اللغة @@ -8010,641 +9645,866 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectrotech - + Annulations dock title إلغاءات - + Aucune modification لا تغيير - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip انقر على فعل للرجوع إلى الخلف في تحرير مخططتكم - + &Nouveau &جديد - + &Ouvrir &فتح - + + &Fermer &غلق - + &Enregistrer &حفظ - + Enregistrer sous حفظ باسم - + E&xporter &تصدير - + Projets dock title مشاريع - + Collections مجموعات - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip هذه اللافتة تُعدّد مُختلف الاجراءات المتّخذة على الصفحة الحالية . الظغط على إجراء يسمح بالرجوع إلى حالة المُخطط مُباشرة قبل تنفيذه . - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Imprimer طباعة - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter إ&نهاء - + Annuler إلغاء - + Refaire إعادة - + Co&uper &قص - + Cop&ier &نسخ - + C&oller &لصق - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille عرض الشبكة - + Affiche ou masque la grille des folios عرض أو إخفاء شبكة الصفخات - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + اعرض + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + مراجع مُتقاطعة + + + + Voir Affichage > Afficher + + + + Propriétés du folio خصائص الصفحة - + Ajouter un folio إضافة صفحة - - - + + + Supprimer le folio حذف الصفحة - + Exporter au format CSV - + Ajouter une nomenclature - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Crée un nouveau projet status bar tip إحداث مشروع جديد - + Ouvre un projet existant status bar tip فتح مشروع قائم - + Ferme le projet courant status bar tip غلق المشروع الحالي - + Enregistre le projet courant et tous ses folios status bar tip حفظ المشروع الحالي بكلّ صفحاته - + Enregistre le projet courant avec un autre nom de fichier status bar tip حفظ المشروع الحالي باسم ملف آخر - + Ajouter une ligne Add row اضافة سطر - + Enlever une ligne Remove row إزالة صف - + Ajoute une colonne au folio status bar tip إضافة عمود للصفحة - + Enlève une colonne au folio status bar tip نزع عمود من الصفحة - + Agrandit le folio en hauteur status bar tip تكبير ارتفاع الصفحة - + Rétrécit le folio en hauteur status bar tip تقليص ارتفاع الصفحة - + Pivoter le groupe - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip نزع العناصر المُحدّدة في الصفحة - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner تحديد الكل - + Désélectionner tout إلغاء تحديد الكل - + Inverser la sélection اعكس التحديد - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Profondeur toolbar title العمق - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes + + + + Scripts + + - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -8657,7 +10517,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -8670,44 +10530,92 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + + + + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe مجموعة + + + %n objet(s) aligné(s) + + + + + + + + + - + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8719,7 +10627,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8731,7 +10639,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -8743,18 +10651,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8763,318 +10671,428 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + + + + Textes %1 - + Supprimer حذف - + Pivoter دوران محوري - + Orienter les textes توجيه النصوص - + Retrouver dans le panel إيجاد في اللوحة - + Réinitialiser les conducteurs إعادة تهيئة الموصلات - + Ajouter un champ de texte إضافة حقل نصي - + Ajouter une colonne إضافة عمود - + Ajouter une image إضافة صورة - + Enlever une colonne إزالة عمود - + Propriétés du projet خصائص المشروع - + Nettoyer le projet تنظيف المشروع - + Ajouter un sommaire إضافة مُلخص - + Zoom avant تكبير - + Zoom arrière تصغير - + Zoom sur le contenu تكبير المحتوى - + Zoom adapté تهيئة تكبير/تصغير - + Pas de zoom بدون تكبير/تصغير - + en utilisant des onglets باستعمال الزوايا الطرفية - + en utilisant des fenêtres باستعمال النوافذ - + Mode Selection أسلوب التحديد - + Mode Visualisation أسلوب العرض - + &Mosaïque &فسيفساء - + &Cascade &تتالي - + Projet suivant المشروع التالي - + Projet précédent المشروع السابق - + Sélectionne tous les éléments du folio status bar tip تحديد كلّ عناصر الصفحة - + Désélectionne tous les éléments du folio status bar tip إلغاء تحديد كلّ عناصر الصفحة - + Agrandit le folio status bar tip تكبير الصفحة - + Rétrécit le folio status bar tip تقليص الصفحة - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre مُوائمة التكبير لعرض كلّ مُحتوى الصفحة بغضّ النظر عن الاطار - + Adapte le zoom exactement sur le cadre du folio status bar tip موائمة التكبير بالظبط على إطار الصفحة - + Ajouter un rectangle اضافة مستطيل - + Ajouter une ellipse اضافة اهليج - + Ajouter une polyligne إضافة مُتعدد أضلع - + Retrouve l'élément sélectionné dans le panel status bar tip إيجاد العنصر المُحدّد في اللوحة - + Exporte le folio courant dans un autre format status bar tip تصدير الصفحة الحالية في شكل آخر - + Imprime un ou plusieurs folios du projet courant status bar tip طباعة صفحة أو صفحات من المشروع الحالي - + Place les éléments du presse-papier sur le folio status bar tip وضع العناصر المخزنة بالحافظة على الصفحة - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip تحرير خاصيات الصفحة (مقاسات, معلومات إطار التعريف, خاصيات المُوصلات ...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip يسمح بعرض الصفحة دون القدرة على تغييرها - - + + Projet %1 enregistré dans le repertoire: %2. مشروع %1 محفوظ في الدليل: %2. - - + + Impossible d'ouvrir le fichier message box title إستحالة فتح الملف - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. يبدو أنّ الملف %1 الذي تُحاول فتحه غير موجود . - + Ouverture du projet en lecture seule message box title فتح المشروع للقراءة فقط - + Éditer l'item sélectionné تحرير العنصر المُحدّد - + Ferme l'application QElectroTech status bar tip غلق تطبيق QElectrotech - + Annule l'action précédente status bar tip إلغاء الفعل السابق - + Restaure l'action annulée status bar tip استرجاع الفعل الملغى - + Transfère les éléments sélectionnés dans le presse-papier status bar tip نقل العناصر المحددة داخل الحافظة - + Copie les éléments sélectionnés dans le presse-papier status bar tip نسخ التحديد ووضعه في الحافظة - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip الغاء تحديد العناصر المحددة و تحديد العناصر الغير محددة - + Pivote les éléments et textes sélectionnés status bar tip تدوير العناصر والنصوص المُحدّدة - + Pivote les textes sélectionnés à un angle précis status bar tip تدوير النصوص المُحدّدة بزاوية مُعيّنة - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip إعادة حساب مسارات الأسلاك الموصلة دون الأخذ في الإعتبار التغييرات - + Création automatique de conducteur(s) Tool tip of auto conductor إحداث آلي لموصلات - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor استخدم الاحداث الآلي للموصلات كلّما كان ذلك مُمكنا @@ -9090,185 +11108,185 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g عرض لون الخلفية للصفحة أبيض أو رمادي - + Restaure le zoom par défaut status bar tip استرجاع تكبير / تصغير الإفتراضي - + Ajouter une ligne Draw line اضافة سطر - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip يُقدّم مختلف المشاريع المفتوحة في النوافذ الثانوية - + Présente les différents projets ouverts des onglets status bar tip تقديم مختلف المشاريع المفتوحة في علامات - + Permet de sélectionner les éléments status bar tip يسمح بتحديد العناصر - + Dispose les fenêtres en mosaïque status bar tip يُنظم النوافذ على هيئة فسيفساء - + Dispose les fenêtres en cascade status bar tip يُنظم النوافذ على التتالي - + Active le projet suivant status bar tip تفعيل المشروع التالي - + Active le projet précédent status bar tip تفعيل المشروع السابق - + &Fichier &ملف - + &Édition &تحرير - + &Projet &مشروع - + Afficha&ge عر&ض - + Fe&nêtres نوا&فذ - + &Récemment ouverts &مفتوح حديثا - + Affiche ou non la barre d'outils principale عرض أو لا لشريط الأدوات الرئيسي - + Affiche ou non la barre d'outils Affichage عرض أو لا لشريط أدوات العرض - + Affiche ou non la barre d'outils Schéma عرض أو لا شريط أدوات المخطط - + Affiche ou non le panel d'appareils عرض أو لا للوحة الأجهزة - + Affiche ou non la liste des modifications عرض أو لا لقائمة التحويرات - + Afficher les projets عرض المشاريع - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) مشاريع QElectroTech (*.qet);ملفات XML (*.xml);;كلّ الملفات (*) - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » تنشيط المشروع « %1 » - + Outils أدوات - + Affichage عرض - + Schéma مخطط - + Ajouter إضافة - + Ouvrir un fichier فتح ملف - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. يبدو أنّ الملف التي تُحاول فتحه لا يُمكن الوصول إليه للقراءة وبالتالي يستحيل فتحه. الرجاء التثبت من تراخيص الملف. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. يبدو أنّ المشروع التي تحاول فتحه, غير قابل للوصول إليه للكتابة. وبالتالي لايُمكن فتحه إلا للقراءة فقط. - - + + Échec de l'ouverture du projet message box title فشل فتح المشروع - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content يبدو أنّ الملف %1 ليس بملف مشروع QElectrotech. ;وبالتالي لا يمكن فتحه. - + %n objet(s) remis sur la grille @@ -9280,12 +11298,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9297,68 +11315,68 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Éditer l'élement edit element تحرير العنصر - + Éditer le champ de texte edit text field تحرير الحقل النصّي - + Éditer l'image edit image تحرير الصورة - + Éditer le conducteur edit conductor تحرير الموصل - + Éditer l'objet sélectionné edit selected item تحرير الكائن المُحدّد - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title خطأ @@ -9367,42 +11385,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &جديد - + &Ouvrir &فتح - + &Ouvrir depuis un fichier &فتح من ملف - + &Enregistrer &حفظ - + Enregistrer sous حفظ باسم - + Enregistrer dans un fichier حفظ في ملف - + Recharger إعادة التحميل - + Tout sélectionner تحديد الكل @@ -9412,263 +11430,263 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectrotech - محرر العناصر - + &Aide &مساعدة - + Annulations - + Parties أجزاء - + Informations معلومات - + Outils أدوات - + Affichage عرض - + Élément العنصر - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout إلغاء تحديد الكل - + Co&uper &قص - + Cop&ier &نسخ - + C&oller &لصق - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech &حول البرنامج QElectrotech - + Affiche des informations sur QElectroTech عرض معلومات حول البرنامج QElectrotech - + Manuel en ligne دليل على الأنترنت - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech إطلاق المستعرض الافتراضي إلى دليل QElectrotech على الأنترنت - + Chaine Youtube قناة يوتيوب - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech إطلاق المستعرض الافتراضي إلى قناة QElectrotech على يوتيوب - + Soutenir le projet par un don ساعد المشروع بالتبرع - + Soutenir le projet QElectroTech par un don ساعد مشروعQElectrotech بالتبرع - + À propos de &Qt حول &Qt - + Affiche des informations sur la bibliothèque Qt عرض معلومات حول مكتبة Qt - + Rotation دوران - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection اعكس التحديد - + &Supprimer &حذف - + Zoom avant تكبير - + Zoom arrière تصغير - + Zoom adapté تهيئة تكبير / تصغير - + Pas de zoom لا تصغير / تكبير - + Éditer les informations sur l'auteur تحرير المعلومات عن المُؤلف - + Ajouter une ligne اضافة سطر - + Ajouter un rectangle اضافة مستطيل - + Ajouter une ellipse اضافة اهليج - + Ajouter un polygone اضافة متعدد الأضلع - + Ajouter du texte اضافة نص - + Ajouter un arc de cercle اضافة قوس دائري - + Ajouter une borne اضافة طرف توصيل - + Annuler الغاء - + Afficher menu entry اعرض - + Trop de primitives, liste non générée: %1 - + %n avertissement(s) warnings @@ -9681,104 +11699,104 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Refaire إعادة - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Avertissement تنبيه - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Parties toolbar title أجزاء - + Profondeur toolbar title العمق - + Éditer le nom et les traductions de l'élément تحرير الإسم وترجمات العنصر - + Éditer les propriétés de l'élément تحرير خاصيات العنصر - + &Fichier &ملف - + &Édition &تحرير - + Afficha&ge &عرض - + Coller depuis... لصق من ... - + [Modifié] window title tag [مُعدّل] - + [lecture seule] window title tag [للقراءة فقط] - + Aucune modification لا تغيير - + Éditeur d'éléments status bar message محرر العناصر - - + + %n partie(s) sélectionnée(s). %n جزء محدّد. @@ -9790,40 +11808,40 @@ veuillez patienter durant l'import... - + Absence de borne warning title غياب طرف توصيل - + Absence de borne غياب طرف توصيل - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>في غياب نُقطة توصيل , لا يُمكن ربط العنصر بعناصر أخرى عبر موصلات . - + Ajouter un champ texte dynamique إضافة حقل نصّي ديناميكي - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>خطأ</b> :<br>لا تحمل إحالات الصفحة سوى نقطة توصيل واحدة.<br><b>حلّ</b> :<br>تأكد من أنّ العنصر لا يحمل سوى نقطة توصيل واحدة - + La vérification de cet élément a généré message box content التحقّق من هذا العنصر ولّد - + %n erreur(s) errors @@ -9836,259 +11854,319 @@ veuillez patienter durant l'import... - + et و - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs أخطاء - + Avertissements تنبيهات - + Le fichier %1 n'existe pas. message box content الملف %1 غير موجود. - - + + Impossible d'ouvrir le fichier %1. message box content إستحالة فتح الملف %1. - - + + Ce fichier n'est pas un document XML valide message box content هذا الملف وثيقة XML غير سليمة - - + + Erreur toolbar title خطأ - - + + Édition en lecture seule message box title تحرير بقراءة فقط - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content ليس لديك الصلاحيات الضرورية لتعديل هذا العنصر . وبالتالي سيُفتح للقراءة فقط. - - + + Erreur message box title خطأ - + Impossible d'écrire dans ce fichier message box content لايمكن الكتابة في هذا الملف - + Impossible d'enregistrer l'élément message box content لا يمكن حفظ العنصر - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + Impossible d'ouvrir le fichier message box title إستحالة فتح الملف - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. يبدو أنّ الملف %1 الذي تُحاول فتحه غير موجود . - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + عرض + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title إعادة تحميل العنصر - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content لقد قُمت بتعديلات على هذا العنصر. إذا قمت بإعادة تحميله فإنك ستفقد هذه التعديلات . هل ترغب فعلا في إعادة تحميل العنصر ؟ - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) عتاصر QElectrotech (*.elmt) - - - + + + Echec de l'enregistrement فشل الحفظ - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides فشل الحفظ. الشروط الطلوبة غير صالحة - + Enregistrer sous dialog title حفظ باسم - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file عتاصر QElectrotech (*.elmt) - + Enregistrer l'élément en cours ? dialog title حفظ العنصر الحالي ؟ - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name هل تريد حفظ العنصر %1 ؟ - + Ouvrir un fichier dialog title فتح ملف - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file عناصر QElectrotech (*.elmt); ملفات XML(*.xml)::كل الملفات (*) - - - - + + + + Élément inexistant. message box title لا وجود للعنصر. - - + + L'élément n'existe pas. message box content العنصر غير موجود. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content المسار الإفتراضي المختار لا يُطابق عنصر. @@ -10097,137 +12175,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech &اعدادات البرنامج QElectrotech - + Permet de régler différents paramètres de QElectroTech status bar tip يسمح بتعديل مختلف معالم QElectrotech - + À &propos de QElectroTech &حول البرنامج QElectrotech - + Affiche des informations sur QElectroTech status bar tip عرض معلومات حول البرنامج QElectrotech - + Manuel en ligne دليل على الأنترنت - + Chaine Youtube قناة يوتيوب - - + + Télécharger une nouvelle version (dev) تحميل نسخة جديدة (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip إطلاق المستعرض الافتراضي إلى دليل QElectrotech على الأنترنت - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général عام - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip إطلاق المستعرض الافتراضي إلى قناة QElectrotech على يوتيوب - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip إطلاق المستعرض الافتراضي في اتجاه مستودع Nightly على الأنترنت لـ QElectrotrech - + Soutenir le projet par un don ساعد المشروع بالتبرع - + Soutenir le projet QElectroTech par un don status bar tip ساعد مشروعQElectrotech بالتبرع - + À propos de &Qt حول &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip عرض معلومات حول مكتبة Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &اعدادات - + &Aide window menu &مساعدة - + Sortir du &mode plein écran الخروج من وضع &ملئ الشاشة - + Affiche QElectroTech en mode fenêtré status bar tip عرض البرنامج QElectrotech في وضع النوافذ - + Passer en &mode plein écran المرور إلى &وضع ملئ الشاشة - + Affiche QElectroTech en mode plein écran status bar tip عرض البرنامج QElectrotech في وضع ملئ الشاشة - + Afficher menu entry اعرض @@ -10236,52 +12349,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path مشروع « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name مشروع %1 - + Projet sans titre displayed title for a project-less, file-less project مشروع بدون عنوان - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [قراءة فقط] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [مُتغيّر] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10289,56 +12402,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message حدث خطأ أثناء الإدماج. - + Avertissement message box title تنبيه - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>جاري فتح المشروع ...</b><br/>إنشاء الصفحات</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>جاري فتح المشروع ...</b><br/>وضع المرجعيات المتقاطعة</p> @@ -10705,8 +12818,8 @@ Que désirez vous faire ? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. : تحذير حّفظ العنصر بإصدار لاحق من QElectrotech. @@ -10726,44 +12839,44 @@ Que désirez vous faire ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content حذف %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste لصق %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut قطع %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content تحريك %1 - + modifier le texte undo caption تعديل النص - + modifier un conducteur undo caption تعديل موصل - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content إعادة تهيئة %1 @@ -10775,7 +12888,7 @@ Que désirez vous faire ? تعديل اطار التعريف - + modifier les dimensions du folio undo caption تعديل مقاسات الصفحة @@ -10913,32 +13026,32 @@ Que désirez vous faire ? نص - + Folio sans titre صفحة بدون عنوان - + schema مخطط - + Conserver les proportions الإحتفاظ بالأبعاد - + Réinitialiser les dimensions إعادة تهيئة المقاسات - + Aperçu لمحة عامة - + Exporter vers le presse-papier تصدير نحو الحافظة @@ -11008,7 +13121,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11021,7 +13134,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11034,7 +13147,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11047,7 +13160,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11060,7 +13173,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11073,7 +13186,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11086,7 +13199,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11099,7 +13212,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11112,79 +13225,79 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? لا وجود للملف النصي المحتوي على الترخيص GNU/GPL .- على كل حال أنت تعرفه عن ظهر قلب . لا ؟ - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? الملف النصي المحتوي على ا لترخيص .موجود GNU/GPL لكن لم يتمّ فتحه- على كل حال أنت تعرفه عن ظهر قلب . لا ؟ - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file إستحالة فتح الملف %1 للكتابةو , مواجهة خطأ %2 . - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan إحضار إلى المقدمة - + Rapprocher تقريب - + Éloigner إبعاد - + Envoyer au fond إرسال للخلف - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur العمق - + Borne tooltip نهاية توصيل @@ -11348,6 +13461,7 @@ Que désirez vous faire ? + Titre العنوان @@ -11430,6 +13544,7 @@ Que désirez vous faire ? نص + Modifier les informations de l'élément : %1 تعديل معلوات العنصر : %1 @@ -11508,32 +13623,32 @@ Que désirez vous faire ? - + Collection QET تشكيلة QET - + Collection Company - + Collection utilisateur تشكيلة المستعمل - + Macros - + Collection inconnue تشكيلة غير معروفة - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11547,8 +13662,13 @@ Que désirez vous faire ? Collection مجموعة + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11624,7 +13744,7 @@ Que désirez vous faire ? %1 مجموعات نصوص - + %n texte(s) @@ -11636,13 +13756,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title توجيه النص المحدد @@ -11812,35 +13932,35 @@ Voulez-vous la remplacer ? - - - + + + Type نوع - - - + + + Adresse - - - + + + Commentaire تعليق - - - + + + Réf. croisée @@ -11848,9 +13968,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction وظيفة @@ -12160,22 +14280,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin حدث خطأ أثناء تشغيل المكون الإضافي qet_tb_generator @@ -12289,31 +14409,31 @@ Voulez-vous la remplacer ? - + %p% effectué (%v sur %m) - - + + - - - - - - + + + + + + this is an error in the code - + Importer un fichier dxf - + Ouvrir un element @@ -12323,8 +14443,8 @@ Voulez-vous la remplacer ? - - + + chargement %p% (%v sur %m) @@ -12334,22 +14454,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12399,7 +14519,7 @@ Voulez-vous la remplacer ? - + Création de conducteurs @@ -12480,7 +14600,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12567,7 +14687,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12580,8 +14700,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12742,7 +14862,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12753,91 +14873,108 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + + + + - + Ajouter %1 إضافة %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme تعديل سطر الشكل - + Modifier le remplissage d'une forme تعديل تعبئة الشكل - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément تعديل نصّ العنصر - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12845,6 +14982,55 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + صفحة + QTextOrientationWidget @@ -12864,369 +15050,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape شكل - + une ligne سطر - - + + Ajouter un point إضافة نقطة - + Supprimer ce point حذف هذه النقطة - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille حجم - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone إضافة نقطة لمتعدد الأضلع - + Supprimer un point d'un polygone حذف نقطة من متغددالأضلع - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 تعديل %1 - + un rectangle مستطيل - + une éllipse اهليج - + un arc - + une polyligne مُتعدد أضلع - + une courbe @@ -13308,7 +15555,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af علامة نصيّة - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? العنصر « %1 » موجود سابقا . ما المطلوب فعله ؟ @@ -13316,31 +15563,83 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + + + + Folio + صفحة + + + + Élément + العنصر + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13400,9 +15699,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13486,97 +15785,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af طور - - + + Nombre de phase عدد الأطوار - + Neutre محايد - + neutre محايد - + Terre أرضي - + terre أرضي - + TextLabel علامة نصيّة - + PushButton - + Apparence المظهر - + Taille : - - + + Couleur : اللون: - + Style : نمط : - - + + Modifier - + Couleur secondaire : لون ثانوي: - + Taille de trait : حجم الخطّ: - + px px بيكسل - + Trait plein conductor style: solid line خط مستمرّ - + Trait en pointillés conductor style: dashed line خط متقطع - + Traits et points conductor style: dashed and dotted line خطوط و نقاط @@ -13585,7 +15884,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13627,10 +15926,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13690,7 +15989,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af تطبيق التاريخ الحالي - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13703,38 +16002,38 @@ Les variables suivantes sont utilisables : -%ترقيم آلي :ترقيم آلي للصفحة - + Disponible en tant que %locmach pour les modèles de cartouches مُتاح كـ %locmach بالنسبة نماذج الاطارات - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : العنوان : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées مُخصّص - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. بالإمكان تعريف الارتباطات الخاصة بكم أسماء /قيّم لكي تُؤخذ في الإعتبار بالنسبة لإطار التعريف . مثال: @@ -13766,6 +16065,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &جديد + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &حفظ + + + + Ouvrir le &dossier + + + + + &Fermer + &غلق + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13774,12 +16252,12 @@ Créer votre propre texte en vous aidant des variables suivantes : شكل - + Folio صفحة - + Élément العنصر @@ -13814,175 +16292,175 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur موصل - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer تعويض - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13995,17 +16473,17 @@ Créer votre propre texte en vous aidant des variables suivantes : شكل - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>حذف مُتغيّر ترقيم</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>إضافة مُتغيّر ترقيم</p></body></html> - + Définition تعريف @@ -14025,38 +16503,66 @@ Créer votre propre texte en vous aidant des variables suivantes : حذف الترقيم - Précédent - السابق + السابق - Suivant - التالي + التالي - + Type نوع - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur قيمة - + Incrémentation زيادة - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window صفحة ترقيم آلي - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14073,13 +16579,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window ترقيم آلي للموصل - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14101,13 +16607,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14128,6 +16634,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16521,12 +19037,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16536,6 +19052,22 @@ Les autres champs ne sont pas utilisés. موضع + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + + + + TerminalEditor @@ -16865,27 +19397,27 @@ Les autres champs ne sont pas utilisés. TerminalStripEditor - + Propriétés خاصيات - + Nom : - + Commentaire : - + Installation : تركيب : - + Type : طراز : @@ -16915,98 +19447,98 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre أرضي - + LED : - + Déplacer dans : - + Phase طور - + Neutre محايد - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Localisation : - + Description - + Fonction : وظيفة : @@ -17034,32 +19566,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger إعادة التحميل - + Recharger les borniers @@ -17284,12 +19816,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre مشروع بدون عنوان - + Bornes indépendante @@ -17397,7 +19929,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17405,37 +19937,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label العرض : - + Absolu a traditional, absolute measure مطلق - + Relatif au total a percentage of the total width نسبي للكل - + Relatif au restant a percentage of what remains from the total width نسبي للباقي - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px بيكسل @@ -17444,30 +19976,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut نموذج افتراضي - + Éditer ce modèle menu entry تحرير هذا النموذج - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions عنوان كتلة قوالب الإجراءات - - + + + Créer un Folio Numérotation Auto إنشاء صفحة ترقيم آلي @@ -17482,37 +20015,37 @@ Les autres champs ne sont pas utilisés. شكل - + Folio : صفحة : - + Auteur : المؤلف : - + Disponible en tant que %filename pour les modèles de cartouches مُتاح كـ %filename بالنسبة لنماذج إطارات التعريف - + Pas de date بدون تاريخ - + Date courante التارخ الجاري - + Appliquer la date actuelle تطبيق التاريخ الحالي - + Principales أساسية @@ -17522,32 +20055,32 @@ Les autres champs ne sont pas utilisés. معلومات إطارات التعريف - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches مُتاح كـ %locmach بالنسبة نماذج الاطارات - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %date pour les modèles de cartouches مُتاح كـ %date بالنسبة لنماذج إطارات التعريف - + Date fixe : تاريخ ثابت : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17560,7 +20093,7 @@ Les variables suivantes sont utilisables : -%ترقيم آلي :ترقيم آلي للصفحة - + Titre : العنوان : @@ -17570,52 +20103,52 @@ Les variables suivantes sont utilisables : <html><head/><body><p>عرض إطار التعريف في الأسفل (أفقيا) أو إلى اليمين (عموديا) من الصفحة .</p></body></html> - + Fichier : ملف : - + Date : التاريخ : - + Disponible en tant que %author pour les modèles de cartouches مُتاح كـ %author بالنسبة لنماذج إطارات التعريف - + Disponible en tant que %title pour les modèles de cartouches مُتاح كـ %title بالنسبة لنماذج إطارات التعريف - + Page Num: صفحة ترقيم : - + Installation : تركيب : - + Disponible en tant que %indexrev pour les modèles de cartouches مُتااح كـ % Revمؤشر بالنسبة لنماذج إطارات التعريف - + Localisation: - + Personnalisées مُخصّص - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. بالإمكان تعريف الارتباطات الخاصة بكم أسماء /قيّم لكي تُؤخذ في الإعتبار بالنسبة لإطار التعريف . مثال: @@ -17625,13 +20158,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18128,50 +20661,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title صفحة - - + + %n conducteur(s) listé(s). wiring list summary @@ -18184,7 +20717,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18200,96 +20733,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur خطأ - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header جهد / بروتوكول - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header وظيفة - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + تنبيه + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18503,27 +21055,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18531,7 +21083,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color لون النص @@ -18539,7 +21091,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity إدراج كائن HTML @@ -18547,27 +21099,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text تحرير نص - + Rich Text نص منسق - + Source مصدر - + &OK &موافق - + &Cancel &إلغاء @@ -18575,69 +21127,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras نص عريض - - - + + + Éditeur de texte - + Texte en italique نص مائل - + Texte souligé نص مُسطّر - + Left Align مُحاذاة إلى اليسار - + Center وسط - + Right Align مُحاذاة إلى اليمين - + Justify ملئ السطر - + Superscript خط مرتفع - + Subscript خط منخفض - + Insérer un lien إدراج رابط - + Insert &Image إدراج &صورة - + Simplify Rich Text تبسيط تنسيق نص diff --git a/lang/qet_ca.ts b/lang/qet_ca.ts index ad12b7e4c..2d1d50d20 100644 --- a/lang/qet_ca.ts +++ b/lang/qet_ca.ts @@ -54,272 +54,272 @@ Registre - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, un programa per fer esquemes elèctrics. - + Les développeurs de QElectroTech about tab, developers line Els desenvolupadors de QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contacte : <a href=\"mailto:qet@lists.tuxfamily.org\">qet@lists.tuxfamily.org</a> - + Idée originale Idea original - - + - - + + + Développement Desenvolupament - + Convertisseur DXF Convertidor DXF - + Plugin Bornier Connector de borns - + Collection Col·lecció - + Traduction en espagnol Traducció al castellà - + Traduction en russe Traducció al rus - + Traduction en portugais Traducció al portuguès - + Traduction en tchèque Traducció al txec - + Traduction en polonais Traducció al polonès - + Traduction en allemand Traducció a l'alemany - + Traduction en roumain Traducció al romanès - + Traduction en italien Traducció a l'italià - + Traduction en arabe Traducció a l'àrab - + Traduction en croate Traucció al croat - + Traduction en catalan Traducció al català - + Traduction en grec Traducció al grec - + Traduction en néerlandais Traducció a l'holandès - + Traduction en flamand Traducció al flamenc - + Traduction en danois Traducció al danès - + Traduction en brézilien Traducció al brasiler - + Traduction en Turc Traducció al turc - + Traduction en hongrois Traducció a l'hongarès - + Traduction en serbe Traducció al serbi - + Traduction en ukrainien Traducció a l'ucraïnès - + Traduction en norvégien Traducció al noruec - + Traduction en japonais Traducció al japonès - + Traduction en coréen Traducció al coreà - + Traduction en mongol Traducció al mongol - + Traduction en slovène Traducció a l'eslovè - + Paquets Fedora et Red Hat Paquets per Fedora i Red Hat - + Paquets Mageia Paquets per Mageia - + Paquets Debian Paquets per Debian - + Paquets Gentoo Paquets per Gentoo - + Paquets OS/2 Paquets per OS/2 - + Paquets FreeBSD Paquets per FreeBSD - + Paquets MAC OS X Paquets per MAC OS X - + Paquets Archlinux AUR Paquets per Archlinux AUR - + Icônes Icones - + Documentation Documentació - + Collection d'éléments Col·lecció d'elements - + Paquets Snap Paquets Snap - + Redimensionneur d'éléments Element scaler Redimensionador d'elements - + Générateur d'élément lambda Lambda element generator Generador d'elements lambda - + Convertisseur d'élément DXF Dxf2elmt Convertidor d'elements a DXF - + Outil de traduction d'éléments Qet_translate Útil de traducció d'elements @@ -428,17 +428,17 @@ Configuració - + Contenu Contingut - + Sélectionner la police des en tête du tableau Seleccioneu la font a la capçalera de la taula - + Sélectionner la police des cellules du tableau Seleccioneu la font a les cel·les de la taula @@ -456,6 +456,134 @@ Afegiu el següent pla de borns : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Angle : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ Restablir al valor inicial - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Valor actual del comptador. Introduïu un valor nou i confirmeu-lo per canviar-lo. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Increment: valor que s'afegeix al comptador amb cada nova operació de numeració - - - + + + Prochaine valeur qui sera appliquée avec cet incrément Següent valor a aplicar amb aquest increment - + Element Element - + Conducteur Conductor - + Configurer les règles d'auto numérotation Configura les regles de numeració automàtica - + Configurer Configura @@ -573,10 +734,88 @@ Full - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Numeració automàtica + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Existent - + Under Development En desenvolupament - + Installing Instal·lant - + Built Construït - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Gestió de la numeració automàtica - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,39 +1031,39 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n - + nomenclature_ nomenclatura_ - + Enregister sous... Desa com a... - + Fichiers csv (*.csv) Fitxers csv (*.csv) - - + + Erreur Error - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Requête refusée - + Erreur dans la requête : %1 @@ -788,17 +1077,17 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n - + Position Posició - + Position du folio Posició del full - + Quantité numéro d'article Special field with name : designation quantity Quantitat de número d'article @@ -831,6 +1120,27 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n No + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -877,7 +1187,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n ClickableImageLabel - + Cliquez pour choisir une couleur Fes clic per triar un color @@ -908,8 +1218,8 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Afegeix una variable : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Introduïu aquí el text que voleu escriure, utilitzant les variables disponibles @@ -917,13 +1227,13 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Conductor - + Modifier les propriétés d'un conducteur undo caption Edita les propietats d'un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Edita les propietats de diversos conductors @@ -932,73 +1242,73 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n ConductorColorToolButton - + Noir Negre - + Marron Marró - + Gris Gris - + Bleu Blau - + Vert Verd - + Rouge Vermell - + Orange Taronja - + Violet Violeta - + Blanc Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1007,7 +1317,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n - + Choisir une couleur de conducteur @@ -1025,13 +1335,13 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Aplica les propietats a tots els conductors d'aquest potencial - + Modifier les propriétés d'un conducteur undo caption Edita les propietats d'un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Edita les propietats de diversos conductors @@ -1040,24 +1350,33 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Aplica les propietats a tots els conductors d'aquest potencial + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption Edita les propietats d'un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Edita les propietats de diversos conductors - + Conducteur Conductor @@ -1086,12 +1405,13 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n + Texte Text - - + + Unifilaire Unifilar @@ -1107,6 +1427,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n + Texte visible Text visible @@ -1116,35 +1437,52 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Activa l'opció d'un text per potencial - + phase Fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Línia contínua - + Trait en pointillés conductor style: dashed line Línia de punts - + Traits et points conductor style: dashed and dotted line Línies i punts - + terre Terra - + neutre Neutre @@ -1210,101 +1548,101 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Edita la numeració - + Formule du texte : Fórmula de text : - + cable Cable - + bus Bus - - + + Nombre de phase Nombre de fases - + Neutre Neutre - + Phase Fase - + Protective Earth Neutral Terra de protecció neutre - + PEN PEN - + Terre Terra - + TextLabel Etiqueta de text - + Taille : Mida : - - + + Style du conducteur Estil del conductor - + Couleur secondaire : Color secundari : - + Taille de trait : Mida de tram: - + px px - + Couleur du conducteur Color del conductor - + Apparence Aparença - - + + Couleur : Color : - + Style : Estil : @@ -1325,128 +1663,152 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Selecciona un grup de contactes - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Seleccioneu el grup de contactes que voleu assignar a aquest element esclau: - + # # - + Type Tipus - + Sous-type Subtipus - + Contacts Contactes - + Bornes Borns - - + + T%1 T%1 - + (déjà assigné) (ja assignat) - + (état ne correspond pas) (la condició no coincideix) - + (sous-type ne correspond pas) (el subtipus no coincideix) - + (nombre de contacts ne correspond pas) (el nombre de contactes no coincideix) - + OK D'acord - + Annuler Cancel·la - + Normalement ouvert Normalment obert - + Normalement fermé Normalment tancat - + Inverseur Inversor - + Autre Altres - - + + Inconnu Desconegut - + Simple Simple - + Puissance Potència - + Temporisé travail Temporitzador a la connexió - + Temporisé repos Temporitzador a la desconnexió - + Temporisé travail & repos Temporitzador a la connexió i a la desconnexió + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1476,27 +1838,27 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagnosticsReportDialog - + Enregistrer... Desa... - + Enregistrer le rapport de diagnostic Desa l'informe de diagnòstic - + Fichiers texte (*.txt);;Tous les fichiers (*) Fitxers de text (*.txt);;Tots els fitxers (*) - + Erreur Error - + Impossible d'écrire dans le fichier « %1 ». No es pot escriure al fitxer «%1». @@ -1504,7 +1866,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Diagram - + Modifier la profondeur Canvia la profunditat @@ -1644,7 +2006,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1661,217 +2023,285 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Clic esquerre: col·loca el punt d'inici (Ctrl = col·locació lliure) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) Clic esquerre: situar el primer vèrtex (Ctrl = punt central, posicionament lliure) - + Clic gauche : positionner le premier point (Ctrl = position libre) Clic esquerre: col·loca el primer punt (Ctrl = col·locació lliure) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Clic esquerre: situar el punt final (Ctrl = posicionament lliure); clic dret: cancel·lar - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Clic esquerre: situa el vèrtex oposat (Maj = quadrat, Ctrl = des del centre + posicionament lliure, Ctrl+Maj = quadrat centrat); clic dret: cancel·la - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Clic esquerre: situa el vèrtex oposat (Maj = cercle, Ctrl = des del centre + posicionament lliure, Ctrl+Maj = cercle centrat); clic dret: cancel·la - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Clic esquerre: punt següent; doble clic o Retorn: finalitzar; clic dret: cancel·lar l'últim punt + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner canvia la mida - + pivoter/incliner gira/inclinació - + Cliquer : mode %1 Clic: mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Arrossega una cantonada o una vora: canvia la mida (Ctrl = des del centre, Maj = manté les proporcions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Arrossega una cantonada: gira (Maj = increments de 15°); arrossega una aresta: inclina (Maj = increments de 15°); punt vermell: mou el centre de rotació - + -- %1 : mode %2 -- %1 : mode %2 - + Cliquer Fer clic - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Arrossega: canvia la mida (Maj = manté la proporció, Ctrl = des del centre) - + Glisser : pivoter (Maj = par pas de 15°) Arrossega: gira (Maj = increments de 15°) - + Glisser : incliner (Maj = par pas de 15°) Arrossega: inclina (Maj = increments de 15°) - + Glisser : déplacer le centre de rotation Arrossega: mou el centre de rotació - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image Mou el centre de rotació d'una imatge - + Modifier une image Edita una imatge - + Restaurer les proportions d'une image Restaura les proporcions d'una imatge - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) Imatge SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image una imatge - + Remplacer l'image... Substitueix la imatge... - + Couleur transparente... Color transparent... - + Rogner... Retalla... - + Miroir horizontal Mirall horitzontal - + Miroir vertical Mirall vertical - + Restaurer les proportions Restaura les proporcions @@ -1880,47 +2310,47 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Propietats... - + Selectionner une image... Selecciona una imatge ... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Fitxers d'imatge (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Error - + Impossible de charger l'image. No es pot carregar la imatge. - + Remplacer une image Substitueix una imatge - + Miroir horizontal d'une image Mirall horitzontal d'una imatge - + Miroir vertical d'une image Mirall veritcal d'una imatge - + Définir une couleur transparente Estableix un color transparent - + Rogner une image Retalla una imatge @@ -1928,7 +2358,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagramPropertiesDialog - + Propriétés du folio window title Propietats del full @@ -1937,12 +2367,12 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagramTextItem - + Maintenir ctrl pour un déplacement libre Mantingueu premuda la tecla Ctrl per a moviment lliure - + <Shift> to move @@ -1952,79 +2382,85 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip "Què és això?" Aquesta és l'àrea on dissenyeu els esquemes afegint elements i col·locant conductors entre els seus borns. També és possible afegir text independent. - + Coller ici context menu action Enganxa aquí - + Collage multiple Enganxament múltiple - + Créer un template context menu action Crea una plantilla - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Connecteu els borns seleccionats - + Sans titre what to display for untitled diagrams Sense títol - + Modèle enregistré Plantilla desada - + Le modèle a été enregistré avec succès sous : %1 La plantilla s'ha desat correctament com a: %1 - + Erreur Error - + Le fichier n'a pas pu être écrit. No s'ha pogut escriure el fitxer. - + Choisir la nouvelle couleur de ce conducteur Tria un nou color per a aquest conductor - + Modifier les propriétés d'un conducteur undo caption Edita les propietats d'un conductor @@ -2043,7 +2479,7 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Títol - + TextLabel Etiqueta de text @@ -2051,42 +2487,42 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Superior - + Bas Inferior - + Gauche Esquerra - + Droite Dreta - + Direction : @@ -2094,17 +2530,17 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément Edita un text d'element - + Redimensionner un texte d'élément @@ -2123,30 +2559,30 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n - - - - + + + + ... ... - + Importer une configuration de texte Importa una configuració de text - + Ajouter un texte Afegeix text - + Ajouter un groupe de textes Afegeix un grup de textos - + Supprimer la sélection Suprimeix la selecció @@ -2353,21 +2789,21 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n - + Gauche Esquerra - + Droite Dreta - + Centre Centre @@ -2471,64 +2907,64 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Font - - + + Déplacer un champ texte Mou un camp de text - + Pivoter un champ texte Gira un camp de text - + Modifier le texte d'un champ texte Edita el text d'un camp de text - - + + Modifier la police d'un champ texte Canvia la font d'un camp de text - + Modifier le cadre d'un champ texte Canvia el marc d'un camp de text - + Modifier la largeur d'un texte Canvia l'amplada d'un text - + Modifier l'information d'un texte Edita la informació d'un text - + Modifier la source de texte, d'un texte Canvia la font del text d'un text - + Modifier l'alignement d'un champ texte Canvia l'alineació d'un camp de text - + Modifier la couleur d'un champ texte Canvia el color d'un camp de text - + Modifier la conservation de l'angle Canvia la conservació de l'angle - + Modifier le point de rotation d'un champ texte Canvia el punt de rotació d'un camp de text @@ -2536,32 +2972,32 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n DynamicTextItemDelegate - + Texte utilisateur Text de l'usuari - + Information de l'élément Informació de l'element - + Texte composé Text compost - + Gauche Esquerra - + Centre Centre - + Droite Dreta @@ -2569,12 +3005,12 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2615,121 +3051,194 @@ Nota: Aquestes opcions NO permeten ni bloquegen les numeracions automàtiques, n Element - + Numéroter automatiquement un élément undo caption Numera automàticament un element + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Obre un element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Tria l'element que vols obrir. - + Enregistrer un élément dialog title Desa un element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Tria l'element en el qual es desarà la teva definició. - + Ouvrir une catégorie dialog title Obre una categoria - - + + Choisissez une catégorie. dialog content Tria una categoria. - + Enregistrer une catégorie dialog title Desa una categoria - + Enregistrer un template dialog title Desa una plantilla - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Tria la ubicació on vols desar la plantilla. - + Titre Títol - + Label Etiqueta - + Nom du nouveau dossier Nom de la nova carpeta - + Nom du nouveau template Nom de la nova plantilla - + Écraser le template ? message box title Voleu sobreescriure la plantilla? - + Le template existe déjà. Voulez-vous l'écraser ? message box content La plantilla ja existeix. Vols sobreescriure-la? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Has de seleccionar un element o una categoria amb un nom per a l'element. - + Sélection inexistante message box title No hi ha cap selecció - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Nom del fitxer de l'element - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2737,32 +3246,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété El nom de visualització de l'element es modifica per separat a les propietats de l'element. - + La sélection n'existe pas. message box content La selecció no existeix. - - + + Sélection incorrecte message box title Selecció incorrecta - + La sélection n'est pas un élément. message box content La selecció no és un element. - + Écraser l'élément ? message box title Vols sobreescriure l'element? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Aquest element ja existeix. Vols sobreescriure'l? @@ -2786,12 +3295,18 @@ El nom de visualització de l'element es modifica per separat a les propiet Suprimeix aquest text - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2809,104 +3324,214 @@ El nom de visualització de l'element es modifica per separat a les propiet Exclou de la numeració automàtica - + Informations Dades - + Ajouter une propriété personnalisée Afegeix una propietat personalitzada - + Séparation de potentiel Separació de potencial - + Exclure de la nomenclature Excloure de la nomenclatura + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2922,8 +3547,8 @@ El nom de visualització de l'element es modifica per separat a les propiet - - + + Type Tipus @@ -3006,8 +3631,8 @@ El nom de visualització de l'element es modifica per separat a les propiet - - + + Fonction Funció @@ -3037,302 +3662,302 @@ El nom de visualització de l'element es modifica per separat a les propiet Valors - - - + + + Simple Unifilar - + Maître Mestre - + Esclave Esclau - + Renvoi de folio suivant Referència del full següent - + Renvoi de folio précédent Referència del full anterior - + Bornier Bloc de Borns - + Vignette Miniatura - + Définition de conducteur Definició de conductor - - + + Normalement ouvert Normalment obert - - + + Normalement fermé Normalment tancat - - + + Inverseur Inversor - + Other Altres - + Esclave PLC PLC esclau - - + + Puissance Potència - - + + Temporisé travail Temporitzador a la connexió - - + + Temporisé repos Temporitzador a la desconnexió - - + + Temporisé travail & repos Temporitzador a la connexió i a la desconnexió - + Bobine Bobina - + Organe de protection Unitat de protecció - + Commutateur / bouton Commutador / botó - + Module PLC Mòdul PLC - - + + Générique Genèric - + Fusible Fusible - + Séctionnable Seleccionable - + Diode Díode - + Phase Fase - + Neutre Neutre - - - - - + + + + + T%1 T%1 - + Autre Altres - + Configuration PLC Configuració del PLC - + + + - + - - - - + + Adresse Adreça - - + + Commentaire Comentari - + Réf. croisée Referència creuada - - + + Nb. Nombre. - + T1 T1 - + Police des en-têtes Tipus de lletra de la capçalera - + Configurer la police des en-têtes de colonnes Configura la font de la capçalera de la columna - + Police du texte Tipus de lletra - + Configurer la police du texte dans les cellules Configura el tipus de lletra del text a les cel·les - + Afficher les en-têtes sur la feuille Mostra les capçaleres al full - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Mostra o amaga les capçaleres de columna de la taula PLC al full - + Saut %1 après: Omet %1 després de: - + Aucun Cap - + H. ligne: Línia H: - - + + mm mm - + Réf. Ref. - + Nom personnalisé de la colonne (vide = par défaut) Nom de columna personalitzat (buit = per defecte) - + Visible Visible - + Coller depuis le presse-papiers Enganxa des del porta-retalls - - + + Police des en-têtes: %1 %2pt Tipus de lletra de la capçalera: %1 %2 pt - - + + Police du texte: %1 %2pt Tipus de lletra: %1 %2 pt - + Police des en-têtes de colonnes Tipus de lletra de la capçalera de la columna - + Police du texte des cellules Tipus de lletra del text de la cel·la - + Terre Terra @@ -3346,7 +3971,7 @@ El nom de visualització de l'element es modifica per separat a les propiet - Élement + Élément Element @@ -3485,249 +4110,249 @@ El nom de visualització de l'element es modifica per separat a les propiet Mou la selecció cap amunt - + Ajouter la sélection Afegeix una selecció - + Supprimer la sélection Suprimeix la selecció - + Descendre la sélection Desplaça la selecció cap avall - + Pas de filtre Sense filtre - + N'est pas vide No està buit - + Est vide Està buit - + Contient Conté - + Ne contient pas No conté - + Est égal à És igual a - + N'est pas égale à No és igual a - + Filtre : Filtre : - + Type d'éléments Tipus d'elements - + Simples Simple - + Organes de protection Unitat de protecció - + Tous Tots - + Boutons et commutateurs Botons i interruptors - + Borniers Bloc de borns - + Vignettes Miniatures - + Contacteurs et relais Contactors i relés - + Automates (MAE/SPS) PLC (MAE/SPS) - + Configuration Configuració - + Ouvrir la configuration sélectionné Obra la configuració seleccionada - + Sauvegarder la configuration actuelle Desa la configuració actual - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Consulta SQL personalitzada - + Requête SQL : Consulta SQL : - + Position Posició - + Titre du folio Títol del full - + Position du folio Posició de full - + Numéro du folio Número de full - - + + Exporter Exporta - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Error - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer Importar - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3735,29 +4360,29 @@ El nom de visualització de l'element es modifica per separat a les propiet ElementScene - + Déplacer une primitive Moure una primitiva - + Éditer les informations sur l'auteur window title Edita les dades de l'autor - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Pots utilitzar aquest camp lliure per esmentar els autors de l'element, la seva llicència, o qualsevol altra informació que consideris útil. - + Éditer les noms window title Modifica els noms - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Pots especificar el nom de l'element en diferents llengües. @@ -3765,101 +4390,101 @@ El nom de visualització de l'element es modifica per separat a les propiet ElementsCategoryEditor - + L'item n'est pas une catégorie message box title L'element no és una categoria - + L'item demandé n'est pas une categrie. Abandon. message box content L'element sol·licitat no és una categoria. No es pot continuar. - + Catégorie inexistante message box title La categoria no existeix - + La catégorie demandée n'existe pas. Abandon. message box content La categoria sol·licitada no existeix. No es pot continuar. - + Éditer une catégorie window title Modifica una categoria - + Créer une nouvelle catégorie window title Crea una categoria nova - + Nom de la nouvelle catégorie default name when creating a new category Nom de la nova categoria - + Édition en lecture seule message box title Edició en mode només de lectura - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content No tens els privilegis necessaris per editar aquesta categoria, per la qual cosa s'obrirà en mode de només lectura. - + Nom interne : Nom intern : - + Vous pouvez spécifier un nom par langue pour la catégorie. Pots especificar un nom per idioma per a la categoria. - + Nom interne manquant message box title Falta un nom intern - + Vous devez spécifier un nom interne. message box content Has d'especificar un nom intern. - + Nom interne déjà utilisé message box title Aquest nom intern ja és utilitzat - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content El nom intern que ha triat ja es fa servir per una categoria existent. Si us plau triï'n un altre. - + Erreur message box title Error - + Impossible de créer la catégorie message box content Impossible de crear la categoria @@ -3868,73 +4493,73 @@ El nom de visualització de l'element es modifica per separat a les propiet ElementsCollectionWidget - + Ouvrir le dossier correspondant Obre la carpeta corresponent - + Éditer l'élément Modifica l'element - + Supprimer l'élément Suprimeix l'element - + Supprimer le dossier Suprimeix la carpeta - + Recharger les collections Recarrega les col·leccions - + Éditer le dossier Edita la carpeta - + Nouveau dossier Nova carpeta - + Nouvel élément Nou element - + Importer une pièce EPLAN (.edz)… Importa un component d'EPLAN (.edz)... - + Afficher uniquement ce dossier Mostra solament aquesta carpeta - + Afficher tous les dossiers Mostra totes les carpetes - + Propriété du dossier Propietats de la carpeta - + Supprimer l'élément ? message box title Suprimeix l'element? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3942,25 +4567,25 @@ El nom de visualització de l'element es modifica per separat a les propiet - + Suppression de l'élément message box title Suprimeix l'element - + La suppression de l'élément a échoué. message box content No s'ha pogut suprimir l'element. - + Supprimer le dossier? message box title Suprimeix la carpeta? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3968,24 +4593,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Suprimeix la carpeta - + La suppression du dossier a échoué. message box content No s'ha pogut suprimir la carpeta. - + Avertissement — Importation d'un fichier EPLAN (.edz) Avís — Importació d'un fitxer EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4012,44 +4637,44 @@ En importar aquest fitxer, confirmeu que: • ni QElectroTech, ni els seus responsables de manteniment, ni els seus col·laboradors poden ser considerats responsables de cap ús d'aquestes dades que no en respecti la normativa. - + J'ai lu et j'accepte ces conditions. He llegit i accepto aquestes condicions. - + Importer Importar - + Importer une pièce EPLAN Importa un component EPLAN - + Pièces EPLAN (*.edz) Components EPLAN (*.edz) - + Import EPLAN Importació d'EPLAN - + Impossible d'importer cette pièce : %1 No s'ha pogut importar aquesta component: %1 - + Le dossier %1 contient La carpeta %1 conté - + %n élément(s), répartie(s) %n element, distribuït @@ -4057,7 +4682,7 @@ En importar aquest fitxer, confirmeu que: - + dans %n dossier(s). en %n carpeta. @@ -4065,32 +4690,32 @@ En importar aquest fitxer, confirmeu que: - + Chemin de la collection : %1 Ruta de la col·lecció: %1 - + Chemin dans le système de fichiers : %1 Ruta del sistema de fitxers: %1 - + Rechercher... Cerca... - + Collections Col·leccions - + Modèles Models - + Propriété du dossier %1 Propietats de la carpeta %1 @@ -4162,124 +4787,124 @@ En importar aquest fitxer, confirmeu que: ElementsPanelWidget - + Ouvrir le dossier correspondant Obre la carpeta corresponent - + Copier le chemin Copia la ruta - + Basculer vers ce projet Trasllada cap a aquest projecte - + Fermer ce projet Tanca aquest projecte - + Propriétés du projet Propietats del projecte - + Propriétés du folio Propietats del full - + Ajouter un folio Afegeix un full - + Insérer un folio au-dessus Insereix un full a sobre - + Insérer un folio en dessous Insereix una pàgina a sota - + Copier et coller Copia i enganxa - + Supprimer ce folio Suprimeix aquest full - + Remonter ce folio Avança la posició del full - + Abaisser ce folio Retrocedeix la posició del full - + Remonter ce folio x10 Avança el full 10 posicions - + Remonter ce folio x100 Avança el full 100 posicions - + Remonter ce folio au debut Avança la posició del full a l'inici del projecte - + Abaisser ce folio x10 Retrocedeix 10 posicions el full - + Abaisser ce folio x100 Retrocedeix 100 posicions el full - - + + Panneau des éléments Panell Elements - + Filtrer Filtre - + Nouveau modèle Model nou - + Éditer ce modèle Modifica aquest model - + Supprimer ce modèle Suprimeix aquest model @@ -4325,7 +4950,7 @@ En importar aquest fitxer, confirmeu que: ExportConfigPage - + Export configuration page title Exporta @@ -4334,102 +4959,102 @@ En importar aquest fitxer, confirmeu que: ExportDialog - + Exporter Exporta - + Tout cocher Marcar-ho tot - + Tout décocher Desmarcar-ho tot - + Exporter les folios du projet window title Exporta els fulls del projecte - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Tria els fulls que vol exportar i les seves dimensions: - + Titre du folio Títol del full - + Nom de fichier Nom del fitxer - + Dimensions Dimensions - + Noms des fichiers cibles message box title Noms dels fitxers de destinació - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Has d'introduir un nom de fitxer únic i no buit per a cada full per exportar. - + Dossier non spécifié message box title No has indicat una carpeta - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Has d'indicar el camí de la carpeta on es desaran les imatges. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title No es pot escriure en aquest fitxer - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content No sembla disposar dels permisos necessaris per escriure al fitxer %1. - + Aperçu Vista prèvia - - + + px px @@ -4716,63 +5341,73 @@ Les entrades de text i nombres també Aplica el desplaçament - - + + Générique Genèric - + Fusible Fusible - + Sectionnable Seccionable - + Diode Díode - + Terre Terra - + Phase Fase - + Neutre Neutre - + Sans Sense - + Avec Amb - + Modifier des propriétés de borniers Edita les propietats del bloc de borns - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4780,27 +5415,27 @@ Les entrades de text i nombres també FreeTerminalModel - + Label Etiqueta - + Référence croisé Referència creuada - + Type Tipus - + Fonction Funció - + led led @@ -4818,7 +5453,7 @@ Les entrades de text i nombres també Utilitza els colors del sistema - + Projets Projectes @@ -4828,7 +5463,7 @@ Les entrades de text i nombres també Utilitza els gestos del ratolí tàctil - + Mettre en valeur dans le panel les éléments fraîchement intégrés Ressalta els elements recentment integrats al panell @@ -4838,119 +5473,120 @@ Les entrades de text i nombres també Formulari - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Utilitza fine&stres (s'aplicarà al proper llançament de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Utilitza pestanyes (s'aplicarà al proper llança&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Mètode d'escalat de pantalla d'alta densitat de píxels (HDPI) (s'aplicarà al proper llançament de QElectroTech): - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Desament automàtic del projecte (s'aplicarà al proper llançament de QElectroTech) - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Numera les columnes dels caixetins començant per 0 (1 altrament) - + Désactivé Inhabilitat - + min minute min - + Utiliser les numéros de folio à la place de leur position dans le projet Utilitza els números de full en lloc de la seva posició en el projecte - + Afficher la grille par défaut (appliqué au prochain lancement) Mostra la quadrícula per defecte (s'aplicarà en la propera execució) - + Afficher les guides par défaut (appliqué au prochain lancement) Mostra les guies per defecte (s'aplicaran en la propera execució) - + Collections Col·leccions - + Accès aux collections Accés a les col·leccions - + Répertoire de la collection commune Directori de la col·lecció compartida - - - - - - + + + + + + Par defaut Per defecte - - - - - - + + + + + + + Parcourir... Navega... - + Répertoire de la collection company Directori de la col·lecció d'empresa - + Répertoire des cartouches company Directori dels caixetins d'empresa - + Répertoire de la collection utilisateur Directori de la col·lecció d'usuari - + Répertoire des cartouches utilisateur Directori dels caixetins d'usuari - + (Recharger les collections d'éléments pour appliquer les changements) (Torna a carregar les col·leccions d'elements per aplicar els canvis) - + Répertoire des Macros utilisateur Directori de macros d'usuari @@ -4965,220 +5601,335 @@ Les entrades de text i nombres també - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments Gestió dels elements - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Cada element conté informació sobre els seus autors, la llicència i qualsevol altra informació que considereu útil en un camp lliure. Podeu especificar el valor per defecte d'aquest camp per als elements que creeu aquí: - + Langues Llengües - + Appliqué au prochain lancement de QElectroTech S'aplicarà al proper llançament de QElectroTech - + Textes Textos - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Aquí podeu definir l'aspecte per defecte dels diferents textos de QElectroTech - + Textes d'éléments Textos d'elements - - - + + + Police : Tipus de lletra : - - + + ° ° - + Longueur : Longitud : - - + + Rotation : Rotació : - + Textes indépendants Textos independents - + Autres textes Altres textos - + Grille + Clavier Graella i teclat - + Grille : 1 - 30 Graella de l'editor d'esquemes - + DiagramEditor yGrid Distància entre punts en vertical : 1-30 - + La Grille doite etre active pour pouvoir voir les modifications. La quadrícula ha d'estar activa per veure els canvis. - + DiagramEditor xGrid Distància entre punts en horitzontal : 1-30 - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Desplaçament per la graella de l'editor d'esquemes utilitzant el teclat - + DiagramEditor (touche : gauche / droite) xGrid Distància desplaçada amb les tecles esquerra i dreta en horitzontal : 1-30 - + DiagramEditor (touche : haut / bas) yGrid Distància desplaçada amb les tecles amunt i avall en vertical : 1-30 - + Déplacement au clavier avec la touche ALT : 1 - 9 Desplaçament per la graella de l'editor d'esquemes utilitzant el teclat amb la tecla ALT - + DiagramEditor (touche : gauche / droite ) xGrid Distància desplaçada amb les tecles esquerra i dreta en horitzontal : 1-9 - + DiagramEditor (touche : haut / bas) yGrid Distància desplaçada amb les tecles amunt i avall en vertical : 1-9 - + Affichage Grille Vista de quadrícula - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Mida del punt de la quadrícula de l'editor de diagrames: 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Mida del punt de la quadrícula de l'editor d'elements: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Màxim de peces a la llista de l'editor d'elements - + Ne pas conserver les labels des éléments lors des copier coller No conservis les etiquetes dels elements després de copia i enganxa @@ -5188,233 +5939,331 @@ Podeu especificar el valor per defecte d'aquest camp per als elements que c Permet allunyar més enllà de la mida del full - + Arrondi supérieur pour 0.5 et plus Arrodoneix cap amunt per 0,5 o més - + Toujours arrondi supérieur Sempre arrodonit cap amunt - + Toujours arrondi inférieur Sempre arrodonit cap avall - + Arrondi supérieur pour 0.75 et plus Arrodoneix cap amunt per 0,75 o més - + Pas d'arrondi Sense arrodoniment - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title General - + Système Sistema - + Arabe Àrab - + Brézilien Brasiler - + Catalan Català - + Tchèque Txec - + Allemand Alemany - + Danois Danès - + Grec Grec - + Anglais Anglès - + Espagnol Castellà - + Français Francès - + Croate Croat - + Italien Italià - + Japonais Japonès - + Coréen Coreà - + Polonais Polonès - + Portugais Portuguès - + Roumains Romanès - + Russe Rus - + Slovène Eslovè - + Pays-Bas Països Baixos - + Norvege Noruec - + Belgique-Flemish Bèlgica-Flamenc - + Turc Turc - + Hongrois Hongarès - + Mongol Mongol - + Ukrainien Ucraïnès - + Chinois Xinès - + Suédois Suec - + Chemin de la collection commune Ruta de la col·lecció compartida - + Chemin de la collection company Ruta de la col·lecció d'empresa - + Chemin de la collection utilisateur Ruta de la col·lecció d'usuari - + Chemin des cartouches company Ruta dels caixetins d'empresa - + Chemin des cartouches utilisateur Ruta dels caixetins d'usuaris - + Chemin des macros utilisateur Camí de la macro d'usuari - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Fitxers csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Valors massa alts poden provocar bloquejos de l'aplicació. - + Fonctionnalité expérimental Funcionalitat experimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5476,7 +6325,7 @@ Qualsevol configuració que no sigui «Sense arrodoniment» pot provocar errors Això és un model de caixetí de QElectroTech, que es pot aplicar a un full. - + %1 [non utilisé dans le projet] %1 [no usat al projecte] @@ -5806,42 +6655,42 @@ Falten %1 línies per mostrar tota la informació ImageTransparentColorDialog - + Couleur transparente Color transparent - + Image source Imatge d'origen - + Aperçu Vista prèvia - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Tolerància per a aquest color - + Retirer cette couleur Elimina aquest color - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Feu clic a la imatge per afegir un color. Ajusteu la tolerància de cada color amb el seu lliscador o feu clic a × per eliminar-lo. - + Cliquez sur l'image pour choisir une couleur Fes clic a la imatge per triar un color @@ -6058,28 +6907,28 @@ Si us plau, feu servir l'editor avançat per a això. JumpToElementDialog - + Atteindre un élément window title Accedir a un element - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6330,6 +7179,96 @@ Si us plau, feu servir l'editor avançat per a això. Desvincular + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6376,7 +7315,7 @@ Si us plau, feu servir l'editor avançat per a això. <html><head/><body><p>Desvincula l'element seleccionat</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Enllaça l'element seleccionat</p></body></html> @@ -6485,7 +7424,7 @@ Voulez-vous tout de même lier ce contact esclave ? Borns - + Coller depuis le presse-papiers Enganxa des del porta-retalls @@ -6495,6 +7434,158 @@ Voulez-vous tout de même lier ce contact esclave ? Referència creuada (Mestre) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6544,10 +7635,15 @@ Voulez-vous tout de même lier ce contact esclave ? Autonumeració de conductors - + Multi-collage Enganxament múltiple + + + Numéroter les éléments collés + + NameListDialog @@ -6557,7 +7653,7 @@ Voulez-vous tout de même lier ce contact esclave ? Diàleg - + Variables de cartouche Variables de caixetí @@ -6585,7 +7681,7 @@ Voulez-vous tout de même lier ce contact esclave ? Afegeix una línia - + Copier dans le presse papier Copia al porta-retalls @@ -6643,13 +7739,13 @@ Voulez-vous tout de même lier ce contact esclave ? Numeració automàtica - + Nouveau folio configuration page title Nou full - + Nouveau projet configuration page title Nou projecte @@ -6925,13 +8021,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Camp de text dinàmic - + Déplacer un champ texte Moure un camp de text @@ -6991,25 +8087,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Mou un text - + Modifier un champ texte Edita un camp de text + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page Selecciona una pàgina - + Ce document PDF contient %n page(s) Aquest document PDF conté %n pàgina @@ -7017,32 +8131,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : Pàgina a importar: - + Résolution : Resolució : - + 150 DPI (écran) 150 ppp (pantalla) - + 300 DPI (impression) 300 ppp (impressió) - + 600 DPI (haute qualité) 600 ppp (alta qualitat) - + Aperçu : Vista prèvia : @@ -7148,12 +8262,12 @@ Voulez-vous tout de même lier ce contact esclave ? Polígon tancat - + Ajouter un point Afegeix un punt - + Supprimer ce point Suprimeix aquest punt @@ -7206,60 +8320,60 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Per favor, seleccioni les propietats que s'aplicaran al nou potencial. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Si us plau, trieu un potencial elèctric de la llista per utilitzar-lo per al nou potencial - - - + + + Numéro : %1 Número: %1 - - - + + + Fonction : %1 Funció: %1 - - - + + + Tension/protocole : %1 Voltatge/protocol: %1 - - - + + + Couleur du conducteur : %1 Color del controlador: %1 - - - + + + Section du conducteur : %1 Secció del conductor: %1 - - + + %n conducteurs composent le potentiel suivant : %n conductor forma el següent potencial: @@ -7267,23 +8381,23 @@ Secció del conductor: %1 - + Ajouter au câble: %1 Afegeix al cable: %1 - + Ajouter au bus: %1 Afegeix al bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Edita les propietats de diversos conductors - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7294,10 +8408,107 @@ Les variables següents són incompatibles: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Suprimeix + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Impressió @@ -7306,155 +8517,355 @@ Les variables següents són incompatibles: ProjectAutoNumConfigPage - + Numérotation auto Numeració automàtica - + Management Administració - - + + Conducteurs Conductors - - - Eléments - Elements - - - - - Folios - Fulls - - - - Numérotation auto des folios - Numeració automàtica de fulls - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Nom + + + + Folio + Full + + + + Élément + Element + + + + Figé - - - - - - - - Sans nom - Sense nom + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Elements + + + + + Folios + Fulls + + + + Numérotation auto des folios + Numeració automàtica de fulls + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Suprimeix la numeració + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Sense nom + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Projecte QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Nom de la nova numeració + Nom de la nova numeració ProjectDBModel - + Position Posició - + Position du folio Posició de full @@ -7477,50 +8888,134 @@ Les variables següents són incompatibles: ProjectMainConfigPage - + Général configuration page title General - + Titre du projet : label when configuring Títol del projecte: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Aquest títol estarà disponible per a tots els fulls del projecte com %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Pots definir a continuació les propietats personalitzades que vols que estiguin disponibles per a tots els fulls d'aquest projecte. (normalment per als blocs de títol). - + Temps passé sur ce projet : label when configuring Temps dedicat a aquest projecte: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Registra el temps dedicat a aquest projecte (emmagatzemat només localment en aquest fitxer) - + Réinitialiser button label Restablir - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project %1 h %2 min @@ -7564,137 +9059,137 @@ Les variables següents són incompatibles: A la data : - + Option de rendu Opcions de renderització - + Dessiner le cadre Dibuixa el quadre - + Dessiner le cartouche Dibuixa el caixetí - + Conserver les couleurs des conducteurs Mostra els colors dels conductors - + Dessiner les bornes Dibuixa els borns - + Dessiner les noms des bornes Dibuixa els noms dels borns - + Inscrire les informations des composants Introduïu la informació del component - + Option d'impression Opció d'impressió - + Adapter le folio à la page Adapta el full a la pàgina - + Utiliser toute la feuille Empra tot el full - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Si aquesta opció està marcada, el full s'ampliarà o es reduirà per omplir tota l'àrea imprimible d'una i només una pàgina." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Si aquesta opció està marcada, els marges del full s'ignoraran i s'utilitzarà tota l'àrea del full per a la impressió. Pot ser que la impressora no ho admeti. - + toolBar Barra d'eines - + Ajuster la largeur Ajusta a l'amplada - + Ajuster la page Ajusta a la pàgina - + Zoom arrière Allunya - + Zoom avant Apropa - + Paysage Apaïsat - + Portrait Retrat - + Première page Primera pàgina - + Page précédente Pàgina anterior - + Page suivante Pàgina següent - + Dernière page Darrera pàgina - + Afficher une seule page Mostra només una pàgina - + Afficher deux pages Mostra dues pàgines - + Afficher un aperçu de toutes les pages Mostra una vista prèvia de totes les pàgines - + mise en page maquetació @@ -7872,239 +9367,287 @@ Vol desar els canvis? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Carregant... Posada en marxa del memòria cau de la col·lecció d'elements - + Chargement... Éditeur de schéma splash screen caption Carregant... Editor d'esquemes - + Chargement... Ouverture des fichiers splash screen caption Carregant... Obrint els fitxers - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Caixetins QET - + Cartouches company title of the company's title block templates collection Caixetins d'empresa - + Cartouches utilisateur title of the user's title block templates collection Caixetins personals - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Esquema - + Electrique Normal example text - translate length, not meaning Elèctric - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configura QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Error + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Carregant... - + Chargement... icône du systray splash screen caption Carregant... icona de la safata del sistema - + QElectroTech systray menu title QElectroTech - + &Quitter &Sortir - + &Masquer &Amagar - + &Restaurer &Restaurar - + &Masquer tous les éditeurs de schéma Amaga tots els editors d'&esquemes - + &Restaurer tous les éditeurs de schéma Restaura tots els editors d'&esquemes - + &Masquer tous les éditeurs d'élément &Amaga tots els editors d'elements - + &Restaurer tous les éditeurs d'élément &Restaura tots els editors d'elements - + &Masquer tous les éditeurs de cartouche systray submenu entry Amaga tots els editors de &caixetins - + &Restaurer tous les éditeurs de cartouche systray submenu entry Restaura tots els editors de &caixetins - + &Nouvel éditeur de schéma &Nou editor d'esquemes - + &Nouvel éditeur d'élément &Nou editor d'elements - + Ferme l'application QElectroTech Tanca el programa QElectroTech - + Réduire QElectroTech dans le systray Minimitza QEletectroTech a la safata del sistema - + Restaurer QElectroTech Restaura QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Editors d'esquemes - + Éditeurs d'élément Editors d'elements - + Éditeurs de cartouche systray menu entry Editors de caixetins - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>S'ha trobat el següent fitxer de restauració.<br>Voleu obrir-lo?</b><br> + <b>S'ha trobat el següent fitxer de restauració.<br>Voleu obrir-lo?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>S'han trobat els fitxers de restauració següents.<br>Voleu obrir-los?</b><br> + <b>S'han trobat els fitxers de restauració següents.<br>Voleu obrir-los?</b><br> - Fichier de restauration - Fitxer de recuperació + Fitxer de recuperació - + Rapport de plantage Informe d'error - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech no es va tancar correctament durant la seva última execució. Aquí teniu els darrers missatges enregistrats abans de l'apagada; podeu desar-los per adjuntar-los a un informe d'errors. - + Rapport de diagnostic Informe de diagnòstic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Això conté els missatges de registre més recents d'aquesta sessió. Reviseu-ne el contingut abans d'adjuntar-lo a un informe d'error públic. - + Usage : Ús : - + [options] [fichier]... @@ -8113,7 +9656,7 @@ Aquí teniu els darrers missatges enregistrats abans de l'apagada; podeu de - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8130,35 +9673,35 @@ Opcions disponibles: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definir la carpeta de la col·lecció d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definir la carpeta de la col·lecció de caixetins - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definir la carpeta de configuració - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Defineix la carpeta de dades - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definir la carpeta amb els fitxers de llengua @@ -8168,174 +9711,182 @@ Opcions disponibles: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Desfés - + Aucune modification Cap canvi - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Trieu una acció per retrocedir en l'edició de l'esquema - + &Nouveau &Nou - + &Ouvrir &Obre - + + &Fermer &Tanca - + &Enregistrer &Desa - + Enregistrer sous Desa com a - + E&xporter E&xporta - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Aquest panell mostra les diferents accions realitzades en el full actual. Faci clic en una acció per tornar a l'estat del full just després de l'acció. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Editor d'esquemes - + Imprimer Imprimeix - + Exporter en pdf Exporta com a pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Exporta un o més fulls del projecte actual - + &Quitter &Surt - + Annuler Desfés - + Refaire Refés - + Co&uper Re&talla - + Cop&ier Cop&ia - + C&oller En&ganxa - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Desconnexió automàtica del/s conductor/s - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Tallar automàticament els conductors existents en col·locar un element @@ -8351,435 +9902,681 @@ Opcions disponibles: Mostra el color de fons del full en blanc o gris - + Afficher la grille Mostra la quadrícula - + Affiche ou masque la grille des folios Mostra o oculta la quadrícula - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides Mostra les guies - + Affiche ou masque les guides Mostra o amaga les guies - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Mostra + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Referències creuades + + + + Voir Affichage > Afficher + + + + Propriétés du folio Propietats del full - + Ajouter un folio Afegeix un full - - - + + + Supprimer le folio Suprimeix un full - + Exporter au format CSV Exporta en format CSV - + Ajouter une nomenclature Afegeix una nomenclatura - + Gestionnaire de borniers (DEV) Gestor de blocs de borns (DEV) - + Lancer le plugin de création de borniers Inicieu el connector de creació de blocs de borns - + Exporter la liste des noms de conducteurs Exporta la llista de noms de conductors - + Exporter le plan de câblage Exporta l'esquema de cablejat - + Liste de câblage (base de données) - + Numérotation automatique des bornes Numeració automàtica de borns - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Exporta la base de dades interna del projecte - + Crée un nouveau projet status bar tip Crea un nou projecte - + Ouvre un projet existant status bar tip Obre un projecte existent - + Ferme le projet courant status bar tip Tanca el projecte actual - + Enregistre le projet courant et tous ses folios status bar tip Desa el projecte actual i tots els seus fulls - + Enregistre le projet courant avec un autre nom de fichier status bar tip Desa el projecte actual amb un altre nom de fitxer - + Ajouter une ligne Add row Afegeix una línia - + Enlever une ligne Remove row Suprimeix una línia - + Ajoute une colonne au folio status bar tip Afegeix una columna al full - + Enlève une colonne au folio status bar tip Suprimeix una columna al full - + Agrandit le folio en hauteur status bar tip Augmenta l'altura del full - + Rétrécit le folio en hauteur status bar tip Disminueix l'altura del full - + Pivoter le groupe Gira el grup - + Grouper les textes sélectionnés Agrupa els textos seleccionats - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Suprimeix els elements seleccionats del full - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Gira la selecció com a grup al voltant del seu centre, en lloc de girar cada element al seu lloc - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Selecciona-ho tot - + Désélectionner tout Desselecciona-ho tot - + Inverser la sélection Inverteix la selecció - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF Afegeix un PDF - + + Ajouter un arc + + + + Ajouter une courbe Afegeix una corba - + + Ajouter un congé + + + + Ajouter un plan de bornes Afegeix un pla de borns - + Ajoute un champ de texte sur le folio actuel Afegeix un camp de text al full actual - + Ajoute une image sur le folio actuel Afegeix una imatge al full actual - + Ajoute une page PDF sur le folio actuel Afegeix una pàgina PDF al foli actual - + Ajoute une ligne sur le folio actuel Afegeix una fila al full actual - + Ajoute un rectangle sur le folio actuel Afegeix un rectangle al full actual - + Ajoute une ellipse sur le folio actuel Afegeix una el·lipse al full actual - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Afegeix un polígon al full actual - + Ajoute une courbe de Bézier sur le folio actuel Afegeix una corba de Bézier al foli actual - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Afegeix un pla de borns al full actual - + Chercher/remplacer Cerca i reemplaça - + Atteindre un élément Accedir a un element - + Recherche et sélectionne rapidement un élément du folio status bar tip Cerca i selecciona ràpidament un element del foli - + Profondeur toolbar title Profunditat - + + Scripts + toolbar title + + + + + + Scripts + + + + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + %n objet(s) aligné(s) + + + + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8787,7 +10584,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8795,7 +10592,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -8803,18 +10600,18 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8823,295 +10620,404 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Supprimer Suprimeix - + Pivoter Gira - + Orienter les textes Orienta els textos - + Retrouver dans le panel Cerca al panell - + Réinitialiser les conducteurs Reinicia els conductors - + Ajouter un champ de texte Afegeix un camp de text - + Ajouter une colonne Afegeix una columna - + Ajouter une image Afegeix una imatge - + Enlever une colonne Suprimeix una columna - + Propriétés du projet Propietats del projecte - + Nettoyer le projet Neteja el projecte - + Ajouter un sommaire Afegeix un resum - + Zoom avant Apropa - + Zoom arrière Allunya - + Zoom sur le contenu Amplia el contingut - + Zoom adapté Zoom adaptat - + Pas de zoom Sense zoom - + en utilisant des onglets En pestanyes - + en utilisant des fenêtres En finestres - + Mode Selection Mode Selecció - + Mode Visualisation Mode Visualització - + &Mosaïque &Mosaic - + &Cascade &Cascada - + Projet suivant Projecte següent - + Projet précédent Projecte anterior - + Sélectionne tous les éléments du folio status bar tip Selecciona tots els elements del full - + Désélectionne tous les éléments du folio status bar tip Deselecciona tots els elements del full - + Agrandit le folio status bar tip Augmenta la mida del full - + Rétrécit le folio status bar tip Disminueix la mida del full - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Ajusta el zoom per mostrar tot el contingut del full independentment del marc - + Adapte le zoom exactement sur le cadre du folio status bar tip Ajusta el zoom exactament al marc del full - + Ajouter un rectangle Afegeix un rectangle - + Ajouter une ellipse Afegeix una el·lipse - + Ajouter une polyligne Afegeix un polígon - + Retrouve l'élément sélectionné dans le panel status bar tip Troba l'element seleccionat en el panell - + Exporte le folio courant dans un autre format status bar tip Exporta el full actual a un altre format - + Imprime un ou plusieurs folios du projet courant status bar tip Imprimeix un o més fulls del projecte actual - + + Coller au point d'origine + + + + Place les éléments du presse-papier sur le folio status bar tip Enganxa els elements del porta-retalls al full - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Edita les propietats del full (dimensions, informació del caixetí, propietats dels conductors, etc.) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Permet veure el full sense poder modificar-lo - + A&jouter - + Aligner - + Lignes et colonnes - - + + Projet %1 enregistré dans le repertoire: %2. Projecte %1 desat al directori: %2. - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Projectes QElectroTech (* .qet);; Arxius XML (* .xml);; Tots els fitxers (*) - - + + Impossible d'ouvrir le fichier message box title Impossible obrir el fitxer - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Sembla que el fitxer %1 que estàs intentant obrir no existeix. - + Ouverture du projet en lecture seule message box title Obertura del projecte en mode de només lectura - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9120,7 +11026,7 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9129,13 +11035,13 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Polices du projet message box title Tipografies del projecte - + %n objet(s) remis sur la grille @@ -9143,12 +11049,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9156,340 +11062,340 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content S'ha produït un error en obrir el fitxer %1. - + Active le projet « %1 » Activa el projecte « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? Esteu segur que voleu eliminar aquest foli? - + Supprimer les folios Elimina els números de pàgina - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Esteu segur que voleu suprimir els %1 folis seleccionats? - + Supprimer %1 folios Suprimeix %1 fulls - - - - - - - + + + + + + + Déplacer les folios Mou els fulls - + Erreur message box title Error - + Ferme l'application QElectroTech status bar tip Tanca el programa QElectroTech - + Annule l'action précédente status bar tip Desfer l'acció anterior - + Restaure l'action annulée status bar tip Restaura l'acció desfeta - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Transfereix els elements seleccionats al porta-retalls - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copia els elements seleccionats al porta-retalls - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Desselecciona els elements seleccionats i selecciona els elements no seleccionats - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Recalcula les rutes dels conductors sense tenir en compte els canvis - + Pivote les éléments et textes sélectionnés status bar tip Gira els elements i textos seleccionats - + Éditer l'item sélectionné Edita l'element seleccionat - + Pivote les textes sélectionnés à un angle précis status bar tip Gira els textos seleccionats a un angle específic - + Création automatique de conducteur(s) Tool tip of auto conductor Creació automàtica de conductors - + Projets dock title Projectes - + Collections Col·leccions - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Utilitza la creació automàtica de conductor (s) sempre que sigui possible - + Restaure le zoom par défaut status bar tip Restaura el nivell de zoom per defecte - + Ajouter une ligne Draw line Afegeix una línia - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Mostra els projectes oberts en subfinestres - + Présente les différents projets ouverts des onglets status bar tip Mostra els projectes oberts en pestanyes - + Permet de sélectionner les éléments status bar tip Permet seleccionar els elements - + Dispose les fenêtres en mosaïque status bar tip Disposa les finestres en mosaic - + Dispose les fenêtres en cascade status bar tip Disposa les finestres en cascada - + Active le projet suivant status bar tip Activa el projecte següent - + Active le projet précédent status bar tip Activa el projecte anterior - + &Fichier &Fitxer - + &Édition &Edita - + &Projet &Projecte - + Afficha&ge &Visualitza - + Fe&nêtres Fi&nestres - + &Récemment ouverts &Obre'n un de recent - + Affiche ou non la barre d'outils principale Mostra o amaga la barra d'eines principal - + Affiche ou non la barre d'outils Affichage Mostra o amaga la barra d'eines de visualització - + Affiche ou non la barre d'outils Schéma Mostra o amaga la barra d'eines d'esquema - + Affiche ou non le panel d'appareils Mostra o amaga el panell d'elements - + Affiche ou non la liste des modifications Mostra o amaga la llista de canvis - + Afficher les projets Mostra els projectes - + Outils Eines - + Affichage Visualitza - + Schéma Esquema - + Ajouter Afegeix - + Ouvrir un fichier Obre un fitxer - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Sembla que el fitxer que intentes obrir no és llegible. Per tant, no es pot obrir. Si us plau, comprova els permisos del fitxer. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Sembla que el projecte que intentes obrir no és accessible en mode d'escriptura. Per tant serà obert en mode de només lectura. - - + + Échec de l'ouverture du projet message box title Impossible obrir el projecte - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Sembla que el fitxer %1 no és un fitxer de projecte QElectroTech. Per tant no es pot obrir. - + Suppression de borne impossible No es pot suprimir el born - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer No es pot dur a terme l'eliminació perquè la selecció inclou un o més borns que estan connectats amb ponts i/o pertanyen a un born multinivell. Retireu els ponts i/o elimineu els nivells dels borns afectats per tal de poder-los eliminar - + Groupe Grup - + Éditer l'élement edit element Edita l'element - + Éditer le champ de texte edit text field Edita el camp de text - + Éditer l'image edit image Edita la imatge - + Éditer le conducteur edit conductor Edita el conductor - + Éditer l'objet sélectionné edit selected item Edita l'objecte seleccionat @@ -9498,42 +11404,42 @@ Retireu els ponts i/o elimineu els nivells dels borns afectats per tal de poder- QETElementEditor - + &Nouveau &Nou - + &Ouvrir &Obre - + &Ouvrir depuis un fichier &Obre des d'un fitxer - + &Enregistrer D&esa - + Enregistrer sous Desa com a - + Enregistrer dans un fichier Desa a un fitxer - + Recharger Recarrega - + Tout sélectionner Selecciona-ho tot @@ -9543,273 +11449,296 @@ Retireu els ponts i/o elimineu els nivells dels borns afectats per tal de poder- QElectroTech - Editor d'elements - + &Aide &Ajuda - + Annulations Desfés - + Parties Parts - + Informations Dades - + Outils Eines - + Affichage Visualització - + Élément Element - + Annulation Cancel·lació - + Exporter en SVG Exporta com a SVG - + &Fermer cet éditeur &Tanca aquest editor - + Fermer cet éditeur Tanca aquest editor - + Désélectionner tout Desseleccioneu-ho tot - + Co&uper Re&talla - + Cop&ier Cop&ia - + C&oller En&ganxa - + C&oller dans la zone En&ganxa dins la zona - + Un fichier Un fitxer - + Un élément Un element - + À &propos de QElectroTech Q&uant a QElectroTech - + Affiche des informations sur QElectroTech Mostra informació sobre QElectroTech - + Manuel en ligne Manual en línia - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Inicia el navegador predeterminat amb el manual en línia de QElectroTech - + Chaine Youtube Canal de Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Inicia el navegador predeterminat amb el canal de Youtube de QElectroTech - + Soutenir le projet par un don Dona suport al projecte amb una donació - + Soutenir le projet QElectroTech par un don Dona suport al projecte QElectroTech amb una donació - + À propos de &Qt Quant a &Qt - + Affiche des informations sur la bibliothèque Qt Mostra informació sobre les biblioteques Qt - + Rotation Rotació - + Fine-Rotation Rotació fina - + Mirror Mirall - + Flip Flip - + Importer un dxf Importa un dxf - + importer un élément à redimensionner importa un element per redimensionar-lo - + Inverser la sélection Inverteix la selecció - + &Supprimer &Suprimeix - + Zoom avant Zoom - apropa - + Zoom arrière Zoom - allunya - + Zoom adapté Zoom adaptat - + Pas de zoom Sense zoom - + Éditer les informations sur l'auteur Edita les dades de l'autor - + Ajouter une ligne Afegeix una línia - + Ajouter un rectangle Afegeix un rectangle - + Ajouter une ellipse Afegeix una el·lipse - + Ajouter un polygone Afegeix un polígon - + Ajouter du texte Afegeix text - + Ajouter un arc de cercle Afegeix un arc - + Ajouter une borne Afegeix un born - + Annuler Cancel·la - + Afficher menu entry Mostra - + Trop de primitives, liste non générée: %1 Massa primitives, no s'ha generat la llista: %1 - + Nombre de bornes incorrect Nombre incorrecte de borns - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Error</b>:<br>Les definicions de conductor només poden tenir un born.<br><b>Solució</b>:<br>Verifiqueu que l'element només tingui un born + + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + - + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + %n avertissement(s) warnings @@ -9818,179 +11747,212 @@ Retireu els ponts i/o elimineu els nivells dels borns afectats per tal de poder- - + Refaire Refès - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Editor d'elements - + Ajouter un champ texte dynamique Afegeix un camp de text dinàmic - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Feu doble clic per completar la forma, feu clic amb el botó dret per desfer l'últim punt - + Ajouter un texte d'élément non éditable dans les schémas Afegeix text d'elements no editables als esquemes - + Ajouter un texte d'élément pouvant être édité dans les schémas Afegeix text d'elements editables als esquemes - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Amplada + + + + Hauteur + Alçada + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Exporta com a SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG Imatge SVG (*.svg) - + Échec de l'export L'exportació ha fallat - + Impossible d'écrire dans le fichier « %1 ». No es pot escriure al fitxer «%1». - + Avertissement Avís - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Importar un fitxer DXF gran pot trigar una estona. Si us plau, tingueu paciència mentre es completa el procés d'importació... - + Importer un élément à redimensionner Importa un element per canviar-ne la mida - + Éléments QElectroTech (*.elmt) Elements QElectroTech (*.elmt) - + Parties toolbar title Parts - + Profondeur toolbar title Profunditat - + Éditer le nom et les traductions de l'élément Edita el nom i les traduccions de l'element - + Éditer les propriétés de l'élément Edita les propietats dels elements - + &Fichier &Fitxer - + &Édition &Edita - + Afficha&ge &Visualitza - + Coller depuis... Enganxa des de... - + [Modifié] window title tag [Modificat] - + [lecture seule] window title tag [només lectura] - + Aucune modification Cap canvi - + Éditeur d'éléments status bar message Editor d'elements - - + + %n partie(s) sélectionnée(s). %n part seleccionada. @@ -9998,35 +11960,35 @@ Si us plau, tingueu paciència mentre es completa el procés d'importació. - + Absence de borne warning title No hi ha borns - + Absence de borne No hi ha borns - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>En absència de born, l'element no es pot connectar amb altres elements mitjançant conductors. - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Error</b> :<br>Les connexions del full han de tenir un sol born.<br><b>Solució</b> :<br>Comproveu que l'element té un sol born - + La vérification de cet élément a généré message box content La verificació de l'element ha generat - + %n erreur(s) errors @@ -10035,180 +11997,180 @@ Si us plau, tingueu paciència mentre es completa el procés d'importació. - + et i - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs Errors - + Avertissements Avisos - + Le fichier %1 n'existe pas. message box content El fitxer %1 no existeix. - - + + Impossible d'ouvrir le fichier %1. message box content No es pot obrir el fitxer %1. - - + + Ce fichier n'est pas un document XML valide message box content El fitxer no conté un document XML vàlid - - + + Erreur toolbar title Error - - + + Édition en lecture seule message box title Edició en mode de només lectura - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content No disposa dels privilegis necessaris per editar aquest element. Per tant, serà obert en mode de només lectura. - - + + Erreur message box title Error - + Impossible d'écrire dans ce fichier message box content No es pot escriure a aquest fitxer - + Impossible d'enregistrer l'élément message box content Impossible desar l'element - + Impossible d'ouvrir le fichier message box title Impossible obrir el fitxer - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Sembla que el fitxer %1 que estàs intentant obrir no existeix. - + Recharger l'élément dialog title Recarrega l'element - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content L'element ha estat modificat. Si fos recarregat es perdrien els canvis. Segur que vol recarregar l'element? - - - + + + Echec de l'enregistrement Ha fallat el desament - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Ha fallat el desament, Les condicions requerides no són vàlides - + Enregistrer sous dialog title Desa com a - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elements QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Desa l'element actual? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Vols desar l'element %1? - + Ouvrir un fichier dialog title Obre un fitxer - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elements QElectroTech (*.elmt);;Fitxers XML (*.xml);;Tots els fitxers (*) - - - - + + + + Élément inexistant. message box title No existeix l'element. - - + + L'élément n'existe pas. message box content L'element no existeix. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content El camí virtual escollit no correspon a cap element. @@ -10217,137 +12179,172 @@ Les condicions requerides no són vàlides QETMainWindow - + &Configurer QElectroTech &Configura QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permet ajustar els diferents paràmetres del QElectroTech - + À &propos de QElectroTech Q&uant a QElectroTech - + Affiche des informations sur QElectroTech status bar tip Mostra informació sobre el QElectroTech - + Manuel en ligne Manual en línia - + Chaine Youtube Canal de Youtube - - + + Télécharger une nouvelle version (dev) Descarrega una nova versió (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Inicia el navegador predeterminat amb el manual en línia de QElectroTech - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général General - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Inicia el navegador predeterminat amb el canal de Youtube de QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Inicia el navegador predeterminat amb el repositori Nightly en línia de QElectroTech - + Soutenir le projet par un don Dona suport al projecte amb una donació - + Soutenir le projet QElectroTech par un don status bar tip Dona suport al projecte QElectroTech amb una donació - + À propos de &Qt Quant a &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Mostra informació sobre les biblioteques Qt - + Enregistrer un rapport de diagnostic... Desa un informe de diagnòstic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Genera un informe que conté els missatges de registre més recents, per incloure'l en un informe d'error - + &Configuration window menu &Configuració - + &Aide window menu &Ajuda - + Sortir du &mode plein écran Surt de &pantalla completa - + Affiche QElectroTech en mode fenêtré status bar tip Passa el QElectroTech a mode finestra - + Passer en &mode plein écran Mode de &pantalla completa - + Affiche QElectroTech en mode plein écran status bar tip Passa el QElectroTech al mode de finestra completa - + Afficher menu entry Mostra @@ -10356,52 +12353,52 @@ Les condicions requerides no són vàlides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projecte « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projecte %1 - + Projet sans titre displayed title for a project-less, file-less project Projecte sense títol - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [només lectura] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modificat] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié Sistema de contactes modificat - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10412,19 +12409,19 @@ Els elements esclaus existents no s'assignaran automàticament. Haureu d&ap Voleu continuar? - + Une erreur s'est produite durant l'intégration du modèle. error message S'ha produït un error mentre s'integrava el model. - + Avertissement message box title Avís - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10433,7 +12430,7 @@ Vous utilisez actuellement QElectroTech en version %2 Actualment esteu utilitzant la versió %2 de QElectroTech - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10442,32 +12439,32 @@ Aleshores és possible que l'obertura de tot o part d'aquest document Què voleu fer? - + Avertissement message box title Avís - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. El projecte que esteu intentant obrir és parcialment compatible amb la vostra versió %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Perquè sigui totalment compatible, obriu aquest mateix projecte amb la versió 0.8 o 0.80 de QElectroTech, deseu el projecte i torneu-lo a obrir amb aquesta versió. Què voleu fer? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Obrint el projecte actual...</b><br/>Creant els folis</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Obrint el projecte actual...</b><br/>Configurant referències creuades</p> @@ -10836,8 +12833,8 @@ Què voleu fer? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Avís: l'element ha estat desat amb una versió posterior del QElectroTech. @@ -10857,44 +12854,44 @@ Què voleu fer? un element gràfic - + supprimer %1 undo caption - %1 is a sentence listing the removed content suprimeix %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste enganxa %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut retalla %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content mou %1 - + modifier le texte undo caption edita el text - + modifier un conducteur undo caption edita un conductor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reinicia %1 @@ -10906,7 +12903,7 @@ Què voleu fer? edita el caixetí - + modifier les dimensions du folio undo caption canvia la mida del full @@ -11044,32 +13041,32 @@ Què voleu fer? text - + Folio sans titre Full sense títol - + schema esquema - + Conserver les proportions Manté les proporcions - + Réinitialiser les dimensions Torna a mides anteriors - + Aperçu Vista - + Exporter vers le presse-papier Exporta al portapapers @@ -11138,7 +13135,7 @@ Què voleu fer? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11147,7 +13144,7 @@ Què voleu fer? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11156,7 +13153,7 @@ Què voleu fer? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11165,7 +13162,7 @@ Què voleu fer? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11174,7 +13171,7 @@ Què voleu fer? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11183,7 +13180,7 @@ Què voleu fer? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11192,7 +13189,7 @@ Què voleu fer? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11201,7 +13198,7 @@ Què voleu fer? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11210,79 +13207,79 @@ Què voleu fer? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? No es troba el fitxer de text que conté la llicència GNU/GPL. Total... la coneixeu de memòria, oi? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? El fitxer de text que conté la llicència GNU/GPL ha estat trobat però no ha estat possible obrir-lo. Total... la coneixeu de memòria, oi? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Impossible obrir el fitxer %1 en mode d'escriptura, error %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file S'ha produït un error en escriure el fitxer %1 i s'ha trobat l'error %2. - + Amener au premier plan Porta al primer pla - + Rapprocher Apropa - + Éloigner Allunya - + Envoyer au fond Envia al fons - + Ramène la ou les sélections au premier plan Torna a posar les seleccions al primer pla - + Rapproche la ou les sélections Apropa les seleccions - + Éloigne la ou les sélections Elimina les seleccions - + Envoie en arrière plan la ou les sélections Envia les seleccions al fons - - - - + + + + Profondeur Profunditat - + Borne tooltip Born @@ -11438,6 +13435,7 @@ Què voleu fer? + Titre Títol @@ -11520,6 +13518,7 @@ Què voleu fer? Text + Modifier les informations de l'élément : %1 Edita les propietats de l'element: %1 @@ -11599,22 +13598,22 @@ Què voleu fer? - + Collection QET Col·lecció QET - + Collection Company Col·lecció d'empresa - + Collection utilisateur Col·lecció personal - + Macros @@ -11623,12 +13622,12 @@ Què voleu fer? Macros - + Collection inconnue Col·lecció desconeguda - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. El fitxer «%1» no es troba o és il·legible: no s'ha pogut llegir el nom traduït d'aquesta carpeta, de manera que se'n mostra el nom de la carpeta. @@ -11642,8 +13641,13 @@ Què voleu fer? Collection Col·lecció + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11664,7 +13668,7 @@ Què voleu fer? %1 grups de text - + %n texte(s) @@ -11672,13 +13676,13 @@ Què voleu fer? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orienta els textos seleccionats @@ -11806,35 +13810,35 @@ Què voleu fer? - - - + + + Type Tipus - - - + + + Adresse Adreça - - - + + + Commentaire Comentari - - - + + + Réf. croisée Referència creuada @@ -11842,9 +13846,9 @@ Què voleu fer? - - - + + + Fonction Funció @@ -12319,20 +14323,20 @@ Què voleu fer? Sortida universal - + %p% effectué (%v sur %m) %p% fet (%v de %m) - - + + - - - - - - + + + + + + this is an error in the code Això és un error al codi @@ -12343,12 +14347,12 @@ Què voleu fer? Camp de text dinàmic - + Importer un fichier dxf Importa un fitxer dxf - + Ouvrir un element Obre un element @@ -12358,8 +14362,8 @@ Què voleu fer? Enganxa - - + + chargement %p% (%v sur %m) carregant %p% (%v de %m) @@ -12407,22 +14411,22 @@ Voleu substituir-la? Importa la configuració de text : %1 - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Per instal·lar el connector qet_tb_generator<br>Visiteu:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requereix python 3.5 o superior.<br><B><U> Primera instal·lació a Windows</B></U><br>1. Instal·leu, si cal, python 3.5 o superior<br> Visiteu:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Actualització a Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>L'usuari podria iniciar aquest script en un terminal en aquest directori<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Per instal·lar el connector qet_tb_generator<br>Visiteu:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Primera instal·lació a macOSX</B></U><br>1. Instal·leu, si cal, només el paquet python 3.11, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Executeu l'script Profile.command<br>perquè el programa utilitza el PATH codificat per localitzar el connector qet-tb-generator <br> Visiteu:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>com fer-ho</a><br>2. instal·lació de qet_tb_generator amb pip3<br><B><U> Actualització a macOSX</B></U><br> instal·lació de pip3 --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Per instal·lar el connector qet_tb_generator<br>Visiteu:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requereix python 3.5 o superior.<br><br><B><U> Primera instal·lació a Linux</B></U><br>1. comproveu que teniu pip3 instal·lat: pip3 --version<br>Si no, instal·leu-lo amb: sudo apt-get install python3-pip<br>2. Instal·leu el programa: sudo pip3 install qet_tb_generator<br>3. Executeu el programa: qet_tb_generator<br><br><B><U> Actualització a Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Error en iniciar el connector qet_tb_generator @@ -12432,22 +14436,22 @@ Voleu substituir-la? Cerca i reemplaça les propietats del full - + Chercher/remplacer les propriétés d'éléments. Cerca i reemplaça les propietats dels elements. - + Chercher/remplacer des textes independants Cerca i reemplaça textos independents - + Chercher/remplacer les propriétés de conducteurs. Cerca i reemplaça les propietats dels conductors. - + Rechercher / remplacer avancé Cerca i reemplaça avançat @@ -12543,7 +14547,7 @@ Voleu substituir-la? Gira el grup - + Création de conducteurs Creació de conductors @@ -12628,7 +14632,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Si us plau, descarregueu-lo des de l'enllaç següent i descomprimiu-lo a la carpeta d'instal·lació - + Automatic terminal numbering Numeració automàtica de borns @@ -12711,7 +14715,7 @@ Si us plau, descarregueu-lo des de l'enllaç següent i descomprimiu-lo a l - + %n groupe(s) de textes @@ -12720,8 +14724,8 @@ Si us plau, descarregueu-lo des de l'enllaç següent i descomprimiu-lo a l - - + + Déplacer %1 @@ -12850,98 +14854,111 @@ Si us plau, descarregueu-lo des de l'enllaç següent i descomprimiu-lo a l - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Afegeix %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Canvia el color d'un text - + Pivoter un texte - + Modifier le trait d'une forme Canvia el traç d'una forma - + Modifier le remplissage d'une forme Canvia l'emplenament d'una forma - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Edita el text d'un element - + Numéroter automatiquement un élément Numera automàticament un element - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12949,6 +14966,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Full + QTextOrientationWidget @@ -12968,100 +15026,151 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. La informació que es mostrarà supera la quantitat màxima que poden mostrar les taules. Afegiu una taula nova o ajusteu les taules existents per mostrar la quantitat completa d'informació. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. La informació que es mostrarà supera la quantitat màxima que es pot mostrar a la taula. Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat completa d'informació. - + Limitation de tableau Limitació de la taula - + Modifier la géometrie d'un tableau Canvia la geometria d'una taula + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape una forma - + une ligne una línia - - + + Ajouter un point Afegeix un punt - + Supprimer ce point Elimina aquest punt - + Déformer une courbe Deformar una corba - + Nœud le plus proche Node més proper - + Lisse Suau - + Symétrique Simètric - + Anguleux Angular - + Supprimer le nœud le plus proche Suprimeix el node més proper - + Convertir en polyligne Converteix en polilínia - + Convertir en courbe de Bézier - + Miroir horizontal Mirall horitzontal - + Miroir vertical Mirall vertical @@ -13070,273 +15179,283 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl Propietats... - + Taille Mida - + Coins arrondis Cantonades arrodonides - + Édition des nœuds Edició de nodes - + Rotation/Inclinaison Gir/Inclinació - + Cliquer : mode %1 Clic: mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Arrossega una cantonada o una aresta: canvia la mida (Ctrl = des del centre, Shift = manté les proporcions, Alt = separa com a polilínia) - + ; point turquoise : arc ; punt turquesa: arc - + Glisser une extrémité : la déplacer Fes lliscar un extrem: el mou - + Glisser un point : le déplacer Desplaça un punt: el mou - + Glisser le point violet : arrondir les coins Arrossega el punt morat: arrodonix les cantonades - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Arrossegueu un tirador o la corba: deformar (Alt = trencar la tangent); Alt + arrossegar un punt de cantonada: crear tiradors; clic amb el botó dret: menú del node més proper - + une extrémité un extrem - + un coin una cantonada - + un point un punt - + Glisser %1 : rotation (Maj = 15°) Arrossega %1: gira (Maj = 15°) - + ; un bord : inclinaison ; un avantatge: inclinació - + ; point rouge : glisser pour repositionner le centre de rotation ; punt vermell: arrossegueu-lo per reposicionar el centre de rotació - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Ctrl mentre s'arrossega = posicionament lliure, sense ajustar-se a la quadrícula) - + — Cliquer : mode %1 — Clic: mode %1 - + Glisser : déplacer ce point Arrossega: mou aquest punt - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Arrossega: canvia la mida (Ctrl = des del centre + posicionament lliure, Maj = manté les proporcions) - + , Alt = détacher en polyligne , Alt = desconnecta com a polilínia - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Arrossega: gira (Ctrl = posicionament lliure, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Arrossega: inclina (Ctrl = posició lliure, Shift = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Arrossega: reposiciona el centre de rotació (Ctrl = posicionament lliure) - + Glisser : arrondir les coins (Ctrl = position libre) Arrossega: arrodonir les cantonades (Ctrl = posicionament lliure) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Arrossega: ajusta l'arc (Ctrl = posicionament lliure, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre Arrossega: mou el punt (Ctrl = posició lliure) - + , Alt = créer des poignées , Alt = crear tiradors - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Lliscament: deforma la corba (Ctrl = posició lliure, Alt = trenca la tangent) - + Ajouter un point à un polygone Afegeix un punt a un polígon - + Supprimer un point d'un polygone Elimina un punt d'un polígon - + Ajouter un point à une courbe Afegeix un punt a una corba - + Supprimer un point d'une courbe Suprimeix un punt d'una corba - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne Converteix %1 en una polilínia - + Miroir impossible : inclinaison trop extrême pour cette forme Mirall impossible: inclinació excessiva per a aquesta forma - + Miroir horizontal de %1 Mirall horitzontal de %1 - + Miroir vertical de %1 Mirall vertical de %1 - + Modifier le type d'un nœud Canvia el tipus d'un node - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation Mou el centre de rotació - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Modifica %1 - + un rectangle un rectangle - + une éllipse una el·lipse - + un arc un arc - + une polyligne un polígon - + une courbe una corba @@ -13418,7 +15537,7 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl Etiqueta de text - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? L'element « %1 » ja existeix, què vols fer? @@ -13426,31 +15545,75 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Full + + + + Élément + Element + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13505,9 +15668,9 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl - - - + + + Ne pas modifier No modificar @@ -13596,97 +15759,97 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl fase - - + + Nombre de phase Nombre de fases - + Neutre Neutre - + neutre neutre - + Terre Terra - + terre terra - + TextLabel Etiqueta de text - + PushButton Polsador - + Apparence Aparença - + Taille : Mida : - - + + Couleur : Color : - + Style : Estil : - - + + Modifier Modifica - + Couleur secondaire : Color secundari : - + Taille de trait : Mida de la línia: - + px px - + Trait plein conductor style: solid line Línia contínua - + Trait en pointillés conductor style: dashed line Línia de puntets - + Traits et points conductor style: dashed and dotted line Línies i punts @@ -13695,7 +15858,7 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl ReplaceElementDialog - + Ne pas modifier No modificar @@ -13737,10 +15900,10 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl - - - - + + + + Ne pas modifier No modificar @@ -13800,7 +15963,7 @@ Afegiu una taula nova o ajusteu la taula existent per mostrar la quantitat compl Aplica la data actual - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13813,38 +15976,38 @@ Es poden utilitzar les variables següents: - %autonum: Numeració automàtica del full - + Disponible en tant que %locmach pour les modèles de cartouches Disponible com %locmach per a models de caixetí - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponible com a %plant per a models de caixetí</p></body></html> - + Titre : Títol : - - - - - - - + + + + + + + Supprimer ce texte Suprimeix aquest text - + Personnalisées Personalitzades - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Aquí podeu definir les vostres pròpies associacions de nom/valor perquè el caixetí les pugui tenir en compte. Per exemple: @@ -13883,6 +16046,185 @@ Creeu el vostre propi text utilitzant les variables següents: %c: el número de columna + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nou + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + &Tanca + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13891,12 +16233,12 @@ Creeu el vostre propi text utilitzant les variables següents: Formulari - + Folio Full - + Élément Element @@ -13931,175 +16273,175 @@ Creeu el vostre propi text utilitzant les variables següents: Ves a la correspondència següent - + Aller à la correspondance précédente Ves a la correspondència anterior - + Actualiser Actualitza - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Mostra les opcions avançades</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Defineix les propietats per reemplaçar en els elements</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Defineix les propietats que es vol substituir en els conductors</p></body></html> - + Conducteur Conductor - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Substitueix les coincidències marcades</p></body></html> - + Tout remplacer Substituïu-ho tot - + avancé Avança - + Remplacer : Substitueix : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Defineix les propietats que es substituiran als fulls</p></body></html> - + Champ texte de folio Camp de text de full - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Substitueix la coincidència seleccionada</p></body></html> - + Remplacer Substitueix - + Quitter Surt - + Correspondance : Correspondència : - + Folios Fulls - + Champs texte Camps de text - + Eléments Elements - + Eléments simple Elements simple - + Eléments maître Elements mestre - + Eléments esclave Elements esclau - + Eléments report de folio Elements d'informe de full - + Eléments bornier Elements de borns - + Conducteurs Conductors - + Inconnue Desconegut - + Sélectionner les éléments de ce folio Selecciona els elements d'aquest full - + Sélectionner les conducteurs de ce folio Selecciona els conductors d'aquest full - + Sélectionner les textes de ce folio Selecciona els textos d'aquest full - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [editat] @@ -14112,17 +16454,17 @@ Creeu el vostre propi text utilitzant les variables següents: Formulari - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Suprimeix una variable de numeració</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Afegeix una variable de numeració</p></body></html> - + Définition Definició @@ -14142,38 +16484,66 @@ Creeu el vostre propi text utilitzant les variables següents: Suprimeix la numeració - Précédent - Anterior + Anterior - Suivant - Següent + Següent - + Type Tipus - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Valor - + Incrémentation Increment - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Numeració automàtica del full - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14204,13 +16574,13 @@ Si el número definit al camp Valor té menys dígits que el tipus escollit, ani - + Conducteur Autonumérotation title window Numeració automàtica del conductor - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14248,13 +16618,13 @@ Les autres champs ne sont pas utilisés. -El tipus "Full" representa el nom del full actual. Els altres camps no s'utilitzen. - + Element Autonumérotation title window Numeració automàtica de l'element - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14291,6 +16661,16 @@ Les autres champs ne sont pas utilisés. -El tipus "Full" representa el nom del full actual. Els altres camps no s'utilitzen. + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16680,12 +19060,12 @@ Les autres champs ne sont pas utilisés. Informació per mostrar - + Configuration Configuració - + Requête SQL : Consulta SQL: @@ -16695,6 +19075,18 @@ Les autres champs ne sont pas utilisés. Posició + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -17024,27 +19416,27 @@ Les autres champs ne sont pas utilisés. TerminalStripEditor - + Propriétés Propietats - + Nom : Nom: - + Commentaire : Comentari : - + Installation : Instal·lació : - + Type : Tipus: @@ -17074,98 +19466,98 @@ Les autres champs ne sont pas utilisés. Efectua el desplaçament - + Étage : Etapa : - + Couleur pont : Color del pont: - - + + Générique Genèric - + Fusible Fusible - + Sectionnable Seccionable - + Diode Díode - + Terre Terra - + LED : LED : - + Déplacer dans : Desplaçar-se dins : - + Phase Fase - + Neutre Neutre - + Position automatique Posició automàtica - + Grouper les bornes Agrupa els borns - + Degrouper les bornes Desagrupa els borns - + Ponter les bornes Puntegeu dels borns - + Déponter les bornes Traieu el pont dels borns - + Localisation : Localització : - + Description Descripció - + Fonction : Funció: @@ -17193,32 +19585,32 @@ Les autres champs ne sont pas utilisés. barra d'eines - + Ajouter un bornier Afegeix el bloc de borns - + Ajouter un bornier au projet Afegeix el bloc de borns al projecte - + Supprimer le bornier Suprimeix el bloc de borns - + Supprimer le bornier du projet Suprimeix el bloc de borns del projecte - + Recharger Recarrega - + Recharger les borniers Recarrega els borns @@ -17443,12 +19835,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre Projecte sense títol - + Bornes indépendante Borns independents @@ -17556,7 +19948,7 @@ Les autres champs ne sont pas utilisés. Descarregar - + Dossier installation Carpeta d'instal·lació @@ -17564,40 +19956,40 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Amplada : - + Absolu a traditional, absolute measure mida en valor absolut Absolut - + Relatif au total a percentage of the total width mida com a percentatge de l'amplada disponible Relatiu al total - + Relatif au restant a percentage of what remains from the total width percentatge de l'amplada que quedi lliure Relatiu a la resta - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17606,30 +19998,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Model per defecte - + Éditer ce modèle menu entry Edita aquest model - + Dupliquer et éditer ce modèle menu entry Duplica i edita aquest model - + Title block templates actions Accions sobre blocs de títol - - + + + Créer un Folio Numérotation Auto Crea un full de numeració automàtica @@ -17644,37 +20037,37 @@ Les autres champs ne sont pas utilisés. Formulari - + Folio : Full : - + Auteur : Autor : - + Disponible en tant que %filename pour les modèles de cartouches Disponible com a %filename per a models de caixetins - + Pas de date Sense data - + Date courante Data actual - + Appliquer la date actuelle Aplica la data actual - + Principales Principals @@ -17684,32 +20077,32 @@ Les autres champs ne sont pas utilisés. Informació del caixetí - + Indice Rev: Índex Rev : - + Disponible en tant que %locmach pour les modèles de cartouches Disponible com a %locmach per a models de caixetí - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponible com a %plant per a models de caixetí</p></body></html> - + Disponible en tant que %date pour les modèles de cartouches Disponible com a %date per a models de caixetí - + Date fixe : Data fixada : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17722,7 +20115,7 @@ Es poden utilitzar les variables següents: - %autonum: Numeració automàtica del full - + Titre : Títol : @@ -17732,52 +20125,52 @@ Es poden utilitzar les variables següents: <html><head/><body><p>Situa el caixetí a la part inferior (horitzontalment) o a la dreta (verticalment) del full. </p></body></html> - + Fichier : Fitxer : - + Date : Data : - + Disponible en tant que %author pour les modèles de cartouches Disponible com a %author per als models de caixetins - + Disponible en tant que %title pour les modèles de cartouches Disponible com a %title per als models de caixetins - + Page Num: Pàgina Núm : - + Installation : Instal·lació : - + Disponible en tant que %indexrev pour les modèles de cartouches Disponible com a %indexrev per als models de caixetins - + Localisation: Localització : - + Personnalisées Personalitzades - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Aquí podeu definir les vostres pròpies associacions de nom/valor perquè el caixetí les pugui tenir en compte. Per exemple: @@ -17787,13 +20180,13 @@ associar el nom "volta" amb el valor "1745" substituirà %{v TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18298,50 +20691,50 @@ associar el nom "volta" amb el valor "1745" substituirà %{v WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title Component 1 - + Borne 1 column title Born 1 - + Composant 2 column title Component 2 - + Borne 2 column title Born 2 - + Folio column title Full - - + + %n conducteur(s) listé(s). wiring list summary @@ -18350,7 +20743,7 @@ associar el nom "volta" amb el valor "1745" substituirà %{v - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18362,96 +20755,115 @@ associar el nom "volta" amb el valor "1745" substituirà %{v WiringListExport - - + + Erreur Error - + Impossible de lire la structure en mémoire du projet. No s'ha pogut llegir l'estructura del projecte a la memòria. - + Exporter le plan de câblage Exporta l'esquema de cablejat - + Fichiers CSV (*.csv) Fitxers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. No s'ha pogut obrir el fitxer per a l'escriptura. - + Page Wiring list CSV header Pàgina - + Composant 1 Wiring list CSV header Component 1 - + Borne 1 Wiring list CSV header Born 1 - + Composant 2 Wiring list CSV header Component 2 - + Borne 2 Wiring list CSV header Born 2 - + Tension / Protocole Wiring list CSV header Tensió / Protocol - + Couleur du fil Wiring list CSV header Color del fil - + Section du fil Wiring list CSV header Secció de fil - + Fonction Wiring list CSV header Funció - + + Câble + Wiring list CSV header + Cable + + + Export réussi Exportació realitzada amb èxit - + Le plan de câblage a été exporté avec succès ! El pla de cablejat s'ha exportat correctament! + + WiringRulesWarning + + + Avertissement + Avís + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18665,27 +21077,27 @@ associar el nom "volta" amb el valor "1745" substituirà %{v projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Exporta la base de dades interna del projecte - + sans_nom sense_nom @@ -18693,7 +21105,7 @@ associar el nom "volta" amb el valor "1745" substituirà %{v qdesigner_internal::ColorAction - + Text Color Color del Text @@ -18701,7 +21113,7 @@ associar el nom "volta" amb el valor "1745" substituirà %{v qdesigner_internal::HtmlTextEdit - + Insert HTML entity Insereix entitat HTML @@ -18709,27 +21121,27 @@ associar el nom "volta" amb el valor "1745" substituirà %{v qdesigner_internal::RichTextEditorDialog - + Edit text Edita el text - + Rich Text Text Enriquit - + Source Font - + &OK &D'acord - + &Cancel &Cancel·lar @@ -18737,69 +21149,69 @@ associar el nom "volta" amb el valor "1745" substituirà %{v qdesigner_internal::RichTextEditorToolBar - + Texte en gras Text en negreta - - - + + + Éditeur de texte Editor de text - + Texte en italique Text en itàlica - + Texte souligé Text subratllat - + Left Align Alinea a l'Esquerra - + Center Centrat - + Right Align Alinea a la Dreta - + Justify Justificat - + Superscript Superíndex - + Subscript Subíndex - + Insérer un lien Insereix un enllaç - + Insert &Image Insereix una &Imatge - + Simplify Rich Text Simplifica el text enriquit diff --git a/lang/qet_cs.ts b/lang/qet_cs.ts index eae4ae275..c0e862e98 100644 --- a/lang/qet_cs.ts +++ b/lang/qet_cs.ts @@ -54,272 +54,272 @@ Záznam - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech - program na vytváření elektrotechnických výkresů - + Les développeurs de QElectroTech about tab, developers line vývojáři QElectroTechu - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Spojení: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Původní myšlenka - - + - - + + + Développement Vývoj - + Convertisseur DXF Převodník DXF - + Plugin Bornier Přídavný modul svorkovnice - + Collection Sbírka - + Traduction en espagnol Překlad do španělštiny - + Traduction en russe Překlad do ruštiny - + Traduction en portugais Překlad do portugalštiny - + Traduction en tchèque Překlad do češtiny - + Traduction en polonais Překlad do polštiny - + Traduction en allemand Překlad do němčiny - + Traduction en roumain Překlad do rumunštiny - + Traduction en italien Překlad do italštiny - + Traduction en arabe Překlad do arabštiny - + Traduction en croate Překlad do chorvatštiny - + Traduction en catalan Překlad do katalánštiny - + Traduction en grec Překlad do řečtiny - + Traduction en néerlandais Překlad do nizozemštiny - + Traduction en flamand Překlad do vlámštiny - + Traduction en danois Překlad do dánštiny - + Traduction en brézilien Překlad do brazilštiny - + Traduction en Turc Překlad do turečtiny - + Traduction en hongrois Překlad do maďarštiny - + Traduction en serbe Překlad do srbštiny - + Traduction en japonais Překlad do japonštiny - + Traduction en coréen - + Traduction en mongol Překlad do mongolštiny - + Paquets Fedora et Red Hat Balíčky pro Fedoru a Red Hat - + Paquets Mageia Balíčky pro Mageiu - + Paquets Debian Balíčky pro Debian - + Paquets Gentoo Balíčky pro Gentoo - + Paquets OS/2 Balíčky pro OS/2 - + Paquets FreeBSD Balíčky pro FreeBSD - + Paquets MAC OS X Balíčky pro MAC OS X - + Paquets Archlinux AUR Balíčky pro Archlinux AUR - + Icônes Ikony - + Documentation Dokumentace - + Collection d'éléments Sbírka prvků - + Redimensionneur d'éléments Element scaler Měnič velikosti prvků - + Convertisseur d'élément DXF Dxf2elmt Převodník prvků DXF - + Outil de traduction d'éléments Qet_translate Nástroj pro překlad prvků - + Paquets Snap Balíčky pro snap - + Traduction en ukrainien Překlad do ukrajinštiny - + Traduction en norvégien Překlad do norštiny - + Traduction en slovène Překlad do slovinštiny - + Générateur d'élément lambda Lambda element generator Tvůrce lambda prvků @@ -428,17 +428,17 @@ Nastavení - + Contenu Obsah - + Sélectionner la police des en tête du tableau Vybrat písmo záhlaví tabulky - + Sélectionner la police des cellules du tableau Vybrat písmo buněk tabulky @@ -456,6 +456,134 @@ Přidat následující plán svorek: + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Úhel: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Prvek - + Conducteur Vodič - + Configurer les règles d'auto numérotation Nastavit pravidla pro automatické číslování - + Configurer Nastavit @@ -573,10 +734,92 @@ List - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation Automatické číslování + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ Stávající - + Under Development Ve vývoji - + Installing Instaluje se - + Built Sestaveno - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window Správa automatického číslování - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1039,55 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Náhled - + nomenclature_ Seznam součástí_ - + Enregister sous... Uložit jako... - + Fichiers csv (*.csv) Soubory csv (*.csv) - - + + Erreur Chyba - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Poloha - + Position du folio Poloha listu - + Quantité numéro d'article Special field with name : designation quantity Označení množství - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1120,27 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1187,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1218,8 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Přidat proměnnou: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Zde zadejte svůj smíšený text. Použijte dostupné proměnné @@ -909,13 +1227,13 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Conductor - + Modifier les propriétés d'un conducteur undo caption Upravit vlastnosti vodiče - + Modifier les propriétés de plusieurs conducteurs undo caption Upravit vlastnosti více vodičů @@ -924,73 +1242,73 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, ConductorColorToolButton - + Noir Černá - + Marron Hnědá - + Gris Šedá - + Bleu Modrá - + Vert Zelená - + Rouge Červená - + Orange Oranžová - + Violet Fialová - + Blanc Bílá - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1000,7 +1318,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, - + Choisir une couleur de conducteur @@ -1018,13 +1336,13 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Použít vlastnosti na všechny vodiče o tomto potenciálu - + Modifier les propriétés d'un conducteur undo caption Upravit vlastnosti vodiče - + Modifier les propriétés de plusieurs conducteurs undo caption Upravit vlastnosti více vodičů @@ -1033,24 +1351,34 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Použít vlastnosti na všechny vodiče o tomto potenciálu + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption Upravit vlastnosti vodiče - + Modifier les propriétés de plusieurs conducteurs undo caption Upravit vlastnosti více vodičů - + Conducteur Vodič @@ -1079,12 +1407,13 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, + Texte Text - - + + Unifilaire Jednožilový @@ -1100,6 +1429,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, + Texte visible Viditelný text @@ -1139,35 +1469,52 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Poloha a natočení textu vodiče: - + phase Fáze - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Plná čára - + Trait en pointillés conductor style: dashed line Čárkovaná čára - + Traits et points conductor style: dashed and dotted line Čerchovaná čára - + terre Uzemnění - + neutre Nulový @@ -1177,7 +1524,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Formulář - + Formule du texte : Vzorec textu: @@ -1208,96 +1555,96 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Úsek vodiče - + cable Kabel - + bus Sběrnice - - + + Nombre de phase Číslo fáze - + Neutre Nulový - + Phase Fáze - + Protective Earth Neutral Ochranný vodič nulový - + PEN PEN - + Terre Země - + TextLabel Textový štítek - + Taille : Velikost: - - + + Style du conducteur Styl vodiče - + Couleur secondaire : Vedlejší barva: - + px px - + Taille de trait : Velikost čáry: - + Couleur du conducteur Barva vodiče - + Apparence Vzhled - - + + Couleur : Barva: - + Style : Styl: @@ -1318,128 +1665,153 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Typ - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Zpět - + Normalement ouvert Přepínač normálně otevřený - + Normalement fermé Přepínač normálně zavřený - + Inverseur Přepínač - + Autre - - + + Inconnu - + Simple Jednoduchý - + Puissance Příkon - + Temporisé travail Zpoždění při zapnutí - + Temporisé repos Zpoždění při vypnutí - + Temporisé travail & repos Zpoždění při zapnutí a při vypnutí + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1469,27 +1841,27 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Chyba - + Impossible d'écrire dans le fichier « %1 ». @@ -1497,7 +1869,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Diagram - + Modifier la profondeur Změnit hloubku @@ -1637,7 +2009,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1654,262 +2026,330 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image Obrázek - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Vybrat obrázek... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Chyba - + Impossible de charger l'image. Obrázek nelze nahrát. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1917,7 +2357,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagramPropertiesDialog - + Propriétés du folio window title Vlastnosti listu @@ -1926,12 +2366,12 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagramTextItem - + Maintenir ctrl pour un déplacement libre Držet Ctrl pro volné posunutí - + <Shift> to move <Shift> k přesunutí @@ -1940,77 +2380,83 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DiagramView - + Coller ici context menu action Vložit zde - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Toto je oblast, ve které plodíte své výkresy přidáváním prvků a umísťováním vodičů mezi jejich svorkami. Také můžete přidat nezávislé texty. - + Collage multiple Vícenásobné vložení - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Spojit vybrané svorky - + Sans titre what to display for untitled diagrams Bez názvu - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Chyba - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Vybrat novou barvu pro tento vodič - + Modifier les propriétés d'un conducteur undo caption Upravit vlastnosti vodiče @@ -2029,7 +2475,7 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Název - + TextLabel Textový štítek @@ -2037,42 +2483,42 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Nahoře - + Bas Dole - + Gauche Vlevo - + Droite Vpravo - + Direction : @@ -2080,17 +2526,17 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément Upravit text prvku - + Redimensionner un texte d'élément @@ -2109,30 +2555,30 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, - - - - + + + + ... ... - + Importer une configuration de texte Zavést nastavení textu - + Ajouter un texte Přidat text - + Ajouter un groupe de textes Přidat skupinu textů - + Supprimer la sélection Smazat výběr @@ -2304,21 +2750,21 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, - + Gauche Vlevo - + Droite Vpravo - + Centre Na střed @@ -2457,64 +2903,64 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Otočení - - + + Déplacer un champ texte Přesunout textové pole - + Pivoter un champ texte Otočit textové pole - + Modifier le texte d'un champ texte Upravit text textového pole - - + + Modifier la police d'un champ texte Změnit písmo textového pole - + Modifier la couleur d'un champ texte Upravit barvu textového pole - + Modifier la conservation de l'angle Upravit zachování úhlu - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Upravit rámeček textového pole - + Modifier la largeur d'un texte Upravit šířku textu - + Modifier l'information d'un texte Upravit informaci textu - + Modifier la source de texte, d'un texte Upravit zdroj textu, text - + Modifier l'alignement d'un champ texte Upravit zarovnání textového pole @@ -2522,32 +2968,32 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, DynamicTextItemDelegate - + Texte utilisateur Vlastní text - + Information de l'élément Informace o prvku - + Texte composé Smíšený text - + Gauche Vlevo - + Centre Na střed - + Droite Vpravo @@ -2555,12 +3001,12 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2601,153 +3047,226 @@ Poznámka: tyto volby automatické číslování ani NEPOVOLÍ ani nezakáží, Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Otevřít prvek - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Vyberte prvek, který si přejete otevřít. - + Enregistrer un élément dialog title Uložit prvek - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Vyberte prvek, do kterého si přejete uložit své vymezení. - + Ouvrir une catégorie dialog title Otevřít skupinu - - + + Choisissez une catégorie. dialog content Vyberte skupinu. - + Enregistrer une catégorie dialog title Uložit skupinu - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Název - + Label Štítek - + Nom du nouveau dossier Název nové složky - + Nom du nouveau template - + Écraser le template ? message box title - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Musíte vybrat prvek nebo skupinu s názvem pro prvek. - + Sélection inexistante message box title Neexistující výběr - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content Výběr neexistuje. - - + + Sélection incorrecte message box title Nesprávný výběr - + La sélection n'est pas un élément. message box content Výběr není prvkem. - + Écraser l'élément ? message box title Přepsat prvek? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Prvek již existuje. Chcete jej přepsat? @@ -2771,12 +3290,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Smazat tento text - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2794,104 +3319,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informace - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Zpět - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2907,8 +3542,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Typ @@ -2991,8 +3626,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Funkce @@ -3022,302 +3657,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Hodnoty - - - + + + Simple Jednoduchý - + Maître Nadřízený - + Esclave Podřízený - + Renvoi de folio suivant Odkaz na následující list - + Renvoi de folio précédent Odkaz na předchozí list - + Bornier Svorkovnice - + Vignette Stručný popis - + Définition de conducteur - - + + Normalement ouvert Přepínač normálně otevřený - - + + Normalement fermé Přepínač normálně zavřený - - + + Inverseur Přepínač - + Other Jiné - + Esclave PLC - - + + Puissance Příkon - - + + Temporisé travail Zpoždění při zapnutí - - + + Temporisé repos Zpoždění při vypnutí - - + + Temporisé travail & repos Zpoždění při zapnutí a při vypnutí - + Bobine Cívka - + Organe de protection Ochrana - + Commutateur / bouton Přepínač/Tlačítko - + Module PLC - - + + Générique Obecný - + Fusible Pojistka - + Séctionnable Oddílový - + Diode Dioda - + Phase Fáze - + Neutre Nulový - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Poznámka - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Země @@ -3331,7 +3966,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Prvek @@ -3468,249 +4103,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Přesunout výběr nahoru - + Ajouter la sélection Přidat výběr - + Supprimer la sélection Smazat výběr - + Descendre la sélection Přesunout výběr dolů - + Pas de filtre Žádný filtr - + N'est pas vide Není prázdný - + Est vide Je prázdný - + Contient Obsahuje - + Ne contient pas Neobsahuje - + Est égal à Rovná se - + N'est pas égale à Nerovná se - + Filtre : Filtr: - + Type d'éléments Typ prvků - + Simples Jednoduchý - + Tous Vše - + Vignettes Stručné popisy - + Contacteurs et relais Stykače a relé - + Boutons et commutateurs Tlačítka a přepínače - + Borniers Svorkovnice - + Organes de protection Ochranná zařízení - + Automates (MAE/SPS) - + Configuration Nastavení - + Ouvrir la configuration sélectionné Otevřít vybrané nastavení - + Sauvegarder la configuration actuelle Uložit nynější nastavení - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Vlastní dotaz SQL - + Requête SQL : Dotaz SQL: - + Position Poloha - + Titre du folio Název listu - + Position du folio Poloha listu - + Numéro du folio Číslo listu - - + + Exporter Vyvést - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Chyba - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3718,28 +4353,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Přesunout primitivu - + Éditer les informations sur l'auteur window title Upravit údaje o autorovi - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Toto pole můžete použít volně, abyste zmínil autory prvku, jeho licenci, nebo jakékoli další sdělení, které byste považoval za užitečné. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Název prvku můžete zadat v několika jazycích. - + Éditer les noms window title Upravit názvy @@ -3748,101 +4383,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Pro skupinu můžete zadat název na jazyk. - + Nom interne : Vnitřní název: - + L'item n'est pas une catégorie message box title Položka není skupinou - + L'item demandé n'est pas une categrie. Abandon. message box content Požadovaná položka není skupinou. Zrušit. - + Catégorie inexistante message box title Neexistující skupina - + La catégorie demandée n'existe pas. Abandon. message box content Požadovaná skupina neexistuje. Konec. - + Éditer une catégorie window title Upravit skupinu - + Créer une nouvelle catégorie window title Přidat novou skupinu - + Nom de la nouvelle catégorie default name when creating a new category Název nové skupiny - + Édition en lecture seule message box title Vydání pouze pro čtení - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nemáte potřebná oprávnění, abyste mohl upravit tuto skupinu. Bude tedy otevřena pouze pro čtení. - + Nom interne manquant message box title Chybí vnitřní název - + Vous devez spécifier un nom interne. message box content Musíte určit vnitřní název. - + Nom interne déjà utilisé message box title Vnitřní název se již používá - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Vnitřní název, který jste zvolil, se již používá jinou skupinou. Vyberte, prosím, jiný. - + Erreur message box title Chyba - + Impossible de créer la catégorie message box content Skupinu nelze vytvořit @@ -3851,98 +4486,98 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Otevřít příslušnou složku - + Éditer l'élément Upravit prvek - + Supprimer l'élément Smazat prvek - + Supprimer le dossier Smazat složku - + Recharger les collections Nahrát sbírky znovu - + Éditer le dossier Upravit složku - + Nouveau dossier Nová složka - + Nouvel élément Nový prvek - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Ukázat jen tuto složku - + Afficher tous les dossiers Ukázat všechny složky - + Propriété du dossier Vlastnosti složky - + Supprimer l'élément ? message box title Smazat prvek? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content Jste si jistý, že chcete smazat tento prvek? - + Suppression de l'élément message box title Smazání prvku - + La suppression de l'élément a échoué. message box content Prvek se nepodařilo smazat. - + Supprimer le dossier? message box title Smazat složku? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3950,24 +4585,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Smazání složky - + La suppression du dossier a échoué. message box content Složku se nepodařilo smazat. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3983,43 +4618,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Složka %1 obsahuje - + %n élément(s), répartie(s) %n prvek, část @@ -4028,7 +4663,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). v %n složce. @@ -4037,32 +4672,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Cesta ke sbírce: %1 - + Chemin dans le système de fichiers : %1 Cesta v souborovém systému: %1 - + Rechercher... - + Collections Sbírky - + Modèles - + Propriété du dossier %1 Vlastnosti složky %1 @@ -4132,124 +4767,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Otevřít základní adresář - + Copier le chemin Kopírovat cestu - + Basculer vers ce projet Zapnout tento projekt - + Éditer ce modèle Upravit tento vzor - + Supprimer ce modèle Smazat tento vzor - + Fermer ce projet Zavřít tento projekt - + Propriétés du projet Vlastnosti projektu - + Propriétés du folio Vlastnosti listu - + Ajouter un folio Přidat list - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Smazat list - + Remonter ce folio Posunout list nahoru - + Abaisser ce folio Posunout list dolů - + Remonter ce folio x10 Posunout list nahoru x10 - + Remonter ce folio x100 Posunout list nahoru x100 - + Remonter ce folio au debut Posunout list na začátek - + Abaisser ce folio x10 Posunout list dolů x10 - + Abaisser ce folio x100 Posunout list dolů x100 - + Nouveau modèle Nový vzor - - + + Panneau des éléments - + Filtrer Filtrovat @@ -4295,7 +4930,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Vyvedení @@ -4304,101 +4939,101 @@ En important ce fichier, vous confirmez que : ExportDialog - + Aperçu Náhled - + Dimensions Velikost - + Impossible d'écrire dans ce fichier message box title Do tohoto souboru nelze zapisovat - + Exporter Vyvést - + Nom de fichier Název pro soubor - - + + px px - + Noms des fichiers cibles message box title Názvy cílových souborů - + Exporter les folios du projet window title Vyvést listy projektu - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Vyberte listy, které si přejete vyvést a určete jejich rozměry: - + Tout cocher Zatrhnout vše - + Tout décocher Zrušit zatrhnutí u všeho - + Titre du folio Název listu - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Musíte zadat ne-prázdný, jedinečný název souboru pro každý list k vyvedení. - + Dossier non spécifié message box title Není určen adresář - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Musíte určit cestu k adresáři, do kterého budou uloženy soubory obrázků. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Zdá se, že nemáte nutná oprávnění pro zápis souboru %1. @@ -4682,63 +5317,73 @@ textu a čísel. Použít přesunutí - - + + Générique Obecný - + Fusible Pojistka - + Sectionnable Oddílový - + Diode Dioda - + Terre Země - + Phase Fáze - + Neutre Nulový - + Sans Bez - + Avec S - + Modifier des propriétés de borniers Upravit vlastnosti svorkovnic - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4746,27 +5391,27 @@ textu a čísel. FreeTerminalModel - + Label Štítek - + Référence croisé Křížový odkaz - + Type Typ - + Fonction Funkce - + led led @@ -4784,47 +5429,48 @@ textu a čísel. Používat systémové barvy - + Chemin de la collection utilisateur Cesta k vlastní sbírce - + Chemin des cartouches utilisateur Cesta k vlastním záhlavím výkresů - + Chemin de la collection commune Cesta ke společné sbírce - - - - - - + + + + + + Par defaut Výchozí nastavení - - - - - - + + + + + + + Parcourir... Procházet... - + (Recharger les collections d'éléments pour appliquer les changements) Aby se změny použily je třeba sbírky prvků nahrát znovu - + Projets Projekty @@ -4834,41 +5480,41 @@ textu a čísel. Používat posunky pro dotykovou plochu - + Utiliser les numéros de folio à la place de leur position dans le projet Použít čísla listů místo jejich polohy v projektu - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Číslovat sloupce záhlaví výkresu od 0 (jinak 1) - + Désactivé Zakázáno - + min minute min - + Mettre en valeur dans le panel les éléments fraîchement intégrés Zvýraznit v panelu čerstvě začleněné prvky - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Prvky mohou zahrnout údaje o jejich autorech, licenci, nebo veškeré další užitečné informace, které shledáte prospěšnými. Stanovte výchozí hodnotu textového pole pro nové prvky níže: - + Appliqué au prochain lancement de QElectroTech Použito při příštím spuštění QElectroTechu @@ -4878,62 +5524,62 @@ Stanovte výchozí hodnotu textového pole pro nové prvky níže: Formulář - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatické zálohování projektů (použito při příštím spuštění programu QElectroTech) - + Collections Sbírky - + Accès aux collections Přístup ke sbírkám - + Répertoire de la collection commune Adresář se společnou sbírkou - + Répertoire de la collection utilisateur Adresář s vlastní sbírkou - + Répertoire des cartouches utilisateur Adresář s vlastními záhlavími výkresů - + Gestion des éléments Správa prvků - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Zde můžete stanovit výchozí vzhled různých textů v QElectroTechu - + Grille + Clavier Mřížka a klávesnice - + Grille : 1 - 30 Mřížka: 1 - 30 - + DiagramEditor xGrid Souřadnice x mřížky editoru výkresu - + DiagramEditor yGrid Souřadnice y mřížky editoru výkresu @@ -4948,218 +5594,333 @@ Stanovte výchozí hodnotu textového pole pro nové prvky níže: - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Použít &okna (použije se při příštím spuštění QElectroTechu) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Použít &karty (použije se při příštím spuštění QElectroTechu) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Způsob změny velikosti obrazovky s vysokou hustotou pixelů (HDPI) (použije se při příštím spuštění QElectroTechu): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Adresář s podnikovou sbírkou - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Adresář s podnikovými záhlavími výkresů - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Jazyky - + Textes Texty - + Textes d'éléments Texty prvků - - - + + + Police : Písmo: - - + + ° ° - + Longueur : Délka: - - + + Rotation : Otočení: - + Textes indépendants Nezávislé texty - + Autres textes Jiné texty - + La Grille doite etre active pour pouvoir voir les modifications. Aby byly změny vidět, mřížka musí být zapnuta. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Posunutí předmětu v mřížce pomocí klávesnice: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Posun v mřížce editoru výkresu, souřadnice x: klávesa šipky vlevo/vpravo - + DiagramEditor (touche : haut / bas) yGrid Posun v mřížce editoru výkresu, souřadnice y: klávesa šipky nahoru/dolů - + Déplacement au clavier avec la touche ALT : 1 - 9 Posunutí předmětu v mřížce pomocí klávesnice při stisknutí klávesy Alt: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Posun v mřížce editoru výkresu, souřadnice x: klávesa šipky vlevo/vpravo - + DiagramEditor (touche : haut / bas) yGrid Posun v mřížce editoru výkresu, souřadnice y: klávesa šipky nahoru/dolů - + Affichage Grille Zobrazit mřížku - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Velikost bodu v editoru diagramů: 1–5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Velikost bodu v editoru prvků: 1–5 - + Editor Editor - + Max. parts in Element Editor List Největší počet dílů v seznamu editoru prvků - + Ne pas conserver les labels des éléments lors des copier coller Neukládat štítky položek při kopírovat-vložit @@ -5169,218 +5930,316 @@ Stanovte výchozí hodnotu textového pole pro nové prvky níže: Povolit zrušení zvětšení mimo list - + Arrondi supérieur pour 0.5 et plus Zaokrouhlení nahoru pro 0,5 a více - + Toujours arrondi supérieur Vždy zaokrouhlení nahoru - + Toujours arrondi inférieur Vždy zaokrouhlení dolů - + Arrondi supérieur pour 0.75 et plus Zaokrouhlení nahoru pro 0,75 a více - + Pas d'arrondi Bez zaokrouhlení - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Obecné - + Système Systém - + Arabe Arabština - + Brézilien Brazilština - + Catalan Katalánština - + Tchèque Čeština - + Allemand Němčina - + Danois Dánština - + Grec Řečtina - + Anglais Angličtina - + Espagnol Španělština - + Français Francouzština - + Croate Chorvatština - + Italien Italština - + Japonais Japonština - + Coréen - + Polonais Polština - + Portugais Portugalština - + Roumains Rumunština - + Russe Ruština - + Slovène Slovinština - + Pays-Bas Nizozemština - + Norvege Norština - + Belgique-Flemish Belgičtina vlámština - + Turc Turečtina - + Hongrois Maďarština - + Mongol Mongolština - + Ukrainien Ukrajinština - + Chinois Čínština - + Suédois Švédština - + Chemin de la collection company Cesta k podnikové sbírce - + Chemin des cartouches company Cesta k podnikovým záhlavím výkresů - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Soubory csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Příliš vysoké hodnoty mohou způsobit pád aplikace. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5435,7 +6294,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Toto je vzor záhlaví výkresů, který lze použít v listu. - + %1 [non utilisé dans le projet] %1 [v projektu nepoužívaný] @@ -5765,42 +6624,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Náhled - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6017,28 +6876,28 @@ Na toto , prosím, použijte pokročilý editor. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6281,6 +7140,97 @@ Na toto , prosím, použijte pokročilý editor. Odpojit + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6322,7 +7272,7 @@ Na toto , prosím, použijte pokročilý editor. <html><head/><body><p>Odpojit vybraný prvek</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Připojit vybraný prvek</p></body></html> @@ -6432,7 +7382,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6442,6 +7392,158 @@ Voulez-vous tout de même lier ce contact esclave ? Křížový odkaz (nadřízený) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Zpět + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Zpět + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6491,10 +7593,15 @@ Voulez-vous tout de même lier ce contact esclave ? Automatické číslování vodičů - + Multi-collage Vícenásobné vložení + + + Numéroter les éléments collés + + NameListDialog @@ -6504,7 +7611,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialog - + Variables de cartouche Proměnné záhlaví výkresu @@ -6532,7 +7639,7 @@ Voulez-vous tout de même lier ce contact esclave ? Přidat řádek - + Copier dans le presse papier Kopírovat do schránky @@ -6591,13 +7698,13 @@ Voulez-vous tout de même lier ce contact esclave ? číslování - + Nouveau folio configuration page title Nový list - + Nouveau projet configuration page title Nový projekt @@ -6872,13 +7979,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamické textové pole - + Déplacer un champ texte Přesunout textové pole @@ -6938,25 +8045,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Přesunout text - + Modifier un champ texte Upravit textové pole + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6965,32 +8091,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7096,12 +8222,12 @@ Voulez-vous tout de même lier ce contact esclave ? Uzavřený mnohoúhelník - + Ajouter un point Přidat bod - + Supprimer ce point Smazat tento bod @@ -7154,26 +8280,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Vyberte, prosím, vlastnosti, které se mají použít na nový potenciál. - - - + + + Fonction : %1 Funkce: %1 - - - + + + Tension/protocole : %1 Napětí/Protokol: %1 - - + + %n conducteurs composent le potentiel suivant : %n vodič vytváří následující napětí: @@ -7182,57 +8308,57 @@ Napětí/Protokol: %1 - - - + + + Numéro : %1 Číslo: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Vyberte, prosím, v seznamu elektrický potenciál, aby se použil pro nový potenciál - - - + + + Couleur du conducteur : %1 Barva vodiče: %1 - - - + + + Section du conducteur : %1 Úsek vodiče: %1 - + Ajouter au câble: %1 Přidat ke kabelu: %1 - + Ajouter au bus: %1 Přidat ke sběrnici: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Upravit vlastnosti více vodičů - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7243,10 +8369,108 @@ Následující proměnné jsou neslučitelné: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + Smazat + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Tisk @@ -7255,156 +8479,366 @@ Následující proměnné jsou neslučitelné: ProjectAutoNumConfigPage - + Numérotation auto Automatické číslování - + Management Správa - - + + Conducteurs Vodiče - - - Eléments - Prvky - - - - - Folios - Listy - - - - Numérotation auto des folios - Automatické číslování listů - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Název + + + + Folio + List + + + + Élément + Prvek + + + + Figé - - - - - - - - Sans nom - Bez názvu + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Prvky + + + + + Folios + Listy + + + + Numérotation auto des folios + Automatické číslování listů + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + Smazat číslování + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Sans nom + Bez názvu + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Projekt QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Název nového číslování + Název nového číslování ProjectDBModel - + Position Poloha - + Position du folio Poloha listu @@ -7427,50 +8861,134 @@ Následující proměnné jsou neslučitelné: ProjectMainConfigPage - + Général configuration page title Obecné - + Titre du projet : label when configuring Název projektu: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Tento název bude dostupný pro všechny listy projektu jako %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Níže můžete stanovit vlastní vlastnosti, jež budou dostupné pro všechny listy projektu (typicky pro užití v záhlavích výkresů). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7514,137 +9032,137 @@ Následující proměnné jsou neslučitelné: K datu: - + Option de rendu Volba vykreslení - + Dessiner le cadre Kreslit okraj - + Dessiner le cartouche Kreslit záhlaví výkresu - + Conserver les couleurs des conducteurs Zachovat barvy vodičů - + Dessiner les bornes Kreslit svorky - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Volba tisku - + Adapter le folio à la page Přizpůsobit list straně - + Utiliser toute la feuille Použít celou stranu - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Pokud je zaškrtnuta tato volba, list bude zvětšen nebo zmenšen, aby zaplnil tisknutelnou plochu jedné a pouze jedné strany." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Je-li zaškrtnuta tato volba, nebude brán zřetel na okraje papíru a celý jeho povrch se využije při tisku. Tuto možnost vaše tiskárna nemusí podporovat. - + toolBar Pruh s nástroji - + Ajuster la largeur Přizpůsobit šířku - + Ajuster la page Přizpůsobit stranu - + Zoom arrière Oddálit - + Zoom avant Přiblížit - + Paysage Na šířku - + Portrait Na výšku - + Première page První strana - + Page précédente Předchozí strana - + Page suivante Další strana - + Dernière page Poslední strana - + Afficher une seule page Zobrazit jednu stranu - + Afficher deux pages Zobrazit dvě strany - + Afficher un aperçu de toutes les pages Zobrazit náhled na všechny strany - + mise en page Rozvržení strany @@ -7822,160 +9340,208 @@ Chcete uložit změny? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR Zleva doprava - + Cartouches QET title of the title block templates collection provided by QElectroTech Záhlaví výkresů QET - + Cartouches company title of the company's title block templates collection Podniková záhlaví výkresu - + Cartouches utilisateur title of the user's title block templates collection Vlastní záhlaví výkresů - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Chyba + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Ukončit - + &Masquer &Skrýt - + &Restaurer &Ukázat - + &Masquer tous les éditeurs de schéma &Skrýt všechny editory výkresů - + &Restaurer tous les éditeurs de schéma &Ukázat všechny editory výkresů - + &Masquer tous les éditeurs d'élément &Skrýt všechny editory prvků - + &Restaurer tous les éditeurs d'élément &Ukázat všechny editory prvků - + &Masquer tous les éditeurs de cartouche systray submenu entry &Skrýt všechny editory záhlaví výkresu - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Ukázat všechny editory záhlaví výkresu - + &Nouvel éditeur de schéma &Nový editor výkresu - + &Nouvel éditeur d'élément &Nový editor prvku - + Ferme l'application QElectroTech Uzavřít QElectroTech - + Réduire QElectroTech dans le systray Zmenší QElectroTech do systémové oblasti panelu - + Restaurer QElectroTech Ukázat QElectroTech - + Éditeurs de schémas Editory výkresů - + Éditeurs d'élément Editory prvků - + Éditeurs de cartouche systray menu entry Editory záhlaví výkresu - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Byl nalezen následující obnovovací soubor,<br>Chcete jej otevřít?</b><br> + <b>Byl nalezen následující obnovovací soubor,<br>Chcete jej otevřít?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Byly nalezeny následující obnovovací soubory,<br>Chcete je otevřít?</b><br> + <b>Byly nalezeny následující obnovovací soubory,<br>Chcete je otevřít?</b><br> - Fichier de restauration - Obnovovací soubor + Obnovovací soubor - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Použití: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7992,7 +9558,7 @@ Dostupné volby: - + [options] [fichier]... @@ -8001,113 +9567,113 @@ Dostupné volby: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Stanovit adresář pro sbírku s prvky - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Stanovit adresář pro sbírku se vzory záhlaví výkresů - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Stanovit adresář s nastavením - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Stanovit adresář s daty - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Stanovit adresář s jazykovými soubory - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Nahrává se... Spouští se vyrovnávací paměť sbírky s prvky - + Chargement... Éditeur de schéma splash screen caption Nahrává se... Editor listů - + Chargement... Ouverture des fichiers splash screen caption Nahrává se... Otevření souborů - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Výkres - + Electrique Normal example text - translate length, not meaning Elektrický - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Nastavení QElectroTechu - + Chargement... splash screen caption Nahrává se... - + Chargement... icône du systray splash screen caption Nahrává se... Ikona v systémové oblasti panelu - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8116,102 +9682,103 @@ Dostupné volby: QETDiagramEditor - + Afficha&ge Po&hled - + Affiche ou non le panel d'appareils Zobrazit/Nezobrazit panel s prvky - + Ajouter une colonne Přidat sloupec - + &Cascade &Překrývat - + C&oller &Vložit - + Cop&ier &Kopírovat - + Co&uper &Vyjmout - + Désélectionner tout Zrušit výběr - + &Édition Úp&ravy - + Enlever une colonne Odstranit sloupec - + &Enregistrer &Uložit - + Enregistrer sous Uložit jako - + E&xporter &Vyvést - + Fe&nêtres &Okna - + + &Fermer &Zavřít - + &Fichier &Soubor - + Imprimer Tisk - + Inverser la sélection Obrátit výběr - + Mode Selection Výběrový režim - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Tento panel uvádí různé změny použité na nynější list. Klepnutí na změnu dovolí vrácení listu do stavu hned po jejím použití. @@ -8227,984 +9794,1208 @@ Dostupné volby: Zobrazí barvu pozadí listu bílé nebo šedé - + Afficher la grille Zobrazit mřížku - + Affiche ou masque la grille des folios Zobrazit/Skrýt mřížku listů - + Propriétés du folio Vlastnosti listu - + Ajouter un folio Přidat list - - - + + + Supprimer le folio Smazat list - + Mode Visualisation Pohledový režim - + &Mosaïque Klást &vedle sebe - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf Vyvést do PDF - + Exporte un ou plusieurs folios du projet courant status bar tip Vyvést jeden nebo několik listů nynějšího projektu - + Afficher les guides - + Affiche ou masque les guides - + Exporter au format CSV Vyvést do formátu CSV - + Gestionnaire de borniers (DEV) Správce svorkovnic (DEV) - + Lancer le plugin de création de borniers Spustit přídavný modul na vytváření svorkovnic - + Exporter la liste des noms de conducteurs Vyvést seznam názvů vodičů - + Exporter le plan de câblage - + Numérotation automatique des bornes - + Exporter la base de donnée interne du projet Vyvést vnitřní projektovou databázi - + &Nouveau &Nový - + Crée un nouveau projet status bar tip Vytvořit nový projekt - + Ouvre un projet existant status bar tip Otevřít stávající projekt - + Ferme le projet courant status bar tip Zavřít nynější projekt - + Enregistre le projet courant et tous ses folios status bar tip Uloží nynější projekt a všechny jeho listy - + Enregistre le projet courant avec un autre nom de fichier status bar tip Uloží nynější projekt pod jiným souborovým názvem - + Ajouter une ligne Add row Přidat řádek - + Enlever une ligne Remove row Odstranit řádek - + Ajoute une colonne au folio status bar tip Přidat do listu sloupec - + Enlève une colonne au folio status bar tip Odstranit z listu sloupec - + Agrandit le folio en hauteur status bar tip Zvětšit výšku listu - + Rétrécit le folio en hauteur status bar tip Zmenšit výšku listu - + Enlève les éléments sélectionnés du folio status bar tip Odstraní vybrané prvky z listu - + Sélectionne tous les éléments du folio status bar tip Vybere všechny prvky na listu - + Désélectionne tous les éléments du folio status bar tip Zruší výběr všech prvků na listu - + Agrandit le folio status bar tip Zvětší list - + Rétrécit le folio status bar tip Zmenší list - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Přizpůsobí zvětšení tak, že je zobrazován obsah bez ohledu na rámec - + Adapte le zoom exactement sur le cadre du folio status bar tip Upraví zvětšení tak, že je zobrazena přesně určitá část listu - + Ajouter une ligne Draw line Přidat čáru - + Ajouter un rectangle Přidat obdélník - + Ajouter une ellipse Přidat elipsu - + Ajouter une polyligne Přidat mnohoúhelník - + Exporte le folio courant dans un autre format status bar tip Vyvede nynější list do jiného formátu - + Imprime un ou plusieurs folios du projet courant status bar tip Vytiskne jeden nebo více listů nynějšího projektu - + Profondeur toolbar title Hloubka - + Groupe Skupina - + Place les éléments du presse-papier sur le folio status bar tip Vloží prvky ze schránky do listu - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Upraví vlastnosti listu (rozměry, údaje v záhlaví výkresu, vlastnosti vodičů...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Dovolí zobrazení listu, aniž by jej bylo možné upravovat - + Outils Nástroje - + &Ouvrir &Otevřít - + Ouvrir un fichier Otevřít soubor - + Pas de zoom Obnovit výchozí zvětšení - + Pivoter Otočit - + &Quitter &Ukončit - + Supprimer Smazat - + Tout sélectionner Vybrat vše - + Zoom adapté Přizpůsobit přiblížení - + Zoom arrière Oddálit - + Zoom avant Přiblížit - + Annuler Zpět - + Refaire Znovu - + Réinitialiser les conducteurs Obnovit výchozí vodiče - + Affiche ou non la barre d'outils principale Zobrazit/Skrýt hlavní pruh s nástroji - + Affiche ou non la barre d'outils Affichage Zobrazit/Skrýt pruh s nástroji pro zobrazení - + Affiche ou non la barre d'outils Schéma Zobrazit/Skrýt pruh s nástroji pro výkres - + Affichage Zobrazení - + Schéma Výkres - + Ajouter un champ de texte Přidat textové pole - + Aucune modification Žádná úprava - + Affiche ou non la liste des modifications Zobrazit/Skrýt seznam kroků zpět - + Éditer l'item sélectionné Upravit vybranou položku - + Grouper les textes sélectionnés Seskupit vybrané texty - + Pivote les éléments et textes sélectionnés status bar tip Otáčí vybrané prvky a texty - + Pivote les textes sélectionnés à un angle précis status bar tip Otáčí vybrané texty v přesném úhlu - + Chercher/remplacer Hledat/Nahradit - + &Projet &Projekt - + &Récemment ouverts &Nedávno otevřené - - + + Projet %1 enregistré dans le repertoire: %2. Projekt 1% uložený v adresáři: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Nezdá se, že by byl soubor, který se pokoušíte otevřít, čitelný. A nelze jej otevřít. Zkontrolujte, prosím, oprávnění k souboru. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Zdá se, že projekt, který se pokoušíte otevřít, není zapisovatelný. Bude tedy otevřen pouze pro čtení. - + en utilisant des onglets Používat karty - + en utilisant des fenêtres Používat okna - + Afficher les projets Zobrazení projektů - + Propriétés du projet Vlastnosti projektu - + Nettoyer le projet Vyčistit projekt - - + + Échec de l'ouverture du projet message box title Projekt nelze otevřít - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Zdá se, že soubor %1 není souborem projektu QElectroTech. Nemůže být tedy otevřen. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Zpět - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klepněte na některý z kroků pro návrat zpět ve změnách udělaných ve vašem výkresu - + Orienter les textes Natočit texty - + Retrouver dans le panel Najít v panelu - + Ajouter une image Přidat obrázek - + Ajouter un sommaire Přidat souhrn - + Zoom sur le contenu Přiblížit obsah - + Ferme l'application QElectroTech status bar tip Zavře aplikaci QElectroTech - + Annule l'action précédente status bar tip Vrátí předchozí krok zpět - + Restaure l'action annulée status bar tip Znovu zavede krok vrácený zpět - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Přenese vybrané prvky do schránky - + Copie les éléments sélectionnés dans le presse-papier status bar tip Zkopíruje vybrané prvky do schránky - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Zruší výběr vybraných prvků a vybere nevybrané prvky - + Retrouve l'élément sélectionné dans le panel status bar tip Najde prvek vybraný v panelu - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Nastaví znovu cesty vodičů bez ohledu na uživatelem provedené změny - + Création automatique de conducteur(s) Tool tip of auto conductor Automatické vytvoření vodiče(ů) - + Projets dock title Projekty - + Collections Sbírky - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Použít automatické vytvoření vodiče(ů), když je to možné - + Restaure le zoom par défaut status bar tip Obnoví výchozí úroveň přiblížení - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Ukáže různé otevřené projekty v podoknech - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + Zobrazení + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Křížové odkazy + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature Přidat seznam součástí - + Liste de câblage (base de données) - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip Ukáže různé otevřené projekty v kartách - + Permet de sélectionner les éléments status bar tip Dovolí výběr prvků - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Přidat plán svorek - + Ajoute un champ de texte sur le folio actuel Přidat textové pole do nynějšího listu - + Ajoute une image sur le folio actuel Přidat obrázek do nynějšího listu - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Přidat čáru do nynějšího listu - + Ajoute un rectangle sur le folio actuel Přidat obdélník do nynějšího listu - + Ajoute une ellipse sur le folio actuel Přidat elipsu do nynějšího listu - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Přidat lomenou čáru do nynějšího listu - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Přidat plán svorek do nynějšího listu - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter Přidání - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Projekty QElectroTech (*.qet);;Soubory XML (*.xml);;Všechny soubory (*) - - + + Impossible d'ouvrir le fichier message box title Soubor nelze otevřít - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Zdá se, že soubor %1, který se pokoušíte otevřít, už neexistuje. - + Ouverture du projet en lecture seule message box title Otevření souboru pouze pro čtení - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9214,7 +11005,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9224,25 +11015,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9250,12 +11044,51 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + + %n objet(s) remis sur la grille + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9264,100 +11097,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Upravit prvek - + Éditer le champ de texte edit text field Upravit textové pole - + Éditer l'image edit image Upravit obrázek - + Éditer le conducteur edit conductor Upravit vodič - + Éditer l'objet sélectionné edit selected item Upravit vybraný předmět - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Během otevírání souboru %1 se vyskytla chyba. - + Active le projet « %1 » Spustí projekt « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Chyba - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9366,7 +11199,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9375,7 +11208,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9384,18 +11217,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9404,46 +11237,147 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 - + Dispose les fenêtres en mosaïque status bar tip Uspořádá okna tím způsobem, že je položí vedle sebe - + Dispose les fenêtres en cascade status bar tip Uspořádá okna tím způsobem, že je položí v kaskádě pod sebe - + Projet suivant Další projekt - + Projet précédent Předchozí projekt - + Active le projet suivant status bar tip Spustí další projekt - + Active le projet précédent status bar tip Spustí předchozí projekt @@ -9452,27 +11386,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Nový - + &Ouvrir &Otevřít - + &Enregistrer &Uložit - + Enregistrer sous Uložit jako - + Tout sélectionner Vybrat vše @@ -9482,337 +11416,337 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Editor prvků - + &Aide &Nápověda - + Annulations Zpět - + Parties Části - + Informations Informace - + Outils Nástroje - + Affichage Pohled - + Élément Prvek - + Annulation Zrušení - + Exporter en SVG - + &Fermer cet éditeur &Zavřít tento editor - + Fermer cet éditeur Zavřít tento editor - + Désélectionner tout Zrušit výběr - + C&oller dans la zone &Vložit do oblasti - + Un fichier Soubor - + Un élément Prvek - + Inverser la sélection Obrátit výběr - + &Supprimer &Smazat - + À &propos de QElectroTech &O QElectroTechu - + Affiche des informations sur QElectroTech Zobrazí informace o QElectroTechu - + Manuel en ligne Příručka na internetu - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Spustí výchozí prohlížeč a zobrazí příručku k QElectroTechu na internetu - + Chaine Youtube Kanál na YouTube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Spustí výchozí prohlížeč a zobrazí kanál na YouTube věnovaný QElectroTechu - + Soutenir le projet par un don Podpora projektu darem - + Soutenir le projet QElectroTech par un don Podpořit projekt QElectroTech darem - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt Zobrazí informace o knihovně Qt - + Rotation Otočení - + Fine-Rotation Jemné otáčení - + Mirror Zrcadlit - + Flip Převrátit - + Importer un dxf Zavést DXF - + importer un élément à redimensionner Zavést prvek pro změnu velikosti - + Ajouter une ligne Přidat čáru - + Ajouter une ellipse Přidat elipsu - + Ajouter un polygone Přidat mnohoúhelník - + Ajouter du texte Přidat text - + Ajouter un arc de cercle Přidat oblouk kruhu - + Ajouter une borne Přidat svorku - + Annuler Zpět - + Refaire Znovu - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>V nepřítomnosti svorky může být prvek spojen s jinými prvky prostřednictvím vodičů. - + Aucune modification Žádná úprava - + Recharger Nahrát znovu - + Zoom avant Přiblížit - + Zoom arrière Oddálit - + Zoom adapté Přizpůsobit přiblížení - + Pas de zoom Obnovit výchozí zvětšení - + &Ouvrir depuis un fichier &Otevřít ze souboru - + Enregistrer dans un fichier Uložit do souboru - + Éditer les informations sur l'auteur Upravit údaje o autorovi - + Parties toolbar title Části - + Profondeur toolbar title Hloubka - + Éditer le nom et les traductions de l'élément Upravit název a informace o prvku - + Éditer les propriétés de l'élément Upravit vlastnosti prvku - + Ajouter un champ texte dynamique Přidat dynamické textové pole - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dvakrát klepnout pro dokončení tvaru, klepnutí pravým tlačítkem myši pro zrušení posledního bodu - + &Fichier &Soubor - + &Édition Úp&ravy - + Afficha&ge Po&hled - + Coller depuis... Vložit z... - + [Modifié] window title tag [Změněno] - + [lecture seule] window title tag [Pouze pro čtení] - + Éditeur d'éléments status bar message Editor prvků - - + + %n partie(s) sélectionnée(s). jedna vybraná část. @@ -9821,24 +11755,24 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Chybí svorka - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br> <b>Chyba</b > :<br>Odkazy na listy musí mít jednoduchou svorku.<br><b>Řešení</b> :<br> Ověřte, že prvek má jen jednu svorku - + La vérification de cet élément a généré message box content Ověření tohoto prvku vytvořilo - + %n erreur(s) errors @@ -9848,32 +11782,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et a - + Erreurs Chyby - + Absence de borne Chybí svorka - + Ajouter un texte d'élément non éditable dans les schémas Přidat neupravitelný text prvku do výkresů - + Ajouter un texte d'élément pouvant être édité dans les schémas Přidat upravitelný text prvku do výkresů - + %n avertissement(s) warnings @@ -9883,293 +11817,350 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Le fichier %1 n'existe pas. message box content Soubor %1 neexistuje. - + Afficher menu entry Zobrazení - - + + Impossible d'ouvrir le fichier %1. message box content Soubor nelze otevřít %1. - - + + Ce fichier n'est pas un document XML valide message box content Tento soubor není platným dokumentem XML - - + + Erreur toolbar title Chyba - - + + Édition en lecture seule message box title Vydání pouze pro čtení - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nemáte potřebná oprávnění, abyste mohl upravit tento prvek. Bude tedy otevřen pouze pro čtení. - - + + Erreur message box title Chyba - + Impossible d'écrire dans ce fichier message box content Do tohoto souboru nelze zapisovat - + Impossible d'enregistrer l'élément message box content Prvek nelze uložit - + Trop de primitives, liste non générée: %1 Příliš mnoho primitiv, seznam nebyl vytvořen: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Šířka + + + + Hauteur + Výška + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement Varování - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Zavedení velkého souboru DXF může trvat dlouho. Při zavádění, prosím, vyčkejte... - + Importer un élément à redimensionner Zavést prvek pro změnu velikosti - + Éléments QElectroTech (*.elmt) Prvky QElectroTech (*.elmt) - + Impossible d'ouvrir le fichier message box title Soubor nelze otevřít - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Zdá se, že soubor %1, který se pokoušíte otevřít, už neexistuje. - - - + + + Echec de l'enregistrement Registrace se nezdařila - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Registrace se nezdařila, podmínky nejsou platné - + Ouvrir un fichier dialog title Otevřít soubor - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Prvky QElectroTech (*.elmt);;Soubory XML (*.xml);;Všechny soubory (*) - + Recharger l'élément dialog title Nahrát znovu prvek - + Avertissements Varování - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Tento prvek byl od posledního uložení změněn. Pokud jej znovu nahrajete, tyto změny budou ztraceny. Opravdu chcete tento prvek nahrát znovu? - + Enregistrer sous dialog title Uložit jako - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Prvky QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Uložit nynější prvek? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Chcete uložit prvek %1? - - - - + + + + Élément inexistant. message box title Neexistující prvek. - - + + L'élément n'existe pas. message box content Prvek neexistuje. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Vybraná virtuální cesta neodpovídá prvku. - + Co&uper &Vyjmout - + Cop&ier &Kopírovat - + C&oller &Vložit - + Ajouter un rectangle Přidat obdélník @@ -10177,137 +12168,172 @@ podmínky nejsou platné QETMainWindow - + &Configurer QElectroTech &Nastavení QElectroTechu - + Permet de régler différents paramètres de QElectroTech status bar tip Umožní pro QElectroTech stanovit různé parametry - + À &propos de QElectroTech &O QElectroTechu - + Affiche des informations sur QElectroTech status bar tip Zobrazí informace o QElectroTechu - + Manuel en ligne Příručka na internetu - + Chaine Youtube Kanál na YouTube - - + + Télécharger une nouvelle version (dev) Stáhnout novou verzi (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Spustit výchozí prohlížeč a zobrazit příručku k QElectroTechu na internetu - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général Obecné - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Spustit výchozí prohlížeč a zobrazit kanál na YouTube věnovaný QElectroTechu - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Spustit výchozí prohlížeč a zobrazit internetové úložiště (Nightly) s nočními sestaveními QElectroTechu - + Soutenir le projet par un don Podpora projektu darem - + Soutenir le projet QElectroTech par un don status bar tip Podpořit projekt QElectroTech darem - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Zobrazí informace o knihovně Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu N&astavení - + &Aide window menu &Nápověda - + Sortir du &mode plein écran Ukončit režim &na celou obrazovku - + Affiche QElectroTech en mode fenêtré status bar tip Zobrazí QElectroTech v okenním režimu - + Passer en &mode plein écran &Režim na celou obrazovku - + Affiche QElectroTech en mode plein écran status bar tip Zobrazí QElectroTech v režimu na celou obrazovku - + Afficher menu entry Zobrazení @@ -10316,58 +12342,58 @@ podmínky nejsou platné QETProject - + Avertissement message box title Varování - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Nepojmenovaný projekt - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [pouze pro čtení] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [změněno] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10375,13 +12401,13 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Během začleňování vzoru se vyskytla chyba. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10390,7 +12416,7 @@ Ta je novější než vaše verze! V současné době používáte QElectroTech ve verzi %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10399,32 +12425,32 @@ Pak je možné, že se otevření celého dokumentu nebo jeho části nezdaří. Co si přejete udělat ? - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Projekt, který se snažíte otevřít, je částečně kompatibilní s vaší verzí %1 programu QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Aby byl projekt plně kompatibilní, otevřete jej s verzí 0.8 nebo 0.80 programu QElectroTech, uložte jej a otevřete znovu s touto verzí. Co si přejete udělat? - + Avertissement message box title Varování - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Otevírá se projekt ...</b><br/>Vytváří se listy</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Otevírá se projekt ...</b><br/>Nastavují se křížové odkazy</p> @@ -10793,23 +12819,23 @@ Co si přejete udělat? QObject - + Exporter vers le presse-papier Vyvést do schránky - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Nepodařilo se najít text obsahující licenci GNU/GPL - nicméně, znáte ji srdcem, že ano? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Textový soubor obsahující licenci GNU/GPL existuje, ale nepodařilo se jej otevřít - nicméně, znáte ji srdcem, že ano? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Varování: prvek byl uložen se starší verzí QElectroTechu. @@ -10829,44 +12855,44 @@ Co si přejete udělat? Grafický prvek - + supprimer %1 undo caption - %1 is a sentence listing the removed content Smazat %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste Vložit %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut Vyjmout %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content Přesunout %1 - + modifier le texte undo caption Upravit text - + modifier un conducteur undo caption Upravit vodič - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Obnovit výchozí %1 @@ -10878,7 +12904,7 @@ Co si přejete udělat? Upravit záhlaví výkresu - + modifier les dimensions du folio undo caption Upravit rozměry listu @@ -11072,7 +13098,7 @@ Co si přejete udělat? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11082,7 +13108,7 @@ Co si přejete udělat? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11092,7 +13118,7 @@ Co si přejete udělat? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11102,7 +13128,7 @@ Co si přejete udělat? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11112,7 +13138,7 @@ Co si přejete udělat? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11122,7 +13148,7 @@ Co si přejete udělat? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11132,7 +13158,7 @@ Co si přejete udělat? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11142,7 +13168,7 @@ Co si přejete udělat? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11152,69 +13178,69 @@ Co si přejete udělat? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Nelze otevřít soubor %1 pro zápis, vrácena chyba %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Při zápisu souboru %1 se vyskytla chyba: %2. - + Amener au premier plan Dát úplně nahoru - + Rapprocher Dát nahoru - + Éloigner Dát dolů - + Envoyer au fond Dát úplně dolů - + Ramène la ou les sélections au premier plan Přenést výběr(y) do popředí - + Rapproche la ou les sélections Přiblížit výběr(y) - + Éloigne la ou les sélections Oddálit výběr(y) - + Envoie en arrière plan la ou les sélections Přenést výběr(y) do pozadí - - - - + + + + Profondeur Hloubka - + Borne tooltip Svorka @@ -11232,27 +13258,27 @@ Co si přejete udělat? Obdélník - + Folio sans titre List bez názvu - + schema Výkres - + Conserver les proportions Zachovat poměr stran - + Réinitialiser les dimensions Obnovit výchozí velikost - + Aperçu Náhled @@ -11409,6 +13435,7 @@ Co si přejete udělat? + Titre Název @@ -11491,6 +13518,7 @@ Co si přejete udělat? Text + Modifier les informations de l'élément : %1 Upravit údaje o prvku: %1 @@ -11579,32 +13607,32 @@ Co si přejete udělat? Číslo listu - + Collection QET Sbírka QET - + Collection Company Podniková sbírka - + Collection utilisateur Vlastní sbírka - + Macros - + Collection inconnue Neznámá sbírka - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11618,8 +13646,13 @@ Co si přejete udělat? Collection Sbírka + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11692,7 +13725,7 @@ Co si přejete udělat? %1 skupin textů - + %n texte(s) @@ -11701,13 +13734,13 @@ Co si přejete udělat? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Natočit vybrané texty @@ -11756,13 +13789,13 @@ Chcete je nahradit? Zavést nastavení textu: %1 - + %p% effectué (%v sur %m) %p% vykonáno (%v z %m) - - + + chargement %p% (%v sur %m) Nahrává se %p% (%v z %m) @@ -11772,22 +13805,22 @@ Chcete je nahradit? Hledat/Nahradit vlastnosti listu - + Chercher/remplacer les propriétés d'éléments. Hledat/Nahradit vlastnosti prvků. - + Chercher/remplacer les propriétés de conducteurs. Hledat/Nahradit vlastnosti vodičů. - + Rechercher / remplacer avancé Pokročilé hledání/nahrazování - + Chercher/remplacer des textes independants Hledat/Nahradit nezávislé texty @@ -11884,35 +13917,35 @@ Chcete je nahradit? - - - + + + Type Typ - - - + + + Adresse - - - + + + Commentaire Poznámka - - - + + + Réf. croisée @@ -11920,9 +13953,9 @@ Chcete je nahradit? - - - + + + Fonction Funkce @@ -12252,27 +14285,27 @@ Chcete je nahradit? Cesta k uloženému souboru - + Création de conducteurs Vytvoření vodičů - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Pro nainstalování přídavného modulu qet_tb_generator<br>navštivte :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>vyžaduje python 3.5 nebo novější.<br><B><U> Nejprve nainstalujte v OS Windows</B></U><br>1. V případě potřeby nainstalujte python 3.5 nebo novější<br> Navštivte:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Aktualizace na OS Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>uživatel tento skript může spustit v terminálu v tomto adresáři<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Pro nainstalování přídavného modulu qet_tb_generator<br>navštivte:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Nejprve nainstalujte v macOSX</B></U><br>1. V případě potřeby nainstalujte python 3.11 nebo novější<br> Navštivte:<br><a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Spusťte skript Profile.command<br><B><U> Aktualizujte na macOSX</B></U><br>pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Pro nainstalování přídavného modulu qet_tb_generator<br>navštivte :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>vyžaduje python 3.5 nebo novější.<br><B><U> Nejprve instalace v OS Linux</B></U><br>1. Ověřte, že máte nainstalován pip3: pip3 --version<br>Pokud ne, nainstalujte pomocí: sudo apt-get install python3-pip<br>2. Nainstalujte program: sudo pip3 install qet_tb_generator<br>3. Spusťte program: qet_tb_generator<br><br><B><U> Aktualizace v OS Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Chyba při spouštění přídavného modulu qet_tb_generator @@ -12292,15 +14325,15 @@ Chcete je nahradit? Vložit - - + + - - - - - - + + + + + + this is an error in the code Toto je chyba v kódu @@ -12501,12 +14534,12 @@ Chcete je nahradit? Změnit barvu propojení svorek - + Ouvrir un element Otevřít prvek - + Importer un fichier dxf Zavést soubor DXF @@ -12596,7 +14629,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Stáhněte si jej podle tohoto odkazu a rozbalte jej do instalační složky. - + Automatic terminal numbering @@ -12680,7 +14713,7 @@ Stáhněte si jej podle tohoto odkazu a rozbalte jej do instalační složky. - + %n groupe(s) de textes @@ -12690,8 +14723,8 @@ Stáhněte si jej podle tohoto odkazu a rozbalte jej do instalační složky. - - + + Déplacer %1 @@ -12828,7 +14861,7 @@ Stáhněte si jej podle tohoto odkazu a rozbalte jej do instalační složky. - + Aligner %n objet(s) sur la grille @@ -12836,91 +14869,105 @@ Stáhněte si jej podle tohoto odkazu a rozbalte jej do instalační složky. + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 vložit %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Upravit barvu textu - + Pivoter un texte - + Modifier le trait d'une forme Upravit čáru tvaru - + Modifier le remplissage d'une forme Upravit výplň tvaru - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Upravit text prvku - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12928,6 +14975,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + List + QTextOrientationWidget @@ -12947,371 +15037,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Informace, které se mají zobrazit, jsou větší než maximální množství, které lze zobrazit v tabulkách. Přidejte novou tabulku nebo upravte stávající tabulky tak, aby zobrazovaly všechny informace. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Informace, které se mají zobrazit, jsou větší než maximální množství, které lze zobrazit v tabulce. Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala všechny informace. - + Limitation de tableau Omezení tabulky - + Modifier la géometrie d'un tableau Změnit sestavení tabulky + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape tvar - + une ligne čáru - - + + Ajouter un point Přidat bod - + Supprimer ce point Smazat tento bod - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Velikost - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Přidat bod do mnohoúhelníku - + Supprimer un point d'un polygone Smazat bod z mnohoúhelníku - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Upravit %1 - + un rectangle obdélník - + une éllipse elipsu - + un arc - + une polyligne mnohoúhelník - + une courbe @@ -13393,7 +15544,7 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v Textový štítek - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Prvek « %1 » již existuje. Co si přejete udělat? @@ -13401,31 +15552,77 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + List + + + + Élément + Prvek + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13449,9 +15646,9 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v - - - + + + Ne pas modifier Neměnit @@ -13571,97 +15768,97 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v fáze - - + + Nombre de phase Číslo fáze - + Neutre Nulový - + neutre Nulový - + Terre Země - + terre Uzemnění - + TextLabel Textový štítek - + PushButton Tlačítko - + Apparence Vzhled - + Taille : Velikost: - - + + Couleur : Barva: - + Style : Styl: - - + + Modifier Upravit - + Couleur secondaire : Vedlejší barva: - + Taille de trait : Velikost čáry: - + px px - + Trait plein conductor style: solid line Plná čára - + Trait en pointillés conductor style: dashed line Čárkovaná čára - + Traits et points conductor style: dashed and dotted line Čerchovaná čára @@ -13670,7 +15867,7 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v ReplaceElementDialog - + Ne pas modifier Neměnit @@ -13712,10 +15909,10 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v - - - - + + + + Ne pas modifier Neměnit @@ -13775,12 +15972,12 @@ Přidejte novou tabulku nebo upravte stávající tabulku tak, aby zobrazovala v Použít nynější datum - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Dostupné jako %plant pro vzory záhlaví výkresů</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13793,33 +15990,33 @@ Používají se následující proměnné: -%autonum: automatické číslování listů - + Disponible en tant que %locmach pour les modèles de cartouches Dostupné jako %locmach pro vzory záhlaví výkresů - + Titre : Název: - - - - - - - + + + + + + + Supprimer ce texte Smazat tento text - + Personnalisées Vlastní - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Zde můžete stanovit vaše vlastní přiřazení název/hodnota, takže s nimi bude záhlaví výkresu počítat. Příklad: @@ -13858,6 +16055,185 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: % c: číslo sloupce + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nový + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Název: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Uložit + + + + Ouvrir le &dossier + + + + + &Fermer + &Zavřít + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13871,42 +16247,42 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: Jít na další shodu - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Ukázat pokročilé volby</p></body></html> - + Aller à la correspondance précédente Jít na předchozí shodu - + Quitter Ukončit - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Stanovit vlastnosti k nahrazení v prvcích</p></body></html> - + Champ texte de folio Textové pole listu - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Stanovit vlastnosti k nahrazení ve vodičích</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Stanovit vlastnosti k nahrazení v listech</p></body></html> - + Folio List @@ -13931,42 +16307,42 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: Rozlišovat velikost písmen - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Nahradit vybraný nález</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Nahradit zaškrtnuté nálezy</p></body></html> - + avancé Pokročilé - + Élément Prvek - + Conducteur Vodič - + Remplacer : Nahradit: - + Remplacer Nahradit - + Tout remplacer Nahradit vše @@ -13976,105 +16352,105 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: Hledat: - + Actualiser Aktualizovat - + Correspondance : Shoda: - + Folios Listy - + Champs texte Textová pole - + Eléments Prvky - + Eléments simple Jednoduché prvky - + Eléments maître Nadřízené prvky - + Eléments esclave Podřízené prvky - + Eléments report de folio Prvky odkazu na list - + Eléments bornier Prvky svorkovnice - + Sélectionner les éléments de ce folio Vyberte prvky v tomto listu - + Sélectionner les conducteurs de ce folio Vyberte vodiče v tomto listu - + Sélectionner les textes de ce folio Vyberte texty v tomto listu - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [upraveno] - + Conducteurs Vodiče - + Inconnue Neznámý @@ -14087,17 +16463,17 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: Formulář - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Smazat proměnnou číslování</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Přidat proměnnou číslování</p></body></html> - + Définition Vymezení @@ -14117,38 +16493,66 @@ Vytvořte svůj vlastní text pomocí následujících proměnných: Smazat číslování - Précédent - Předchozí + Předchozí - Suivant - Další + Další - + Type Typ - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Hodnota - + Incrémentation Přírůstek - + + Annuler + Zpět + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Automatické číslování listů - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14175,7 +16579,7 @@ Pokud má číslice vymezená v poli Hodnota méně číslic než vybraný typ, Pole „Přírůstek“ se nepoužívá. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14213,13 +16617,13 @@ Ostatní pole se nepoužívají. Ostatní pole se nepoužívají. - + Element Autonumérotation title window Automatické číslování prvků - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14257,7 +16661,17 @@ Ostatní pole se nepoužívají. Ostatní pole se nepoužívají. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Automatické číslování vodičů @@ -16652,12 +19066,12 @@ Ostatní pole se nepoužívají. Informace k zobrazení - + Configuration Nastavení - + Requête SQL : Dotaz SQL: @@ -16667,6 +19081,19 @@ Ostatní pole se nepoužívají. Poloha + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -17001,58 +19428,58 @@ Ostatní pole se nepoužívají. Rozmístění - + Ponter les bornes Propojit svorky - + Déponter les bornes Rozpojit svorky - + Propriétés Vlastnosti - + Nom : Název: - + Commentaire : Poznámka: - + Description Popis - + Installation : Instalace: - + Localisation : Umístění: - + Type : Typ: - + Degrouper les bornes Zrušit skupinu svorek - - + + Générique Obecný @@ -17067,62 +19494,62 @@ Ostatní pole se nepoužívají. Udělat přesunutí - + Couleur pont : Barva propojení: - + Fusible Pojistka - + Sectionnable Oddílový - + Diode Dioda - + Terre Země - + Déplacer dans : Přesunout do: - + Phase Fáze - + Neutre Nulový - + Position automatique Automatická poloha - + Étage : Stupeň: - + Grouper les bornes Seskupit svorky - + Fonction : Funkce: @@ -17137,7 +19564,7 @@ Ostatní pole se nepoužívají. S - + LED : LED: @@ -17165,32 +19592,32 @@ Ostatní pole se nepoužívají. Pruh s nástroji - + Ajouter un bornier Přidat svorkovnici - + Ajouter un bornier au projet Přidat svorkovnici do projektu - + Supprimer le bornier Odstranit svorkovnici - + Supprimer le bornier du projet Odstranit svorkovnici z projektu - + Recharger Nahrát znovu - + Recharger les borniers Nahrát svorky znovu @@ -17420,12 +19847,12 @@ Ostatní pole se nepoužívají. Průzkumník svorkovnice - + Projet sans titre Nepojmenovaný projekt - + Bornes indépendante Nezávislé svorky @@ -17528,7 +19955,7 @@ Ostatní pole se nepoužívají. Stažení - + Dossier installation Složka instalace @@ -17536,37 +19963,37 @@ Ostatní pole se nepoužívají. TitleBlockDimensionWidget - + Largeur : default dialog label Šířka: - + Absolu a traditional, absolute measure Absolutní - + Relatif au total a percentage of the total width Poměrná k celku - + Relatif au restant a percentage of what remains from the total width Poměrná ke zbytku - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17575,30 +20002,31 @@ Ostatní pole se nepoužívají. TitleBlockPropertiesWidget - + Modèle par défaut Výchozí vzor - + Éditer ce modèle menu entry Upravit tento vzor - + Dupliquer et éditer ce modèle menu entry Zdvojit a upravit tento vzor - + Title block templates actions Činnosti pro vzory záhlaví výkresu - - + + + Créer un Folio Numérotation Auto Vytvořit automatické číslování listů @@ -17613,47 +20041,47 @@ Ostatní pole se nepoužívají. Formulář - + Folio : List: - + Auteur : Autor: - + Indice Rev: Číslo změny: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Dostupné jako %plant pro vzory záhlaví výkresů</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Dostupné jako %filename pro vzory záhlaví výkresů - + Pas de date Žádné datum - + Date courante Běžné datum - + Appliquer la date actuelle Použít nynější datum - + Principales Hlavní @@ -17663,22 +20091,22 @@ Ostatní pole se nepoužívají. Údaje v záhlaví výkresů - + Disponible en tant que %locmach pour les modèles de cartouches Dostupné jako %locmach pro vzory záhlaví výkresů - + Disponible en tant que %date pour les modèles de cartouches Dostupné jako %date pro vzory záhlaví výkresů - + Date fixe : Pevné datum: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17691,7 +20119,7 @@ Používají se následující proměnné: -%autonum: automatické číslování listů - + Titre : Název: @@ -17701,52 +20129,52 @@ Používají se následující proměnné: <html><head/><body><p>Zobrazit záhlaví výkresu dole (vodorovně) nebo vpravo (svisle) na listu.</p></body></html> - + Fichier : Soubor: - + Date : Datum: - + Disponible en tant que %author pour les modèles de cartouches Dostupné jako %author pro vzory záhlaví výkresů - + Disponible en tant que %title pour les modèles de cartouches Dostupné jako %title pro vzory záhlaví výkresů - + Page Num: Číslo strany: - + Installation : Instalace: - + Disponible en tant que %indexrev pour les modèles de cartouches Dostupné jako %indexrev pro vzory záhlaví výkresů - + Localisation: Umístění: - + Personnalisées Vlastní - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Zde můžete stanovit vaše vlastní přiřazení pro název/hodnota, takže s nimi bude záhlaví výkresu počítat. Příklad: @@ -17756,13 +20184,13 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18261,50 +20689,50 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title List - - + + %n conducteur(s) listé(s). wiring list summary @@ -18314,7 +20742,7 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18327,96 +20755,115 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý WiringListExport - - + + Erreur Chyba - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Napětí/Protokol - + Couleur du fil Wiring list CSV header Barva drátu - + Section du fil Wiring list CSV header Úsek drátu - + Fonction Wiring list CSV header Funkce - + + Câble + Wiring list CSV header + Kabel + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Varování + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18630,27 +21077,27 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Vyvést vnitřní projektovou databázi - + sans_nom Bez názvu @@ -18658,7 +21105,7 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý qdesigner_internal::ColorAction - + Text Color Barva textu @@ -18666,7 +21113,7 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý qdesigner_internal::HtmlTextEdit - + Insert HTML entity Vložit HTML znak @@ -18674,27 +21121,27 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý qdesigner_internal::RichTextEditorDialog - + Edit text Upravit text - + Rich Text Formátovaný text - + Source Zdroj - + &OK &OK - + &Cancel Z&rušit @@ -18702,69 +21149,69 @@ Přiřazení názvu "volta" a hodnoty "1745" v záhlaví vý qdesigner_internal::RichTextEditorToolBar - + Texte en gras Tučné - - - + + + Éditeur de texte - + Texte en italique Kurzíva - + Texte souligé Podtržení - + Left Align Zarovnat k levému okraji - + Center Zarovnat na střed - + Right Align Zarovnat k pravému okraji - + Justify Zarovnat do bloku - + Superscript Horní index - + Subscript Dolní index - + Insérer un lien Vložit odkaz - + Insert &Image Vložit &obrázek - + Simplify Rich Text Zjednodušit formátovaný text diff --git a/lang/qet_da.ts b/lang/qet_da.ts index 6f40b5f52..504d544a1 100644 --- a/lang/qet_da.ts +++ b/lang/qet_da.ts @@ -54,272 +54,272 @@ log fil - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech er et program til at tegne elektriske diagrammer. - + Les développeurs de QElectroTech about tab, developers line Udviklerne af QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kontakt: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Original idé - - + - - + + + Développement Udvikling - + Convertisseur DXF DXF konverter - + Plugin Bornier Terminalrække udvidelsesmodul - + Collection Samling - + Traduction en espagnol Spansk oversættelse - + Traduction en russe Russisk oversættelse - + Traduction en portugais Portugisisk oversættelse - + Traduction en tchèque Tjekkisk oversættelse - + Traduction en polonais Polsk oversættelse - + Traduction en allemand Tysk oversættelse - + Traduction en roumain Rumænsk oversættelse - + Traduction en italien Italiensk oversættelse - + Traduction en arabe Arabisk oversættelse - + Traduction en croate Kroatisk oversættelse - + Traduction en catalan Katalansk oversættelse - + Traduction en grec Græsk oversættelse - + Traduction en néerlandais Hollandsk oversættelse - + Traduction en flamand Flamsk oversættelse - + Traduction en danois Dansk oversættelse - + Traduction en brézilien Brasiliansk oversættelse - + Traduction en Turc Tyrkisk oversættelse - + Traduction en hongrois Ungarsk oversættelse - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat Fedora og Red Hat pakker - + Paquets Mageia Mageia pakker - + Paquets Debian Debian pakker - + Paquets Gentoo Gentoo pakker - + Paquets OS/2 OS/2 pakker - + Paquets FreeBSD FreeBSD pakker - + Paquets MAC OS X MAC OS X pakker - + Paquets Archlinux AUR Archlinux AUR pakker - + Icônes Ikoner - + Documentation Dokumentation - + Collection d'éléments Samling af symboler - + Paquets Snap Snap pakke - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator Lambda symbol generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ Opsætning - + Contenu Indhold - + Sélectionner la police des en tête du tableau Vælge skrifttype øverst i tabel - + Sélectionner la police des cellules du tableau Vælge skrifttype for tabel celler @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Vinkel: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Symbol - + Conducteur Leder - + Configurer les règles d'auto numérotation Opsæt autonummeringsregler - + Configurer Opsætning @@ -573,10 +734,88 @@ Ark - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Autonummerering + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Eksisterende - + Under Development Under udvikling - + Installing Installerer - + Built Bygget - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Autonummerering håndtering - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1031,55 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Oversigt - + nomenclature_ BOM_ - + Enregister sous... Gem som... - + Fichiers csv (*.csv) CSV filer (*.csv) - - + + Erreur Fejl - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Placering - + Position du folio Ark placering - + Quantité numéro d'article Special field with name : designation quantity Antal varenummer - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1112,27 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1179,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1210,8 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Tilføj variabel: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Indtast tekst her med fra tilgængelige variabler @@ -909,13 +1219,13 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Conductor - + Modifier les propriétés d'un conducteur undo caption Ændre leder egenskab - + Modifier les propriétés de plusieurs conducteurs undo caption Ændre egenskab for flere ledere @@ -924,73 +1234,73 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun ConductorColorToolButton - + Noir Sort - + Marron Brun - + Gris Grå - + Bleu Blå - + Vert Grøn - + Rouge Rød - + Orange Orange - + Violet Lilla - + Blanc Hvid - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -999,7 +1309,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun - + Choisir une couleur de conducteur @@ -1017,13 +1327,13 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Anvend egenskab for alle leder af potentiale - + Modifier les propriétés d'un conducteur undo caption Ændre leder egenskab - + Modifier les propriétés de plusieurs conducteurs undo caption Ændre egenskab for flere ledere @@ -1032,24 +1342,33 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Anvend egenskab for alle leder af potentiale + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Leder @@ -1078,12 +1397,13 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun + Texte Tekst - - + + Unifilaire Enkelt leder @@ -1099,6 +1419,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun + Texte visible Synlig tekst @@ -1138,35 +1459,52 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Placering og rotation leder tekst: - + phase fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Fuld streg - + Trait en pointillés conductor style: dashed line Stiplet streg - + Traits et points conductor style: dashed and dotted line Stiplet streg og punkt - + terre jord - + neutre neutral @@ -1176,7 +1514,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Form - + Formule du texte : Formel tekst: @@ -1207,96 +1545,96 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Leder sektion - + cable kabel - + bus bus - - + + Nombre de phase Fase nummer - + Neutre Neutral - + Phase Fase - + Protective Earth Neutral Beskyttende Jord Neutral - + PEN PEN - + Terre Jord - + TextLabel Tekst etiket - + Taille : Størrelse: - - + + Style du conducteur Leder typografi - + Couleur secondaire : Sekundær farve: - + px piksel - + Taille de trait : Størrelse på funktion: - + Couleur du conducteur Leder farve - + Apparence Udseende - - + + Couleur : Farve: - + Style : Typografi: @@ -1317,128 +1655,152 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert Normal åben - + Normalement fermé Normal lukket - + Inverseur Omskifter - + Autre - - + + Inconnu - + Simple Enkel - + Puissance Effektbryder - + Temporisé travail Forsinket tiltræk - + Temporisé repos Forsinket frafald - + Temporisé travail & repos Forsinket tiltræk & frafald + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1468,27 +1830,27 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Fejl - + Impossible d'écrire dans le fichier « %1 ». @@ -1496,7 +1858,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Diagram - + Modifier la profondeur Diagram @@ -1636,7 +1998,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1653,262 +2015,330 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image et billede - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Vælg billede... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Fejl - + Impossible de charger l'image. Kan ikke indlæse billede. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1916,7 +2346,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagramPropertiesDialog - + Propriétés du folio window title Ark egenskab @@ -1925,12 +2355,12 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagramTextItem - + Maintenir ctrl pour un déplacement libre Hold ctrl for fri bevægelse - + <Shift> to move @@ -1939,77 +2369,83 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DiagramView - + Coller ici context menu action Indsæt her - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Område hvor diagrammer designes ved at tilføje symboler og leder mellem terminaler. Det er også muligt at tilføje selvstændige tekster. - + Collage multiple Flere sammensætninger - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Tilslutte valgte terminaler - + Sans titre what to display for untitled diagrams Ikke navngivet - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Fejl - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Vælg ny farve til leder - + Modifier les propriétés d'un conducteur undo caption Ændre leder egenskab @@ -2028,7 +2464,7 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Titel - + TextLabel Tekst etiket @@ -2036,42 +2472,42 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Top - + Bas Bund - + Gauche Venstre - + Droite Højre - + Direction : @@ -2079,17 +2515,17 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément Rediger symbol tekst - + Redimensionner un texte d'élément @@ -2108,30 +2544,30 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun - - - - + + + + ... ... - + Importer une configuration de texte Importere tekstkonfiguration - + Ajouter un texte Tilføj en tekst - + Ajouter un groupe de textes Tilføj en tekstgruppe - + Supprimer la sélection Fjern valg @@ -2303,21 +2739,21 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun - + Gauche Venstre - + Droite Højre - + Centre Center @@ -2456,64 +2892,64 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Rotere - - + + Déplacer un champ texte Flyt tekstfelt - + Pivoter un champ texte Rotere tekstfelt - + Modifier le texte d'un champ texte Ændre tekstfelt tekst - - + + Modifier la police d'un champ texte Ændre tekstfelt skrifttype - + Modifier la couleur d'un champ texte Ændre tekstfelt farve - + Modifier la conservation de l'angle Ændre vinkel bevarelse - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Ændre tekstfelt ramme - + Modifier la largeur d'un texte Ændre tekst bredde - + Modifier l'information d'un texte Ændre tekst information - + Modifier la source de texte, d'un texte Ændre tekstkilde tekst - + Modifier l'alignement d'un champ texte Ændre tekstfelt justering @@ -2521,32 +2957,32 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun DynamicTextItemDelegate - + Texte utilisateur Bruger tekst - + Information de l'élément Symbol information - + Texte composé Sammensæt tekst - + Gauche Venstre - + Centre Center - + Droite Højre @@ -2554,12 +2990,12 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,153 +3036,226 @@ Bemærk: Disse muligheder VIL IKKE tillade eller blokere autonummereringer, kun Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Åbn symbol - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Vælg symbol som skal åbnes. - + Enregistrer un élément dialog title Gem symbol - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Vælg symbol hvor definition skal gemmes. - + Ouvrir une catégorie dialog title Åbn kategori - - + + Choisissez une catégorie. dialog content Vælg kategori. - + Enregistrer une catégorie dialog title Gem kategori - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Titel - + Label Etiket - + Nom du nouveau dossier Ny mappe navn - + Nom du nouveau template - + Écraser le template ? message box title - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Vælg et symbol eller en kategori med et navn, til symbolet. - + Sélection inexistante message box title Valg eksister ikke - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content Valg findes ikke. - - + + Sélection incorrecte message box title Forkert valg - + La sélection n'est pas un élément. message box content Valg er ikke symbol. - + Écraser l'élément ? message box title Overskriv symbol? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Symbol findes allerede. Skal det overskrives? @@ -2770,12 +3279,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Slette tekst - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2793,104 +3308,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informationer - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2906,8 +3531,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Type @@ -2990,8 +3615,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Funktion @@ -3021,302 +3646,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Værdier - - - + + + Simple Enkel - + Maître Overordnet - + Esclave Underordnet - + Renvoi de folio suivant Næste ark henvisning - + Renvoi de folio précédent Foregående ark henvisning - + Bornier Terminalrække - + Vignette Miniature - + Définition de conducteur - - + + Normalement ouvert Normal åben - - + + Normalement fermé Normal lukket - - + + Inverseur Omskifter - + Other Andet - + Esclave PLC - - + + Puissance Effektbryder - - + + Temporisé travail Forsinket tiltræk - - + + Temporisé repos Forsinket frafald - - + + Temporisé travail & repos Forsinket tiltræk & frafald - + Bobine Relæ - + Organe de protection Person beskyttelse - + Commutateur / bouton Omskifter / kontakt - + Module PLC - - + + Générique Generisk - + Fusible Sikirn - + Séctionnable Valgbar - + Diode Diode - + Phase Fase - + Neutre Neutral - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Kommentar - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Ingen - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Jord @@ -3330,7 +3955,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Symbol @@ -3467,249 +4092,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Tilpasse udvalgte - + Ajouter la sélection Tilføje udvalgte - + Supprimer la sélection Fjerne udvalgte - + Descendre la sélection Gå ned i udvalgte - + Pas de filtre Intet filter - + N'est pas vide Er ikke tom - + Est vide Er tom - + Contient Indeholder - + Ne contient pas Indeholder ikke - + Est égal à Er lig med - + N'est pas égale à Er ikke lig med - + Filtre : Filter: - + Type d'éléments Symbol type - + Simples Enkel - + Tous Alle - + Vignettes Miniaturer - + Contacteurs et relais Kontaktorer og relæer - + Boutons et commutateurs Knapper og afbrydere - + Borniers Terminalrækker - + Organes de protection Person beskyttelse - + Automates (MAE/SPS) - + Configuration Opsætning - + Ouvrir la configuration sélectionné Åbn valgt konfiguration - + Sauvegarder la configuration actuelle Gem aktuel konfiguration - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Tilpasset SQL forespørgsel - + Requête SQL : SQL forespørgsel: - + Position Placering - + Titre du folio Ark titel - + Position du folio Ark placering - + Numéro du folio Ark nummer - - + + Exporter Eksport - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Fejl - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3717,28 +4342,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Flyt til oprindelig - + Éditer les informations sur l'auteur window title Rediger forfatter informationer - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Feltet kan bruges til symbol forfatter, licens eller andre relevante informationer. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Angiv symbol navn på flere sprog. - + Éditer les noms window title Rediger navne @@ -3747,101 +4372,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Tilføj navn pr. sprog til kategorien. - + Nom interne : Internt navn: - + L'item n'est pas une catégorie message box title Emnet er ikke en kategori - + L'item demandé n'est pas une categrie. Abandon. message box content Anmodet emne er ikke en kategori. Afbryd. - + Catégorie inexistante message box title Ikke eksisterende kategori - + La catégorie demandée n'existe pas. Abandon. message box content Kategori findes ikke. Afbryder. - + Éditer une catégorie window title Rediger kategori - + Créer une nouvelle catégorie window title Opret ny kategori - + Nom de la nouvelle catégorie default name when creating a new category Navngiv kategori - + Édition en lecture seule message box title Åbnes skrivebeskyttet - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Ændre rettigheder for kategori er ugyldig, åbnes skrivebeskyttet. - + Nom interne manquant message box title Mangler internt navn - + Vous devez spécifier un nom interne. message box content Angiv internt navn. - + Nom interne déjà utilisé message box title Internt navn allerede brugt - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Internt navn bruges af eksisterende kategori. Vælg et andet. - + Erreur message box title Fejl - + Impossible de créer la catégorie message box content Kan ikke oprette kategori @@ -3850,73 +4475,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Åbn mappe - + Éditer l'élément Rediger symbol - + Supprimer l'élément Slet symbol - + Supprimer le dossier Slet mappe - + Recharger les collections Genindlæs samling - + Éditer le dossier Rediger mappe - + Nouveau dossier Ny mappe - + Nouvel élément Nyt symbol - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Vis kun denne mappe - + Afficher tous les dossiers Vis alle mapper - + Propriété du dossier Mappe egenskab - + Supprimer l'élément ? message box title Slette symbol? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3924,25 +4549,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Slette symbol - + La suppression de l'élément a échoué. message box content Slet symbol mislykkedes. - + Supprimer le dossier? message box title Slette mappe? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3950,24 +4575,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Slet mappe - + La suppression du dossier a échoué. message box content Slet mappe mislykkedes. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3983,43 +4608,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Mappe %1 indeholder - + %n élément(s), répartie(s) %n symbol fordelt @@ -4027,7 +4652,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). i %n mappe. @@ -4035,32 +4660,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Samlingens sti: %1 - + Chemin dans le système de fichiers : %1 Sti i filsystemet: %1 - + Rechercher... - + Collections Samlinger - + Modèles - + Propriété du dossier %1 Mappe egenskab %1 @@ -4130,124 +4755,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Åbn mappe - + Copier le chemin Kopier stien - + Basculer vers ce projet Skift til projekt - + Éditer ce modèle Rediger skabelon - + Supprimer ce modèle Slet skabelon - + Fermer ce projet Luk projekt - + Propriétés du projet Projekt egenskab - + Propriétés du folio Ark egenskab - + Ajouter un folio Tilføj ark - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Slet ark - + Remonter ce folio Flyt ark op - + Abaisser ce folio Flyt ark ned - + Remonter ce folio x10 Flyt ark op x10 - + Remonter ce folio x100 Flyt ark op x100 - + Remonter ce folio au debut Flyt ark til top - + Abaisser ce folio x10 Flyt ark ned x10 - + Abaisser ce folio x100 Flyt ark ned x100 - + Nouveau modèle Ny skabelon - - + + Panneau des éléments - + Filtrer Filter @@ -4293,7 +4918,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Eksport @@ -4302,101 +4927,101 @@ En important ce fichier, vous confirmez que : ExportDialog - + Aperçu Oversigt - + Dimensions Størrelse - + Impossible d'écrire dans ce fichier message box title Kan ikke skrive til fil - + Exporter Eksport - + Nom de fichier Fil navn - - + + px piksel - + Noms des fichiers cibles message box title Navn på målfil - + Exporter les folios du projet window title Eksportere projekt ark - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Vælg ark for eksport og deres størrelse: - + Tout cocher Vælg alle - + Tout décocher Vælg ingen - + Titre du folio Ark titel - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Indtast unik filnavn for hver ark eksport. - + Dossier non spécifié message box title Mappe mangler - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Angiv sti hvor billede filer skal gemmes. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Manglende rettigheder for at skrive til fil %1. @@ -4681,63 +5306,73 @@ Tekst og nummer inddata er også tilgængelig. Udfør flytning - - + + Générique Generisk - + Fusible Sikring - + Sectionnable Sektionsbar - + Diode Diode - + Terre Jord - + Phase Fase - + Neutre Neutral - + Sans Uden - + Avec Med - + Modifier des propriétés de borniers Ænfre terminalrække egenskaber - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4745,27 +5380,27 @@ Tekst og nummer inddata er også tilgængelig. FreeTerminalModel - + Label Etiket - + Référence croisé Referencekors - + Type Type - + Fonction Funktion - + led LED @@ -4783,47 +5418,48 @@ Tekst og nummer inddata er også tilgængelig. Brug systemfarver - + Chemin de la collection utilisateur Sti til brugertilpasset samling - + Chemin des cartouches utilisateur Sti til brugertilpasset titelblok - + Chemin de la collection commune Sti til fælles samling - - - - - - + + + + + + Par defaut Standard - - - - - - + + + + + + + Parcourir... Gennemse... - + (Recharger les collections d'éléments pour appliquer les changements) (Genindlæs symbol samling for at anvende ændringer) - + Projets Projekter @@ -4833,41 +5469,41 @@ Tekst og nummer inddata er også tilgængelig. Brug bevægelse på berøringsplade - + Utiliser les numéros de folio à la place de leur position dans le projet Brug ark numre i stedet for deres position i projekt - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Nummerere titelblokke kolonner fra 0 ellers 1 - + Désactivé Deaktiveret - + min minute min. - + Mettre en valeur dans le panel les éléments fraîchement intégrés Vis seneste integrerede symboler i panelet - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Hvert symbol indeholder oplysninger om forfattere, licens og andre oplysninger, som anses for nyttige i et frit felt. Her kan standardværdien angives for dette felt for de oprettede symboler: - + Appliqué au prochain lancement de QElectroTech Kræver QElectroTech genstart @@ -4877,62 +5513,62 @@ Her kan standardværdien angives for dette felt for de oprettede symboler:Formular - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatisk projekt sikkerhedskopi (kræver QElectroTech genstart) - + Collections Samlinger - + Accès aux collections Adgang til samlinger - + Répertoire de la collection commune Katalog over fælles samling - + Répertoire de la collection utilisateur Katalog over brugertilpasset samling - + Répertoire des cartouches utilisateur Katalog over brugertilpasset titelblokke - + Gestion des éléments Symbol håndtering - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Her kan standard udseende for de forskellige tekster i QElectroTech bestemmes - + Grille + Clavier Gitter + tastatur - + Grille : 1 - 30 Gitter: 1 - 30 - + DiagramEditor xGrid Diagram redigering x gitter - + DiagramEditor yGrid Diagram redigering y gitter @@ -4947,218 +5583,333 @@ Her kan standardværdien angives for dette felt for de oprettede symboler: - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Brug vindu&er (kræver QElectroTech genstart) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Brug faneblade (kr&æver QElectroTech genstart) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Høj piksel tæthed (hdpi) viser skaleringsmetode (kræver QElectroTech genstart): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Sprog - + Textes Tekster - + Textes d'éléments Symbol tekste - - - + + + Police : Skrifttype: - - + + ° ° - + Longueur : Længde: - - + + Rotation : Rotere: - + Textes indépendants Uafhængige tekste - + Autres textes Andre tekste - + La Grille doite etre active pour pouvoir voir les modifications. Gitter skal være aktivt for at se ændringer. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Tastaturbevægelse: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Diagram redigering (taste: venstre/højre) x-gitter - + DiagramEditor (touche : haut / bas) yGrid Diagram redigering (taste: op/ned) y-gitter - + Déplacement au clavier avec la touche ALT : 1 - 9 Tastaturbevægelse med ALT-tasten: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Diagram redigering (taste: venstre/højre) x-gitter - + DiagramEditor (touche : haut / bas) yGrid Diagram redigering (taste: op/ned) x-gitter - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Ne pas conserver les labels des éléments lors des copier coller Opbevar ikke symbol etiketter i kopi og indsæt @@ -5168,218 +5919,316 @@ Her kan standardværdien angives for dette felt for de oprettede symboler:Tillad visning ud over ark - + Arrondi supérieur pour 0.5 et plus Afrund til 0,5 og over - + Toujours arrondi supérieur Afrund altid op - + Toujours arrondi inférieur Afrund altid ned - + Arrondi supérieur pour 0.75 et plus Afrund til 0,75 og over - + Pas d'arrondi Ingen afrunding - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Generelt - + Système System - + Arabe Arabisk - + Brézilien Brasiliansk - + Catalan Catalansk - + Tchèque Tjekkisk - + Allemand Tysk - + Danois Dansk - + Grec Græsk - + Anglais Engelsk - + Espagnol Spansk - + Français Fransk - + Croate Kroatisk - + Italien Italiens - + Japonais Japansk - + Coréen - + Polonais Polsk - + Portugais Portugisisk - + Roumains Rumænsk - + Russe Russisk - + Slovène Slovensk - + Pays-Bas Hollansk - + Norvege Norsk - + Belgique-Flemish Belgisk-Flamsk - + Turc Tyrkisk - + Hongrois Ungarsk - + Mongol Mongolsk - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection company - + Chemin des cartouches company - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + CSV filer (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5434,7 +6283,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Titelblok skabelon der kan anvendes på ark. - + %1 [non utilisé dans le projet] %1 [ikke brugt i projekt] @@ -5764,42 +6613,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Oversigt - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6016,28 +6865,28 @@ Brug avanceret redigering til dette. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6280,6 +7129,96 @@ Brug avanceret redigering til dette. Aflænk + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6321,7 +7260,7 @@ Brug avanceret redigering til dette. <html><head/><body><p>Slette valgt symbol</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Lænke valgt symbol</p></body></html> @@ -6431,7 +7370,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6441,6 +7380,158 @@ Voulez-vous tout de même lier ce contact esclave ? Referencekors (overordnet) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6490,10 +7581,15 @@ Voulez-vous tout de même lier ce contact esclave ? Autonummering leder - + Multi-collage Flere sammensætninger + + + Numéroter les éléments collés + + NameListDialog @@ -6503,7 +7599,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialogboks - + Variables de cartouche Titelblok variabler @@ -6531,7 +7627,7 @@ Voulez-vous tout de même lier ce contact esclave ? Tilføj linje - + Copier dans le presse papier Kopiere til udklipsholder @@ -6589,13 +7685,13 @@ Voulez-vous tout de même lier ce contact esclave ? Autonummerering - + Nouveau folio configuration page title Nyt ark - + Nouveau projet configuration page title Nyt projekt @@ -6870,13 +7966,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisk tekstfelt - + Déplacer un champ texte Flyt tekstfelt @@ -6936,25 +8032,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Flyt tekst - + Modifier un champ texte Ændre tekstfelt + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6962,32 +8076,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7093,12 +8207,12 @@ Voulez-vous tout de même lier ce contact esclave ? Luk flerkant - + Ajouter un point Tilføje et punkt - + Supprimer ce point Slette et punkt @@ -7151,8 +8265,8 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Vælg egenskab som tilføjes ny potentiale. - - + + %n conducteurs composent le potentiel suivant : %n leder udgør følgende potentiale: @@ -7160,75 +8274,75 @@ Vælg egenskab som tilføjes ny potentiale. - - - + + + Numéro : %1 Nummer: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Vælg elektrisk potentiale fra liste som bruges til det ny potentiale - - - + + + Fonction : %1 Funktion: %1 - - - + + + Tension/protocole : %1 Spænding/protokol: %1 - - - + + + Couleur du conducteur : %1 Leder farve: %1 - - - + + + Section du conducteur : %1 Leder sektion: %1 - + Ajouter au câble: %1 Tilføj til kabel: %1 - + Ajouter au bus: %1 Tilføj til bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Ændre egenskab for flere leder - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7239,10 +8353,107 @@ Følgende variabler er ikke kompatible: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Slet + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Udskriv @@ -7251,155 +8462,355 @@ Følgende variabler er ikke kompatible: ProjectAutoNumConfigPage - + Numérotation auto Autonummerering - + Management Håndtering - - + + Conducteurs Leder - - - Eléments - Symboler - - - - - Folios - Ark - - - - Numérotation auto des folios - Ark autonummerering - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Navn + + + + Folio + Ark + + + + Élément + Symbol + + + + Figé - - - - - - - - Sans nom - Ikke navngivet + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Symboler + + + + + Folios + Ark + + + + Numérotation auto des folios + Ark autonummerering + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Slet nummerering + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Ikke navngivet + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Projekt QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Navngiv ny nummerering + Navngiv ny nummerering ProjectDBModel - + Position Placering - + Position du folio Ark placering @@ -7422,50 +8833,134 @@ Følgende variabler er ikke kompatible: ProjectMainConfigPage - + Général configuration page title Generelt - + Titre du projet : label when configuring Projekt titel: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Denne titel vil være tilgængelig for alle ark i dette projekt som %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Indstil følgende brugertilpasset egenskab der vil være til rådighed for alle ark i projekt (typisk for titelblok). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7509,137 +9004,137 @@ Følgende variabler er ikke kompatible: Til dato: - + Option de rendu Rendering indstillinger - + Dessiner le cadre Tegn ramme - + Dessiner le cartouche Tegn titelblok - + Conserver les couleurs des conducteurs Behold leder farver - + Dessiner les bornes Tegn terminaler - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Udskrivningsindstillinger - + Adapter le folio à la page Tilpas ark til side - + Utiliser toute la feuille Brug hele siden - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Hvis indstilling er markeret, forstørres eller formindskes ark for at fylde hele den udskrivbare side på én side. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Hvis indstilling er markeret, ignoreres arkets margener, og hele overfladen vil blive brugt til udskrivning. Dette understøttes muligvis ikke af printeren. - + toolBar værktøjsbjælke - + Ajuster la largeur Tilpas bredde - + Ajuster la page Tilpas side - + Zoom arrière Formindsk - + Zoom avant Forstør - + Paysage Landskab - + Portrait Portræt - + Première page Forside - + Page précédente Foregående side - + Page suivante Næste side - + Dernière page Seneste side - + Afficher une seule page Vis 1 side - + Afficher deux pages Vis 2 sider - + Afficher un aperçu de toutes les pages Vis eksempel for alle sider - + mise en page udseende @@ -7817,161 +9312,209 @@ Skal ændringer gemmes? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET titelblokke - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Brugertilpasset titelblokke - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Fejl + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Afslut - + &Masquer &Skjul - + &Restaurer &Vis - + &Masquer tous les éditeurs de schéma &Skjul diagram redigering - + &Restaurer tous les éditeurs de schéma &Vis diagram redigering - + &Masquer tous les éditeurs d'élément &Skjul symbol redigering - + &Restaurer tous les éditeurs d'élément &Vis symbol redigering - + &Masquer tous les éditeurs de cartouche systray submenu entry &Skjul titelblok redigering - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Vis titelblok redigering - + &Nouvel éditeur de schéma &Nyt diagram redigering - + &Nouvel éditeur d'élément &Nyt symbol redigering - + Ferme l'application QElectroTech Luk QElectroTech - + Réduire QElectroTech dans le systray Minimer QElectroTech i statusfelt - + Restaurer QElectroTech Vis QElectroTech - + Éditeurs de schémas Diagram redigering - + Éditeurs d'élément Symbol redigering - + Éditeurs de cartouche systray menu entry Titelblok redigering - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Følgende gendannelsesfil er fundet,<br>skal den åbnes?</b><br> + <b>Følgende gendannelsesfil er fundet,<br>skal den åbnes?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> <b>Følgende gendannede filer fundet,<br>skal de åbnes?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> + <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - Fichier de restauration - Gendanne fil + Gendanne fil - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Brug: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7988,7 +9531,7 @@ Kommandovalg: - + [options] [fichier]... @@ -7997,112 +9540,112 @@ Kommandovalg: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Angiv mappe for symbol samling - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Angiv mappe for titelblokke skabelon samling - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Angiv mappe for opsætning - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Indlæser... Initialiser mellemlager for symbol samlinger - + Chargement... Éditeur de schéma splash screen caption Indlæser... Diagram redigering - + Chargement... Ouverture des fichiers splash screen caption Indlæser... Åbning af filer - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Diagram - + Electrique Normal example text - translate length, not meaning Elektrisk - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Opsæt QElectroTech - + Chargement... splash screen caption Indlæser... - + Chargement... icône du systray splash screen caption Indlæser... Ikon til statusfelt - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Mappe med sprogfiler @@ -8112,102 +9655,103 @@ Kommandovalg: QETDiagramEditor - + Afficha&ge &Vis - + Affiche ou non le panel d'appareils Vis eller skjul symbol panel - + Ajouter une colonne Tilføj kolonne - + &Cascade &Overlappet - + C&oller &Indsæt - + Cop&ier K&opier - + Co&uper &Klip - + Désélectionner tout Vælg ingen - + &Édition &Redigere - + Enlever une colonne Slet kolonne - + &Enregistrer &Gem - + Enregistrer sous Gem som - + E&xporter &Eksport - + Fe&nêtres &Vinduer - + + &Fermer &Luk - + &Fichier &Filer - + Imprimer Udskriv - + Inverser la sélection Vælg modsat - + Mode Selection Vælg - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Vinduet viser de forskellige ændringer, der udføres på nuværende ark. Klik på en ænding for at vende tilbage til tidligere tilstand. @@ -8223,984 +9767,1208 @@ Kommandovalg: Viser ark baggrundsfarve i hvid eller grå - + Afficher la grille Vis gitter - + Affiche ou masque la grille des folios Vis eller skjul ark gitter - + Propriétés du folio Ark egenskab - + Ajouter un folio Tilføj ark - - - + + + Supprimer le folio Slet ark - + Mode Visualisation Vise - + &Mosaïque &Side om side - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf Eksportere som PDF - + Exporte un ou plusieurs folios du projet courant status bar tip Eksportere et eller flere ark fra nuværende projekt - + Afficher les guides - + Affiche ou masque les guides - + Exporter au format CSV Eksportere som CSV format - + Gestionnaire de borniers (DEV) Terminalrække håndtering (DEV) - + Lancer le plugin de création de borniers Starte udvidelsesmodul til opretning af terminalblokke - + Exporter la liste des noms de conducteurs Eksportere liste med navne på ledere - + Exporter le plan de câblage - + Numérotation automatique des bornes - + Exporter la base de donnée interne du projet Eksportere intern projekt database - + &Nouveau &Ny - + Crée un nouveau projet status bar tip Opret nyt projekt - + Ouvre un projet existant status bar tip Åbn eksisterende projekt - + Ferme le projet courant status bar tip Luk nuværende projekt - + Enregistre le projet courant et tous ses folios status bar tip Gem nuværende projekt og alle ark - + Enregistre le projet courant avec un autre nom de fichier status bar tip Gem nuværende projekt under andet filnavn - + Ajouter une ligne Add row Tilføj linje - + Enlever une ligne Remove row Slet linje - + Ajoute une colonne au folio status bar tip Tilføj kolonne til ark - + Enlève une colonne au folio status bar tip Slet kolonne fra ark - + Agrandit le folio en hauteur status bar tip Udvid ark højde - + Rétrécit le folio en hauteur status bar tip Indskrænk ark højde - + Enlève les éléments sélectionnés du folio status bar tip Slet symbol fra ark - + Sélectionne tous les éléments du folio status bar tip Væg alle symboler på ark - + Désélectionne tous les éléments du folio status bar tip Vælg ingen symboler på ark - + Agrandit le folio status bar tip Udvid ark - + Rétrécit le folio status bar tip Indskrænk ark - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Tilpas visning til indhold uanset ark ramme - + Adapte le zoom exactement sur le cadre du folio status bar tip Tilpas visning til ark - + Ajouter une ligne Draw line Tilføj linje - + Ajouter un rectangle Tilføj rektangel - + Ajouter une ellipse Tilføj cirkel - + Ajouter une polyligne Tilføj flerkant - + Exporte le folio courant dans un autre format status bar tip Eksportere nuværende ark til andet format - + Imprime un ou plusieurs folios du projet courant status bar tip Udskriv et eller flere ark fra nuværende projekt - + Profondeur toolbar title Placeringsniveau - + Groupe Gruppe - + Place les éléments du presse-papier sur le folio status bar tip Indsæt symboler fra udklipsholder på ark - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Rediger ark egenskab (størrelse, titelblok information, leder egenskab etc.) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Tillader skrivebeskyttet ark visning - + Outils Værktøjer - + &Ouvrir &Åbn - + Ouvrir un fichier Åbn fil - + Pas de zoom Nulstil - + Pivoter Roter - + &Quitter &Afslut - + Supprimer Slet - + Tout sélectionner Vælg alle - + Zoom adapté Tilpas ark - + Zoom arrière Formindsk - + Zoom avant Forstør - + Annuler Fortryd - + Refaire Gendan - + Réinitialiser les conducteurs Nulstil leder - + Affiche ou non la barre d'outils principale Vis eller skjul værktøjslinje - + Affiche ou non la barre d'outils Affichage Vis eller skjul værktøjslinjen Vis - + Affiche ou non la barre d'outils Schéma Vis eller skjul værktøjslinjen Diagram - + Affichage Vise - + Schéma Diagram - + Ajouter un champ de texte Tilføj tekstfelt - + Aucune modification Ingen ændring - + Affiche ou non la liste des modifications Vis eller skjul gendan liste - + Éditer l'item sélectionné Rediger emne - + Grouper les textes sélectionnés Gruppere valgte tekste - + Pivote les éléments et textes sélectionnés status bar tip Roter symbol og tekst - + Pivote les textes sélectionnés à un angle précis status bar tip Roter tekst til vinkel - + Chercher/remplacer Søg/erstat - + &Projet &Projekter - + &Récemment ouverts &Senest åbnet - - + + Projet %1 enregistré dans le repertoire: %2. Projekt %1 registreret i bibliotek: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Skrivebeskyttet fil forsøgt åbnet. Kontroller fil rettigheder. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Projekt åbnes skrivebeskyttet. - + en utilisant des onglets faneblade - + en utilisant des fenêtres vinduer - + Afficher les projets Vis projekt - + Propriétés du projet Projekt egenskab - + Nettoyer le projet Ryd op i projekt - - + + Échec de l'ouverture du projet message box title Projekt kan ikke åbnes - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content %1 er ikke en QElectroTech projekt fil. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Annuleringer - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klik på en ændring for at komme tilbage i diagram ændringer - + Orienter les textes Vælg tekst retning - + Retrouver dans le panel Find i panel - + Ajouter une image Tilføj billede - + Ajouter un sommaire Tilføj oversigt - + Zoom sur le contenu Tilpas indhold - + Ferme l'application QElectroTech status bar tip Luk QElectroTech - + Annule l'action précédente status bar tip Fortryd foregående handling - + Restaure l'action annulée status bar tip Gendan fortrudt handling - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Kopier symboler til udklipsholder - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopier symboler fra udklipsholder - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Vælger modsat - + Retrouve l'élément sélectionné dans le panel status bar tip Find symbol i panel - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Genberegn leder rute uanset ændringer - + Création automatique de conducteur(s) Tool tip of auto conductor Opret automatisk leder - + Projets dock title Projekter - + Collections Samlinger - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Brug automatisk opret af leder hvor det er muligt - + Restaure le zoom par défaut status bar tip Gendan standard visning - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Vis åbne projekter i vinduer - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + Vis + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Referencekors + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature Tilføje en BOM - + Liste de câblage (base de données) - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip Vis åbne projekter i faneblade - + Permet de sélectionner les éléments status bar tip Tillader symbol valg - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel Tilføje tekstfelt til det aktuelle ark - + Ajoute une image sur le folio actuel Tilføje billede til det aktuelle ark - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Tilføje linje til det aktuelle ark - + Ajoute un rectangle sur le folio actuel Tilføje rektangel til det aktuelle ark - + Ajoute une ellipse sur le folio actuel Tilføje elipse til det aktuelle ark - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Tilføje flerkant til det aktuelle ark - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter Tilføj - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech projekter (*.qet);; XML-filer (*.xml);; Alle filer (*) - - + + Impossible d'ouvrir le fichier message box title Kan ikke åbne filen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Fil %1 findes ikke. - + Ouverture du projet en lecture seule message box title Projekt åbnes skrivebeskyttet - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9209,7 +10977,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9218,37 +10986,77 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9256,100 +11064,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Rediger symbol - + Éditer le champ de texte edit text field Rediger tekstfelt - + Éditer l'image edit image Rediger billede - + Éditer le conducteur edit conductor Rediger leder - + Éditer l'objet sélectionné edit selected item Rediger objekt - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Der opstod en fejl under åbning af fil %1. - + Active le projet « %1 » Aktiver projekt « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Fejl - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9357,7 +11165,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9365,7 +11173,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9373,18 +11181,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9393,46 +11201,144 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Dispose les fenêtres en mosaïque status bar tip Arranger vinduer side om side - + Dispose les fenêtres en cascade status bar tip Arranger vinduer overlappet - + Projet suivant Næste projekt - + Projet précédent Foregående projekt - + Active le projet suivant status bar tip Aktiver næste projekt - + Active le projet précédent status bar tip Aktiver foregående projekt @@ -9441,27 +11347,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Ny - + &Ouvrir &Åbn - + &Enregistrer &Gem - + Enregistrer sous Gem som - + Tout sélectionner Vælg alle @@ -9471,334 +11377,334 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Symbol redigering - + &Aide &Hjælp - + Annulations Annulleringer - + Parties Dele - + Informations Informationer - + Outils Værktøjer - + Affichage Vise - + Élément Symbol - + Annulation Annullere - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Vælg ingen - + C&oller dans la zone I&ndsæt i område - + Un fichier En fil - + Un élément Et symbol - + Inverser la sélection Vælg modsat - + &Supprimer &Slet - + À &propos de QElectroTech &Om QElectroTech - + Affiche des informations sur QElectroTech Viser information om QElectroTech - + Manuel en ligne Online manual - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Starter standard netlæser til QElectroTech online manual - + Chaine Youtube Youtube kanal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Starter standard netlæser til QElectroTech Youtube kanal - + Soutenir le projet par un don Støt projektet med donation - + Soutenir le projet QElectroTech par un don Støt QElectroTech projektet med donation - + À propos de &Qt Om &Qt - + Affiche des informations sur la bibliothèque Qt Viser information om Qt biblioteket - + Rotation Rotere - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf Importer dxf - + importer un élément à redimensionner - + Ajouter une ligne Tilføj streg - + Ajouter une ellipse Tilføj cirkel - + Ajouter un polygone Tilføj flerkant - + Ajouter du texte Tilføj tekst - + Ajouter un arc de cercle Tilføj cirkelbue - + Ajouter une borne Tilføj terminal - + Annuler Fortryd - + Refaire Gendan - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Ved mangel af terminal kan symbol forbindes til andre symboler via leder. - + Aucune modification Ingen ændring - + Recharger Genindlæs - + Zoom avant Forstør - + Zoom arrière Formindsk - + Zoom adapté Tilpas ark - + Pas de zoom Nulstil - + &Ouvrir depuis un fichier &Åbn fra fil - + Enregistrer dans un fichier Gem til fil - + Éditer les informations sur l'auteur Rediger forfatter informationer - + Parties toolbar title Dele - + Profondeur toolbar title Placeringsniveau - + Éditer le nom et les traductions de l'élément Rediger navn og oversættelse på symbol - + Éditer les propriétés de l'élément Rediger symbol egenskab - + Ajouter un champ texte dynamique Tilføj dynamisk tekstfelt - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dobbeltklik for at afslutte formular, højreklik for at fortryde det sidste punkt - + &Fichier &Filer - + &Édition &Rediger - + Afficha&ge &Vise - + Coller depuis... Indsæt fra... - + [Modifié] window title tag [ændret] - + [lecture seule] window title tag [skrivebeskyttet] - + Éditeur d'éléments status bar message Symbol redigering - - + + %n partie(s) sélectionnée(s). %n del valgt. @@ -9806,24 +11712,24 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Mangler terminal - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br> <b>Fejl</ b>:<br>Ark rapport skal have én terminal<br> <b>Løsning</ b>:<br>Kontroller symbol kun har én terminal - + La vérification de cet élément a généré message box content Efterprøvning af symbol har genereret - + %n erreur(s) errors @@ -9832,32 +11738,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et og - + Erreurs Fejl - + Absence de borne Mangler terminal - + Ajouter un texte d'élément non éditable dans les schémas Tilføje ikke-redigerbar elementtekst i skema - + Ajouter un texte d'élément pouvant être édité dans les schémas Tilføje redigerbar elementtekst i skema - + %n avertissement(s) warnings @@ -9866,293 +11772,349 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Le fichier %1 n'existe pas. message box content Fil %1 findes ikke. - + Afficher menu entry Vis - - + + Impossible d'ouvrir le fichier %1. message box content Kan ikke åbne fil %1. - - + + Ce fichier n'est pas un document XML valide message box content Fil er ikke gyldigt XML dokument - - + + Erreur toolbar title Fejl - - + + Édition en lecture seule message box title Skrivebeskyttet - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Fil åbnes skrivebeskyttet. Kontroller fil rettigheder. - - + + Erreur message box title Fejl - + Impossible d'écrire dans ce fichier message box content Kan ikke skrive til fil - + Impossible d'enregistrer l'élément message box content Kan ikke gemme symbol - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Bredde + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement Advarsel - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Import af stor dxf fil kan tage tid vent venligst... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) QElectroTech symboler (*.elmt) - + Impossible d'ouvrir le fichier message box title Kan ikke åbne fil - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Fil %1 findes ikke. - - - + + + Echec de l'enregistrement Gem mislykkedes - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Gem mislykkedes, betingelser ikke gyldig - + Ouvrir un fichier dialog title Åbn fil - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech symboler (*.elmt);;XML filer (*.xml);;Alle filer (*) - + Recharger l'élément dialog title Genindlæs symbol - + Avertissements Advarsler - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Symbol er ændret. Ved genindlæs vil ændringer gå tabt. Genindlæs symbol? - + Enregistrer sous dialog title Gem som - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech symboler (*.elmt) - + Enregistrer l'élément en cours ? dialog title Gem nuværende symbol? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Gem symbol %1? - - - - + + + + Élément inexistant. message box title Ikke eksisterende symbol. - - + + L'élément n'existe pas. message box content Symbol findes ikke. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Valgt virtuel sti svarer ikke til et symbol. - + Co&uper &Klip - + Cop&ier K&opier - + C&oller &Indsæt - + Ajouter un rectangle Tilføj rektangel @@ -10160,137 +12122,172 @@ betingelser ikke gyldig QETMainWindow - + &Configurer QElectroTech &Opsæt QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Juster forskellige indstillinger for QElectroTech - + À &propos de QElectroTech &Om QElectroTech - + Affiche des informations sur QElectroTech status bar tip Viser information om QElectroTech - + Manuel en ligne Online manual - + Chaine Youtube Youtube kanal - - + + Télécharger une nouvelle version (dev) Hente ny version (udvikling) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Starter standard netlæser til online QElectroTech manual - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général Generelt - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Starter standard netlæser til QElectroTech Youtube kanal - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Starter standard netlæser til online depot for over nat QElectroTech version - + Soutenir le projet par un don Støt projektet med donation - + Soutenir le projet QElectroTech par un don status bar tip Støt QElectroTech projektet med donation - + À propos de &Qt Om &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Viser information om Qt biblioteket - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Opsætning - + &Aide window menu &Hjælp - + Sortir du &mode plein écran Afslut &fuldskærm - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech vises i vindue tilstand - + Passer en &mode plein écran &Fuldskærm - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech vises i fuldskærm - + Afficher menu entry Vis @@ -10299,58 +12296,58 @@ betingelser ikke gyldig QETProject - + Avertissement message box title Advarsel - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Ikke navngivet projekt - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [skrivebeskyttet] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [ændret] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10358,50 +12355,50 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Der opstod fejl under integration af skabelon. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title Advarsel - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Åbning af projekt...</b><br/>Oprettelse af ark:</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Åbning af igangværende projekt...</b><br/>Opsætning af referencekors</p> @@ -10771,23 +12768,23 @@ Que désirez vous faire ? QObject - + Exporter vers le presse-papier Eksportere til udklipsholder - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Tekst fil indeholdende GNU/GPL licens kunne ikke findes? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Tekst fil indeholdende GNU/GPL licens kunne ikke findes? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Advarsel: symbol er gemt med nyere version af QElectroTech. @@ -10807,44 +12804,44 @@ Que désirez vous faire ? et grafik symbol - + supprimer %1 undo caption - %1 is a sentence listing the removed content Slette %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste indsæt %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut klip %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content flyt %1 - + modifier le texte undo caption ændre tekst - + modifier un conducteur undo caption ændre leder - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Nulstil %1 @@ -10856,7 +12853,7 @@ Que désirez vous faire ? ændre titelblok - + modifier les dimensions du folio undo caption ændre ark størrelse @@ -11035,7 +13032,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11044,7 +13041,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11053,7 +13050,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11062,7 +13059,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11071,7 +13068,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11080,7 +13077,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11089,7 +13086,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11098,7 +13095,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11107,69 +13104,69 @@ Que désirez vous faire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Kan ikke skrive til fil %1, fejl %2 opstået. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Der opstod en fejl under skrivning af fil %1, fejl %2 opstod. - + Amener au premier plan Flyt forrest - + Rapprocher Flyt fremad - + Éloigner Flyt bagud - + Envoyer au fond Flyt bagerst - + Ramène la ou les sélections au premier plan Flyt udvalgt(e) forrest - + Rapproche la ou les sélections Flyt udvalgt(e) fremad - + Éloigne la ou les sélections Flyt udvalgt(e) bagud - + Envoie en arrière plan la ou les sélections Flyt udvalgt(e) bagerst - - - - + + + + Profondeur Placeringsniveau - + Borne tooltip Terminal @@ -11187,27 +13184,27 @@ Que désirez vous faire ? rektangel - + Folio sans titre Ikke navngivet ark - + schema diagram - + Conserver les proportions Behold forhold - + Réinitialiser les dimensions Nulstil størrelse - + Aperçu Oversigt @@ -11362,6 +13359,7 @@ Que désirez vous faire ? + Titre Titel @@ -11444,6 +13442,7 @@ Que désirez vous faire ? Tekst + Modifier les informations de l'élément : %1 Ændre symbol informationer: %1 @@ -11533,32 +13532,32 @@ Que désirez vous faire ? Ark nummer - + Collection QET QET samling - + Collection Company - + Collection utilisateur Brugertilpasset samling - + Macros - + Collection inconnue Ukendt samling - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11572,8 +13571,13 @@ Que désirez vous faire ? Collection Samling + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11645,7 +13649,7 @@ Que désirez vous faire ? %1 tekstgrupper - + %n texte(s) @@ -11653,13 +13657,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Justere valgte tekster @@ -11707,13 +13711,13 @@ Voulez-vous la remplacer ? Importere tekstkonfiguration: %1 - + %p% effectué (%v sur %m) %p% indlæst (%v af %m) - - + + chargement %p% (%v sur %m) indlæst %p% (%v af %m) @@ -11723,22 +13727,22 @@ Voulez-vous la remplacer ? Søg/erstat ark egenskaber - + Chercher/remplacer les propriétés d'éléments. Søg/erstat symbol egenskaber. - + Chercher/remplacer les propriétés de conducteurs. Søg/erstat ledere egenskaber. - + Rechercher / remplacer avancé Søg/erstat avanceret - + Chercher/remplacer des textes independants Søg/erstat uafhængige tekste @@ -11835,35 +13839,35 @@ Voulez-vous la remplacer ? - - - + + + Type Type - - - + + + Adresse - - - + + + Commentaire Kommentar - - - + + + Réf. croisée @@ -11871,9 +13875,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Funktion @@ -12203,27 +14207,27 @@ Voulez-vous la remplacer ? Gemt fil sti - + Création de conducteurs Oprette ledere - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> For at installere udvidelsesmodul qet_tb_generator<br>Besøg: <a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Kræver python 3.5 eller over.<br><B><U>Første installering på Windows</B></U><br>1. Installere, hvis påkrævet, python 3.5 eller over<br>Besøg:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip installere qet_tb_generator<br><B><U>Opdatere på Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>brugeren kan i en terminal udføre dette skript i følgende mappe<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> For at installere udvidelsesmodulet qet_tb_generator<br>Besøg:<br> <a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a> <br> <br>Kræver python 3.5 eller nyere.<br> <br> <B> <U>Første installation på Linux</B> </U> <br>1. kontrllere, at pip3 er installeret: pip3 --version<br>Hvis ikke, installere med: sudo apt-get install python3-pip<br>2. installere programmet: sudo pip3 install qet_tb_generator<br>3. kør programmet: qet_tb_generator<br> <br> <B> <U>Opdatering på Linux</B> </U> <br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Fejl ved opstart af qet_tb_generator udvidelsesmodul @@ -12243,15 +14247,15 @@ Voulez-vous la remplacer ? Indsæt - - + + - - - - - - + + + + + + this is an error in the code der er en fejl i koden @@ -12452,12 +14456,12 @@ Voulez-vous la remplacer ? Ændre terminalbro farve - + Ouvrir un element Åbn symbol - + Importer un fichier dxf Importer dxf fil @@ -12543,7 +14547,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12626,7 +14630,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12635,8 +14639,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12765,98 +14769,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Tilføj %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Ændre tekstfelt farve - + Pivoter un texte - + Modifier le trait d'une forme Ændre streg i form - + Modifier le remplissage d'une forme Ændre fyld i form - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Ændre symbol tekst - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12864,6 +14881,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Ark + QTextOrientationWidget @@ -12883,371 +14941,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Oplysninger, der skal vises, er større end maksimal mængde, der kan vises i tabel. Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Oplysninger, der skal vises, er større end maksimal mængde, der kan vises i tabel. Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger. - + Limitation de tableau Tabel begrænsning - + Modifier la géometrie d'un tableau Ændre tabel geometri + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape en figur - + une ligne streg - - + + Ajouter un point Tilføje et punkt - + Supprimer ce point Slette et punkt - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Størrelse - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Tilføje et punkt til en flerkant - + Supprimer un point d'un polygone Slette et punkt i en flerkant - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Ændre %1 - + un rectangle rektangel - + une éllipse cirkel - + un arc - + une polyligne en flerkant - + une courbe @@ -13329,7 +15448,7 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< Tekst etiket - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Symbol « %1 » findes allerede. Hvad skal ske? @@ -13337,31 +15456,75 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Ark + + + + Élément + Symbol + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13385,9 +15548,9 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< - - - + + + Ne pas modifier Ikke ændret @@ -13507,97 +15670,97 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< fase - - + + Nombre de phase Fase nummer - + Neutre Neutral - + neutre neutral - + Terre Jord - + terre jord - + TextLabel Tekst etiket - + PushButton Trykknap - + Apparence Udseende - + Taille : Størrelse: - - + + Couleur : Farve: - + Style : Typografi: - - + + Modifier Ændre - + Couleur secondaire : Sekundær farve: - + Taille de trait : Størrelse på funktion: - + px piksel - + Trait plein conductor style: solid line Fuld streg - + Trait en pointillés conductor style: dashed line Stiplet streg - + Traits et points conductor style: dashed and dotted line Stiplet streg og punkt @@ -13606,7 +15769,7 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< ReplaceElementDialog - + Ne pas modifier Ikke ændret @@ -13648,10 +15811,10 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< - - - - + + + + Ne pas modifier Ikke ændret @@ -13711,12 +15874,12 @@ Tilføj ny tabel, eller juster eksisterende tabel for at vise alle oplysninger.< Anvend dags dato - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Fås som %plant til titelblokke skabeloner</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13729,33 +15892,33 @@ Følgende variabler kan bruges: - %autonum : Ark autonummerering - + Disponible en tant que %locmach pour les modèles de cartouches Tilgængelig som %locmach for titelblok skabeloner - + Titre : Titel: - - - - - - - + + + + + + + Supprimer ce texte Slette tekst - + Personnalisées Brugertilpasset - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Definér brugertilpasset navne/værdier for titelblok. @@ -13794,6 +15957,185 @@ Opret tekst ved hjælp af følgende variabler: %c: kolonne nummer + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Ny + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Navn: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Gem + + + + Ouvrir le &dossier + + + + + &Fermer + &Luk + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13807,42 +16149,42 @@ Opret tekst ved hjælp af følgende variabler: Gå til næste - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Vis avancerede indstillinger</p></body></html> - + Aller à la correspondance précédente Gå til forrige - + Quitter Afslutte - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Definere egenskaber som skal erstattes i symboler</p></body></html> - + Champ texte de folio Ark tekstfelt - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Definere egenskaber som skal erstattes i ledere</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Definere egenskaber som skal erstattes i ark</p></body></html> - + Folio Ark @@ -13867,42 +16209,42 @@ Opret tekst ved hjælp af følgende variabler: Versal følsom - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Erstatte det valgte</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Erstatte markerede</p></body></html> - + avancé avanceret - + Élément Symbol - + Conducteur Leder - + Remplacer : Erstatte: - + Remplacer Erstatte - + Tout remplacer Erstatte alle @@ -13912,106 +16254,106 @@ Opret tekst ved hjælp af følgende variabler: Søge: - + Actualiser Aktualisere - + Correspondance : Mangler en sigende oversættelse Korrespondance: - + Folios Ark - + Champs texte Tekstfelter - + Eléments Symboler - + Eléments simple Simple symboler - + Eléments maître Overordnet symbol - + Eléments esclave Underordnet symbol - + Eléments report de folio Symboler ark rapport - + Eléments bornier Terminal symboler - + Sélectionner les éléments de ce folio Vælg symboler på ark - + Sélectionner les conducteurs de ce folio Vælg leder på ark - + Sélectionner les textes de ce folio Vælg tekster på ark - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [redigeret] - + Conducteurs Leder - + Inconnue Ukendt @@ -14024,17 +16366,17 @@ Opret tekst ved hjælp af følgende variabler: Formular - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Slet variabel nummerering</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Tilføj variabel nummerering</p></body></html> - + Définition Definition @@ -14054,38 +16396,66 @@ Opret tekst ved hjælp af følgende variabler: Slet nummerering - Précédent - Foregående + Foregående - Suivant - Næste + Næste - + Type Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Værdi - + Incrémentation Forøgelse - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Ark autonummerering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14114,7 +16484,7 @@ Feltet "Incrementation" anvendes ikke. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14153,13 +16523,13 @@ De andre felter anvendes ikke. De andre felter anvendes ikke. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14181,7 +16551,17 @@ Les autres champs ne sont pas utilisés. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Leder autonummerering @@ -16575,12 +18955,12 @@ Les autres champs ne sont pas utilisés. Vis information - + Configuration Opsætning - + Requête SQL : SQL forespørgsel: @@ -16590,6 +18970,18 @@ Les autres champs ne sont pas utilisés. Placering + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16924,58 +19316,58 @@ Les autres champs ne sont pas utilisés. Arrangement - + Ponter les bornes Terminal bro - + Déponter les bornes Fjern terminaler - + Propriétés Egenskaber - + Nom : Navn: - + Commentaire : Kommentar: - + Description Beskrivelse - + Installation : Installeret: - + Localisation : Placering: - + Type : Type: - + Degrouper les bornes Opret terminalgruppe - - + + Générique Generisk @@ -16990,62 +19382,62 @@ Les autres champs ne sont pas utilisés. Udfør flytning - + Couleur pont : Bro farve: - + Fusible Sikring - + Sectionnable Sektionsbar - + Diode Diode - + Terre Jord - + Déplacer dans : Flyt til: - + Phase Fase - + Neutre Neutral - + Position automatique Automatisk position - + Étage : Lag: - + Grouper les bornes Grupper terminaler - + Fonction : Funktion: @@ -17060,7 +19452,7 @@ Les autres champs ne sont pas utilisés. Med - + LED : LED: @@ -17088,32 +19480,32 @@ Les autres champs ne sont pas utilisés. værktøjsbjælke - + Ajouter un bornier Tilføj terminalrække - + Ajouter un bornier au projet Tilføj klemrække til projekt - + Supprimer le bornier Slet terminalrække - + Supprimer le bornier du projet Slet terminalrække i projekt - + Recharger Genindlæs - + Recharger les borniers Genindlæs klemrække @@ -17343,12 +19735,12 @@ Les autres champs ne sont pas utilisés. Terminalrække stifinder - + Projet sans titre Ikke navngivet projekt - + Bornes indépendante Uafhængige terminaler @@ -17451,7 +19843,7 @@ Les autres champs ne sont pas utilisés. Hent - + Dossier installation Installationsmappe @@ -17459,37 +19851,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Bredde: - + Absolu a traditional, absolute measure Absolut - + Relatif au total a percentage of the total width Forhold til samlet - + Relatif au restant a percentage of what remains from the total width Forhold til resterende - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column piksel @@ -17498,30 +19890,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Standard skabelon - + Éditer ce modèle menu entry Rediger skabelon - + Dupliquer et éditer ce modèle menu entry Duplikere og redigere model - + Title block templates actions Titelblok skabelon lager - - + + + Créer un Folio Numérotation Auto Opret ark autonummerering @@ -17536,47 +19929,47 @@ Les autres champs ne sont pas utilisés. Form - + Folio : Ark: - + Auteur : Forfatter: - + Indice Rev: Revision indeks: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Fåes som %plant til titelblok skabeloner</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Tilgængelig som %filename for titelblok skabeloner - + Pas de date Ingen dato - + Date courante Dags dato - + Appliquer la date actuelle Anvend dags dato - + Principales Forside @@ -17586,22 +19979,22 @@ Les autres champs ne sont pas utilisés. Titelblok informationer - + Disponible en tant que %locmach pour les modèles de cartouches Tilgængelig som %locmach for titelblok skabeloner - + Disponible en tant que %date pour les modèles de cartouches Tilgængelig som %date for titelblok skabeloner - + Date fixe : Fast dato: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17614,7 +20007,7 @@ Følgende variabler kan bruges: - %autonum : Ark autonummerering - + Titre : Titel: @@ -17624,52 +20017,52 @@ Følgende variabler kan bruges: <html><head/><body><p>Vis titelblok bund (vandret) eller højre (lodret) på ark.</p></body></html> - + Fichier : Fil: - + Date : Dato: - + Disponible en tant que %author pour les modèles de cartouches Tilgængelig som %author for titelblok skabeloner - + Disponible en tant que %title pour les modèles de cartouches Tilgængelig som %title for titelblok skabeloner - + Page Num: Side nummer: - + Installation : Installeret: - + Disponible en tant que %indexrev pour les modèles de cartouches Tilgængelig som %indexrev for titelblok skabeloner - + Localisation: Placering: - + Personnalisées Brugertilpasset - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Definér brugertilpasset navne/værdier for titelblok. @@ -17679,13 +20072,13 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18184,50 +20577,50 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Ark - - + + %n conducteur(s) listé(s). wiring list summary @@ -18236,7 +20629,7 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18248,96 +20641,115 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol WiringListExport - - + + Erreur Fejl - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Spænding / protokol - + Couleur du fil Wiring list CSV header Leder farve - + Section du fil Wiring list CSV header Leder sektion - + Fonction Wiring list CSV header Funktion - + + Câble + Wiring list CSV header + Kabel + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Advarsel + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18551,27 +20963,27 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Eksportere intern projekt database - + sans_nom ikke_navngivet @@ -18579,7 +20991,7 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol qdesigner_internal::ColorAction - + Text Color Tekst farve @@ -18587,7 +20999,7 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Indsæt HTML enhed @@ -18595,28 +21007,28 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Rediger tekst - + Rich Text Rich Text Format RTF - + Source Kilde - + &OK &OK - + &Cancel &Annuller @@ -18624,69 +21036,69 @@ Eksempel: forbind navn "volta" og værdi "1745" erstat %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Tekst fed - - - + + + Éditeur de texte - + Texte en italique Tekst skrå - + Texte souligé Tekst understreget - + Left Align Venstre juster - + Center Centrer - + Right Align Højre juster - + Justify Juster - + Superscript Hævet - + Subscript Sænket - + Insérer un lien Indsæt henvisning - + Insert &Image &Indsæt billede - + Simplify Rich Text Rich Text Format Forenklet RTF diff --git a/lang/qet_de.ts b/lang/qet_de.ts index 91abb7e19..acbfde358 100644 --- a/lang/qet_de.ts +++ b/lang/qet_de.ts @@ -54,272 +54,272 @@ Log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech ist eine Anwendung zum Erstellen von Stromlaufplänen. - + Les développeurs de QElectroTech about tab, developers line Die Entwickler von QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kontakt: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Idee - - + - - + + + Développement Programmierung - + Convertisseur DXF DXF Konverter - + Plugin Bornier Klemmenplan-Plugin - + Collection Sammlung - + Traduction en espagnol für Spanisch - + Traduction en russe für Russisch - + Traduction en portugais für Portugiesisch - + Traduction en tchèque für Tschechisch - + Traduction en polonais für Polnisch - + Traduction en allemand für Deutsch - + Traduction en roumain für Rumänisch - + Traduction en italien für Italienisch - + Traduction en arabe für Arabisch - + Traduction en croate für Kroatisch - + Traduction en catalan für Katalanisch - + Traduction en grec für Griechisch - + Traduction en néerlandais für Niederländisch - + Traduction en flamand für Flämisch - + Traduction en danois für Dänisch - + Traduction en brézilien für Brasilianisch - + Traduction en Turc für Türkisch - + Traduction en hongrois für Ungarisch - + Traduction en serbe für Serbisch - + Traduction en japonais für Japanisch - + Traduction en coréen Übersetzung ins Koreanische - + Traduction en mongol für Mongolisch - + Paquets Fedora et Red Hat Fedora und Redhat Pakete - + Paquets Mageia Mageia Pakete - + Paquets Debian Debian Pakete - + Paquets Gentoo Gentoo Pakete - + Paquets OS/2 OS/2 Pakete - + Paquets FreeBSD FreeBSD Pakete - + Paquets MAC OS X MAC OS X Pakete - + Paquets Archlinux AUR Archlinux AUR Pakete - + Icônes Symbole - + Documentation Dokumentation - + Collection d'éléments Bauteilsammlung - + Redimensionneur d'éléments Element scaler Skalieren von Elementen - + Convertisseur d'élément DXF Dxf2elmt DXF-zu-Element - Konverter - + Outil de traduction d'éléments Qet_translate Element-Namen übersetzen - + Paquets Snap Snap Pakete - + Traduction en ukrainien für Ukrainisch - + Traduction en norvégien für Norwegisch - + Traduction en slovène für Slowenisch - + Générateur d'élément lambda Lambda element generator Lambda-Element-Generator @@ -428,17 +428,17 @@ Konfiguration - + Contenu Inhalt - + Sélectionner la police des en tête du tableau Schriftart für Tabellenkopf auswählen - + Sélectionner la police des cellules du tableau Schriftart für Tabellentext auswählen @@ -456,6 +456,134 @@ Folgenden Klemmenplan hinzufügen: + + AiAssistantDialog + + + Connecter un assistant IA + KI-Assistenten verbinden + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + Ein KI-Assistent (Claude, GitHub Copilot, Gemini…) kann Ihre Schaltpläne über den MCP-Server von QElectroTech öffnen, prüfen und ändern; der Server läuft auf diesem Computer. Kopieren Sie den Text unten in die Konfiguration Ihres Assistenten. <a href="%1">Ausführliche Anleitung</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>Der MCP-Server ist mit dieser Version von QElectroTech nicht installiert.</b> Die Anleitung erklärt, wie Sie ihn bekommen. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>Python ist möglicherweise nicht installiert.</b> Es wurde nur die Verknüpfung „python“ des Microsoft Store gefunden: Ohne Python öffnet sie den Store, statt den Server zu starten. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>Python wurde auf diesem Computer nicht gefunden</b> (Befehl „%1“). Der Server benötigt es. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Starten Sie das Installationsprogramm von QElectroTech erneut und aktivieren Sie „Python für den KI-Assistenten“, oder installieren Sie Python von python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Installieren Sie Python 3 mit der Paketverwaltung Ihres Systems. + + + + Assistant : + Assistent: + + + + Le dossier de vos schémas + Der Ordner Ihrer Schaltpläne + + + + Parcourir… + Durchsuchen… + + + + Dossier accessible : + Zugänglicher Ordner: + + + + Autoriser l'assistant à modifier les schémas + Dem Assistenten erlauben, Schaltpläne zu ändern + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + Der Assistent kann nur in diesem Ordner lesen und schreiben. Ohne erlaubte Änderungen kann er nur lesen, vergleichen und exportieren. Ein Assistent liest den Text der Projekte (Kennzeichen, Notizen…): Ein Text, der wie eine Anweisung geschrieben ist, kann ihn beeinflussen. Lassen Sie Änderungen für Schaltpläne, die Sie von anderen erhalten haben, deaktiviert. + + + + Copier + Kopieren + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + Wenn die Datei bereits andere Server enthält, fügen Sie nur den Eintrag „qet“ hinzu. + + + + Choisissez d'abord le dossier de vos schémas. + Wählen Sie zuerst den Ordner Ihrer Schaltpläne. + + + + Dossier accessible à l'assistant + Für den Assistenten zugänglicher Ordner + + + + Copié + Kopiert + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + In Claude Desktop: Einstellungen → Entwickler → Konfiguration bearbeiten. Dann Claude beenden und neu starten. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Speichern Sie ihn unter dem Namen .mcp.json im Ordner Ihrer Schaltpläne. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Speichern Sie ihn unter dem Namen .vscode/mcp.json im in VS Code geöffneten Ordner. Copilot verwendet die Werkzeuge im Agentenmodus. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Fügen Sie ihn der Datei .cursor/mcp.json in Ihrem persönlichen Ordner hinzu. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Fügen Sie ihn der Datei .gemini/settings.json in Ihrem persönlichen Ordner hinzu. Gemini CLI fragt beim ersten Mal, ob Sie dem Ordner vertrauen. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Fügen Sie ihn der Datei .codex/config.toml in Ihrem persönlichen Ordner hinzu. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + In LM Studio: Reiter Program → Install → Edit mcp.json. + + AlignmentTextDialog @@ -499,6 +627,39 @@ Winkel: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Der Name der Nummerierung darf nicht leer sein. + + + + Une numérotation nommée « %1 » existe déjà. + Eine Nummerierung namens „%1“ existiert bereits. + + + + Créer la numérotation %1 + Nummerierung %1 erstellen + + + + Renommer la numérotation %1 en %2 + Nummerierung %1 in %2 umbenennen + + + + Modifier la numérotation %1 + Nummerierung %1 ändern + + + + Supprimer la numérotation %1 + Nummerierung %1 löschen + + AutoNumberingDockWidget @@ -523,49 +684,49 @@ - - + + Réinitialiser à la valeur de départ Auf den Ausgangswert zurücksetzen - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Aktueller Zählerstand. Geben Sie einen neuen Wert ein und bestätigen Sie, um ihn zu ändern. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Inkrement: Wert, der bei jeder neuen Nummerierung zum Zähler addiert wird - - - + + + Prochaine valeur qui sera appliquée avec cet incrément Nächster Wert, der mit diesem Inkrement angewendet wird - + Element Bauteil - + Conducteur Leiter - + Configurer les règles d'auto numérotation Nummerierungsregel konfigurieren - + Configurer Konfigurieren @@ -575,10 +736,88 @@ Seite - + + + Appliquer cette numérotation aux éléments sélectionnés + Diese Nummerierung auf die ausgewählten Bauteile anwenden + + + + Appliquer la numérotation + Nummerierung anwenden + + + + Choisissez une numérotation d'éléments du projet. + Wählen Sie eine Bauteil-Nummerierung des Projekts. + + + + Sélectionnez d'abord des éléments dans le folio. + Wählen Sie zuerst Bauteile auf der Seite aus. + + + + (figé) + (eingefroren) + + + + (autre numérotation) + (andere Nummerierung) + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + Nichts anzuwenden: Die ausgewählten Bauteile folgen bereits der Nummerierung „%1“ oder erhalten ihren Namen von einem anderen Bauteil. + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + %n Bauteil erhält die Nummerierung „%1“. + %n Bauteile erhalten die Nummerierung „%1“, in der Reihenfolge der Seiten und Positionen. + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + Kein Bauteil kann die Nummerierung „%1“ erhalten, ohne das zu ersetzen, was es hat. + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + Auch das %n unverändert gelassene Bauteil ersetzen + Auch die %n unverändert gelassenen Bauteile ersetzen + + + + + %n élément(s) numérotés. + + %n Bauteil nummeriert. + %n Bauteile nummeriert. + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + %n ausgewähltes Bauteil ist unverändert geblieben. + %n ausgewählte Bauteile sind unverändert geblieben. + + + + Autonumérotation Automatische Nummerierung + + + Sélectionnez d'abord des éléments dans le folio + Wählen Sie zuerst Bauteile auf der Seite aus + AutoNumberingManagementW @@ -680,28 +919,78 @@ Vorhandene - + Under Development in Entwicklung - + Installing zur Montage/Installation - + Built wie gefertigt - + + + + + Renuméroter les éléments + Bauteile neu nummerieren + + + + Renuméroter les éléments (%1) + Bauteile neu nummerieren (%1) + + + + Aucun élément ne suit cette numérotation. + Kein Bauteil folgt dieser Nummerierung. + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + Das %n Bauteil, das dieser Nummerierung folgt, hat einen eingefrorenen Namen: Nichts wird neu nummeriert. + Die %n Bauteile, die dieser Nummerierung folgen, haben einen eingefrorenen Namen: Nichts wird neu nummeriert. + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + %n Bauteil wird neu nummeriert, ab der ersten Nummer. + %n Bauteile werden neu nummeriert, ab der ersten Nummer, in der Reihenfolge der Seiten und Positionen. + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + %n Bauteil neu nummeriert, davon %1 mit neuem Namen. + %n Bauteile neu nummeriert, davon %1 mit neuem Namen. + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + %n Bauteil mit eingefrorenem Namen wurde nicht angetastet, und seine Nummer wurde nicht neu vergeben. + %n Bauteile mit eingefrorenem Namen wurden nicht angetastet, und ihre Nummern wurden nicht neu vergeben. + + + + Auto Numbering Management title window Verwaltung der automatischen Nummerierungen - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -740,61 +1029,71 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Layout als Stückliste - + + Bornes sans repère, désignation, fabricant ni référence fabricant + Klemmen ohne BMK, Bezeichnung, Hersteller und Herstellerartikelnummer + + + + Laisser de côté les jonctions + Verbindungspunkte auslassen + + + Aperçu Vorschau - + nomenclature_ Betriebsmittelverzeichnis_ - + Enregister sous... Speichern unter... - + Fichiers csv (*.csv) csv-Datei (*.csv) - - + + Erreur Fehler - + Impossible d'enregistrer la nomenclature dans %1. %2 Die Stückliste kann nicht unter %1 gespeichert werden. %2 - + Position Seite - + Position du folio Seite - + Quantité numéro d'article Special field with name : designation quantity Menge Artikelnummer - + Requête refusée Abfrage abgelehnt - + Erreur dans la requête : %1 Fehler in der Abfrage: @@ -828,6 +1127,27 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Nein + + BackupRestoreDialog + + + Fichiers de restauration + window title + Wiederherstellungsdateien + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Es wurden Wiederherstellungsdateien gefunden,<br>möchten Sie sie öffnen?</b><br>Bei einem Projekt mit mehreren Wiederherstellungsversionen ist standardmäßig die neueste ausgewählt. + + + + %1 (la plus récente) + recovery generation label + %1 (die neueste) + + BorderPropertiesWidget @@ -854,6 +1174,16 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Colonnes : Spalten: + + + Format : + Format: + + + + Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF. + Stellt Spalten und Zeilen so ein, dass die Seite einschließlich Schriftfeld die Größe dieses Papierformats hat, bei 96 Punkten pro Zoll wie beim PDF-Export. + @@ -870,11 +1200,26 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Dimensions du folio Seitenmaße + + + Personnalisé + Benutzerdefiniert + + + + Paysage + Querformat + + + + Portrait + Hochformat + ClickableImageLabel - + Cliquez pour choisir une couleur Klicken Sie hier, um eine Farbe auszuwählen @@ -905,8 +1250,8 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Variable einfügen: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Tragen Sie hier einen zusammengesetzten Text mit Hilfe der verfügbaren Variablen ein @@ -914,13 +1259,13 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. Conductor - + Modifier les propriétés d'un conducteur undo caption Leitereigenschaften ändern - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschaften von mehreren Leitern ändern @@ -929,73 +1274,73 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. ConductorColorToolButton - + Noir Schwarz - + Marron Braun - + Gris Grau - + Bleu Blau - + Vert Grün - + Rouge Rot - + Orange Orange - + Violet Violett - + Blanc Weiß - + Couleur de conducteur Leiterfarbe - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip Wendet eine Farbe auf die ausgewählten Leiter an und verwendet diese für die nächsten gezeichneten Leiter - + Récemment utilisées Zuletzt verwendet - + Autre couleur… Eine andere Farbe… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1004,7 +1349,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. - + Choisir une couleur de conducteur Eine Leiterfarbe auswählen @@ -1022,13 +1367,13 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Eigenschaften auf alle Verbindungen dieses Potenzials übertragen - + Modifier les propriétés d'un conducteur undo caption Leitereigenschaften ändern - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschaften von mehreren Leitern ändern @@ -1037,24 +1382,33 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Eigenschaften auf alle Verbindungen dieses Potenzials übertragen + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + %n Leiter ausgewählt: Nur die geänderten Felder werden auf ihn angewendet. + %n Leiter ausgewählt: Nur die geänderten Felder werden auf sie angewendet. + + - + Modifier les propriétés d'un conducteur undo caption Leitereigenschaften ändern - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschaften von mehreren Leitern ändern - + Conducteur Leiter @@ -1078,6 +1432,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. + Texte Text @@ -1087,18 +1442,18 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Nur eine Potenzialbeschriftung je Seite anzeigen. - - + + Unifilaire Einpolig - + terre Erde - + neutre Neutralleiter @@ -1119,11 +1474,12 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. + Texte visible Sichtbarer Text - + Formule du texte : Textformel: @@ -1154,64 +1510,64 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Leiterquerschnitt: - + cable Kabel: - + bus Bus: - + TextLabel TextLabel - - + + Nombre de phase Phasenanzahl - + Neutre Neutralleiter - + Phase Phase - + phase Phase - + Protective Earth Neutral PEN-Leiter (protective earth neutral) - + PEN PEN - + Terre Erde - + Taille : Größe: - - + + Style du conducteur Leiterstil @@ -1246,23 +1602,23 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Position und Ausrichtung der Leiterbeschriftung: - + Couleur secondaire : Zweite Farbe: - + px px - + Taille de trait : Linienstärke: - + Couleur du conducteur Leiterfarbe: @@ -1272,35 +1628,53 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Typ - + Apparence Darstellung - - + + Couleur : Farbe: - + Style : Stil: - + + Plusieurs valeurs + several conductors, different values + Mehrere Werte + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Mehrere Leiter ausgewählt: Der Text kann nur bei einem Leiter auf einmal geändert werden. + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Text sichtbar +Gesperrt durch die Option „Nur eine Potenzialbeschriftung je Seite anzeigen“ dieser Seite in den Seiteneigenschaften. + + + Trait plein conductor style: solid line Durchgezogene Linie - + Trait en pointillés conductor style: dashed line Gestrichelte Linie - + Traits et points conductor style: dashed and dotted line Strichpunkt-Linie @@ -1322,128 +1696,155 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Eine Slave-gruppe auswählen - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Wählen Sie die Slave-Gruppe aus, die diesem Slave-Element zugewiesen werden soll: - + # # - + Type Typ - + Sous-type Subtyp - + Contacts Kontakte - + Bornes Anschlüsse - - + + T%1 T%1 - + (déjà assigné) (bereits zugewiesen) - + (état ne correspond pas) (Zustand stimmt nicht überein) - + (sous-type ne correspond pas) (Slave stimmt nicht überein) - + (nombre de contacts ne correspond pas) (Die Anzahl der Kontakte stimmt nicht überein) - + OK OK - + Annuler Abbrechen - + Normalement ouvert Schliesser - + Normalement fermé Öffner - + Inverseur Wechsler - + Autre Andere - - + + Inconnu Unbekannt - + Simple Einzelbauteil - + Puissance Leistung - + Temporisé travail anzugverzögert - + Temporisé repos abfallverzögert - + Temporisé travail & repos Anzug- und Abfallverzögert + + CounterWarning + + + Compteur de la numérotation + Zähler der Nummerierung + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + Die nächste Nummer wäre %1, aber %n Bauteil der Nummerierung „%2“ hat bereits eine gleiche oder höhere Nummer (bis %3). + Die nächste Nummer wäre %1, aber %n Bauteile der Nummerierung „%2“ haben bereits eine gleiche oder höhere Nummer (bis %3). + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + +Neue Bauteile überspringen die bereits vergebenen Nummern: Sie erhalten nicht unbedingt die Nummern ab %1. + +Fortfahren? + + CustomElementGraphicPart @@ -1470,30 +1871,39 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Diese Eigenschaft löschen + + CustomizeDialog + + + Personnaliser + window title + Anpassen + + DiagnosticsReportDialog - + Enregistrer... Speichern... - + Enregistrer le rapport de diagnostic Diagnosebericht speichern - + Fichiers texte (*.txt);;Tous les fichiers (*) Textdateien (*.txt);;Alle Dateien (*) - + Erreur Fehler - + Impossible d'écrire dans le fichier « %1 ». Die Datei „%1“ kann nicht beschrieben werden. @@ -1501,7 +1911,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. Diagram - + Modifier la profondeur Ebene der Auswahl bearbeiten @@ -1540,6 +1950,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. + Couleur de fond du folio Hintergrundfarbe der Seite @@ -1641,7 +2052,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste Klicken Sie, um einzufügen, ESC oder rechte Maustaste zum Abbrechen. @@ -1658,262 +2069,330 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Linksklick: Startpunkt festlegen (Strg = freie Position) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Linksklick: ein Ende des Bogens setzen (Strg = freie Position) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) Linksklick: Erste Ecke setzen (Strg = Mittelpunkt, freie Position) - + Clic gauche : positionner le premier point (Ctrl = position libre) Linksklick: Ersten Punkt setzen (Strg = freie Position) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Linksklick: Endpunkt setzen (Strg = freie Position); Rechtsklick: rückgängig machen - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Linksklick: Gegenüberliegende Ecke positionieren (Umschalt = Quadrat, Strg = vom Mittelpunkt aus + freie Position, Strg+Umschalt = zentriertes Quadrat); Rechtsklick: Rückgängig machen - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Linksklick: das andere Ende und die Höhe des Bogens setzen (Umschalt = Halbkreis, Strg = freie Position); Rechtsklick: abbrechen + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Linksklick: Gegenüberliegende Ecke positionieren (Umschalt = Kreis, Strg = vom Mittelpunkt aus + freie Position, Strg+Umschalt = zentrierter Kreis); Rechtsklick: Rückgängig machen - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Linksklick: nächster Punkt; Doppelklick oder Enter: fertigstellen; Rechtsklick: letzten Punkt verwerfen + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + Keine Linie hier: Klicken Sie auf eine auf der Seite gezeichnete Linie + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Klicken Sie auf die zweite Linie; Rechtsklick: abbrechen + + + + Cliquez sur une autre ligne ; clic droit : annuler + Klicken Sie auf eine andere Linie; Rechtsklick: abbrechen + + + + Ces deux lignes sont parallèles : pas de congé possible + Diese beiden Linien sind parallel: keine Abrundung möglich + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + Eine der Linien endet an der Ecke: auf dieser Seite nichts abzurunden + + + + Ces deux lignes sont presque alignées : pas de congé possible + Diese beiden Linien liegen fast auf einer Geraden: keine Abrundung möglich + + + + Congé + Abrundung + + + + Rayon : + Radius: + + + + Rayon trop grand pour ces lignes (%1 au plus) + Radius zu groß für diese Linien (höchstens %1) + + + + Ajouter un congé + Abrundung hinzufügen + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Abrundung: Klicken Sie auf zwei Linien, oder einmal dort, wo sie sich treffen; Esc oder Rechtsklick: beenden + + DiagramImageItem - + redimensionner Größe anpassen - + pivoter/incliner drehen/neigen - + Cliquer : mode %1 Klicken: Modus %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Eine Ecke/Kante ziehen: Größe ändern (Strg = vom Mittelpunkt aus, Umschalt = Proportionen beibehalten) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Eine Ecke verschieben: drehen (Umschalt = in 15°-Schritten); eine Kante verschieben: neigen (Umschalt = in 15°-Schritten); roter Punkt: Drehpunkt verschieben - + -- %1 : mode %2 -- %1: Modus %2 - + Cliquer Klicken - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Ziehen: Größe ändern (Umschalt = Proportionen beibehalten, Strg = vom Mittelpunkt aus) - + Glisser : pivoter (Maj = par pas de 15°) Ziehen: Drehen (Umschalt = in 15°-Schritten) - + Glisser : incliner (Maj = par pas de 15°) Ziehen: Neigung ändern (Umschalt = in 15°-Schritten) - + Glisser : déplacer le centre de rotation Ziehen: Den Drehpunkt verschieben - + Redimensionner une image Die Größe eines Bildes ändern - + Faire pivoter une image Ein Bild drehen - + Incliner une image Ein Bild neigen - + Déplacer le centre de rotation d'une image Den Drehpunkt eines Bildes verschieben - + Modifier une image Ein Bild bearbeiten - + Restaurer les proportions d'une image Die Proportionen eines Bildes wiederherstellen - - + + Enregistrer l'image sous... Bild speichern unter... - - + + Enregistrer l'image d'origine sous... Das Originalbild speichern unter... - + Image PNG (*.png) PNG-Bild (*.png) - + Image JPEG (*.jpg *.jpeg) JPEG-Bild (*.jpg *.jpeg) - + Image BMP (*.bmp) BMP-Bild (*.bmp) - + Image SVG (*.svg) SVG-Bild (*.svg) - + Tous les fichiers (*) Alle Dateien (*) - + Transparence non conservée Transparenz nicht erhalten - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? Dieses Format unterstützt keine Transparenz: Das Bild wird so gespeichert, wie es vor dem Anwenden der transparenten Farbe aussah. Möchten Sie fortfahren? - + Échec de l'enregistrement Die Registrierung ist fehlgeschlagen - + Impossible d'enregistrer l'image à cet emplacement. Das Bild kann an diesem Speicherort nicht gespeichert werden. - + une image eines Bildes - + Remplacer l'image... Bild ersetzen... - + Couleur transparente... Transparente Farbe... - + Rogner... Zuschneiden... - + Miroir horizontal Horizontaler spiegeln - + Miroir vertical vertikal spiegeln - + Restaurer les proportions Proportionen wiederherstellen - + Selectionner une image... Ein Bild auswählen... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Bilddateien (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Fehler - + Impossible de charger l'image. Laden vom Bild fehlgeschlagen. - + Remplacer une image Ein Bild ersetzen - + Miroir horizontal d'une image Horizontale Spiegelung eines Bildes - + Miroir vertical d'une image Vertikale Spiegelung eines Bildes - + Définir une couleur transparente Eine transparente Farbe festlegen - + Rogner une image Ein Bild zuschneiden @@ -1921,7 +2400,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DiagramPropertiesDialog - + Propriétés du folio window title Seiteneigenschaften @@ -1930,93 +2409,122 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DiagramTextItem - + Maintenir ctrl pour un déplacement libre Strg gedrückt halten zum freien Bewegen - + <Shift> to move <Shift> zum bewegen + + DiagramToolbarSettings + + + Taille des poignées + Größe der Griffe + + + + Grille des textes + Textraster + + + + Couleur de fond du folio + Hintergrundfarbe der Seite + + + + Couleur des conducteurs + Leiterfarbe + + DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip In diesem Bereich entwerfen Sie Ihre Schaltpläne, indem Sie Elemente hinzufügen und Leiter zwischen Anschlüssen verlegen. Es ist auch möglich, unabhängige Texte hinzuzufügen. - + Coller ici context menu action Hier einfügen - + Collage multiple Mehrfach einfügen - + Créer un template context menu action Vorlage erstellen - + + Générer une vignette d'armoire + context menu action + Schaltschrank-Miniaturansicht erzeugen + + + Renvoi de folio Seitenverweis - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Ausgewählte Anschlüsse verbinden - + Sans titre what to display for untitled diagrams Ohne Titel - + Modèle enregistré Vorlage erstellt - + Le modèle a été enregistré avec succès sous : %1 Die Vorlage wurde erfolgreich gespeichert unter %1 - + Erreur Fehler - + Le fichier n'a pas pu être écrit. Die Datei konnte nicht geschrieben werden. - + Choisir la nouvelle couleur de ce conducteur Neue Leiterfarbe wählen - + Modifier les propriétés d'un conducteur undo caption Leitereigenschaften ändern @@ -2035,7 +2543,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Titel - + TextLabel TextLabel @@ -2043,42 +2551,42 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DuplicateOffsetDialog - + Dupliquer Duplizieren - + pas de grille - kein Raster + Rasterschritte - + Espacement : Abstand: - + Haut Oben - + Bas Unten - + Gauche Linksbündig - + Droite Rechtsbündig - + Direction : Ausrichtung: @@ -2086,17 +2594,17 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément Textfeld eines Bauteils bearbeiten - + Redimensionner un texte d'élément Größe eines Elementtextes ändern @@ -2115,30 +2623,30 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. - - - - + + + + ... ... - + Importer une configuration de texte Texteinstellungen importieren - + Ajouter un texte Text einfügen - + Ajouter un groupe de textes Textgruppe einfügen - + Supprimer la sélection Auswahl löschen @@ -2310,21 +2818,21 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. - + Gauche Linksbündig - + Droite Rechtsbündig - + Centre Zentriert @@ -2392,7 +2900,7 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Form - + Source du texte Textquelle @@ -2417,23 +2925,23 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Bauteilinformation - + Encadrer le texte Text einrahmen - + Texte composé Zusammengesetzter Text - + Police Schriftart - + X X @@ -2443,79 +2951,89 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren.Breite - + + Auto + Auto + + + + px + px + + + Y Y - + Alignement Ausrichtung - + Rotation Drehung - - + + Déplacer un champ texte Textfeld verschieben - + Pivoter un champ texte Textfeld drehen - + Modifier le texte d'un champ texte Text eines Textfelds ändern - - + + Modifier la police d'un champ texte Schriftart eines Textfelds ändern - + Modifier la couleur d'un champ texte Farbe eines Textfelds ändern - + Modifier la conservation de l'angle Beibehaltung des Winkels ändern - + Modifier le point de rotation d'un champ texte Rotationspunkt eines Textfelds ändern - + Modifier le cadre d'un champ texte Rahmen eines Textfelds ändern - + Modifier la largeur d'un texte Breite eines Bauteiltexts ändern - + Modifier l'information d'un texte Text eines Textfelds ändern - + Modifier la source de texte, d'un texte Quelle eines Texts ändern - + Modifier l'alignement d'un champ texte Ausrichtung eines Textfelds ändern @@ -2528,32 +3046,32 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. DynamicTextItemDelegate - + Texte utilisateur Benutzertext - + Information de l'élément Bauteilinformation - + Texte composé Zusammengesetzter Text - + Gauche Linksbündig - + Centre Zentriert - + Droite Rechtsbündig @@ -2561,12 +3079,12 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. EditorDelegate - + ex. 80.5 Beispiel 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Dezimalzahl mit einem Punkt als Trennzeichen (z. B. 80.5) @@ -2607,121 +3125,194 @@ Bemerkung: diese Optionen verhindern NICHT das automatische Nummerieren. Element - + Numéroter automatiquement un élément undo caption Ein Element automatisch nummerieren + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Der Name der Nummerierung darf nicht leer sein. + + + + Une numérotation nommée « %1 » existe déjà. + Eine Nummerierung namens „%1“ existiert bereits. + + + + Cet élément n'est dans aucun folio. + Dieses Bauteil liegt auf keiner Seite. + + + + Cet élément ne suit aucune numérotation. + Dieses Bauteil folgt keiner Nummerierung. + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + Die Nummerierung „%1“ hat nicht genau eine Nummer: Es kann keine von Hand gewählt werden. + + + + Le numéro doit être au moins 1. + Die Nummer muss mindestens 1 sein. + + + + Le numéro %1 n'est pas libre. + Die Nummer %1 ist nicht frei. + + + + Attribuer le numéro %1 + Nummer %1 zuweisen + + + + Appliquer la numérotation %1 + Nummerierung %1 anwenden + + + + Numéroter les éléments collés (%1) + Eingefügte Bauteile nummerieren (%1) + + + + Créer la numérotation d'éléments %1 + Bauteil-Nummerierung %1 erstellen + + + + Renommer la numérotation d'éléments %1 en %2 + Bauteil-Nummerierung %1 in %2 umbenennen + + + + Modifier la numérotation d'éléments %1 + Bauteil-Nummerierung %1 ändern + + + + Supprimer la numérotation d'éléments %1 + Bauteil-Nummerierung %1 löschen + + ElementDialog - + Ouvrir un élément dialog title Bauteil öffnen - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Wählen Sie das zu öffnende Bauteil. - + Enregistrer un élément dialog title Bauteil speichern - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Wählen Sie ein Bauteil, in dem Sie Ihre Definition speichern wollen. - + Ouvrir une catégorie dialog title Kategorie öffnen - - + + Choisissez une catégorie. dialog content Kategorie auswählen. - + Enregistrer une catégorie dialog title Kategorie speichern - + Enregistrer un template dialog title Vorlage speichern - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Wählen Sie den Speicherort, an dem Sie Ihre Vorlage speichern möchten. - + Titre Titel - + Label Betriebsmittelkennzeichen - + Nom du nouveau dossier Name vom neuen Ordner - + Nom du nouveau template Name der neuen Vorlage - + Écraser le template ? message box title Die Vorlage überschreiben? - + Le template existe déjà. Voulez-vous l'écraser ? message box content Die Vorlage existiert bereits. Möchten Sie sie überschreiben? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Sie müssen ein Bauteil oder eine Kategorie auswählen. - + Sélection inexistante message box title Keine Auswahl - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Dateiname des Elements - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2729,32 +3320,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des Elements ändern. - + La sélection n'existe pas. message box content Auswahl existiert nicht. - - + + Sélection incorrecte message box title Auswahl nicht korrekt - + La sélection n'est pas un élément. message box content Auswahl ist kein Bauteil. - + Écraser l'élément ? message box title Bauteil überschreiben? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Das Bauteil existiert bereits. Soll es überschrieben werden? @@ -2778,12 +3369,18 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El Diesen Text löschen - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Einen Artikel aus der Materialliste wählen + + + ex. 80.5 Beispiel 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Dezimalzahl mit einem Punkt als Trennzeichen (z. B. 80.5) @@ -2801,104 +3398,222 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El Sperre der automatischen Nummerierung - + Informations Informationen - + Ajouter une propriété personnalisée Benutzerdefinierte Eigenschaft hinzufügen - + Séparation de potentiel Potentialtrennung - + Exclure de la nomenclature Aus der Materialliste ausschließen + + + Liste de matériaux absente + Materialliste fehlt + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + An diesem Ort existiert keine Materiallisten-Datei: +%1 + +Soll sie erstellt werden? + + + + Création impossible + Erstellen nicht möglich + + + + Impossible de créer le fichier : +%1 +%2 + Die Datei konnte nicht erstellt werden: +%1 +%2 + + + + Numérotation automatique + Automatische Nummerierung + + + + … + … + + + + Ouvrir les numérotations d'éléments du projet + Bauteil-Nummerierungen des Projekts öffnen + + + + Figer le nom + Namen einfrieren + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + Ein eingefrorener Name wird von der automatischen Nummerierung nicht geändert, und seine Nummer wird keinem anderen Bauteil gegeben. + + + + Numéro + Nummer + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + Nur freie Nummern werden angeboten: Ein Bauteil, das seine tatsächliche Nummer behalten soll, kann sie zurückbekommen, wenn niemand sie hat. + + + + %1 (actuel) + %1 (aktuell) + + + + — (numéro inconnu) + — (Nummer unbekannt) + + + + %1 → %2 + %1 → %2 + + + + Le nom est figé : dégelez-le pour changer son numéro. + Der Name ist eingefroren: Geben Sie ihn frei, um seine Nummer zu ändern. + + + + Le numéro se choisit quand l'élément garde sa numérotation. + Die Nummer kann gewählt werden, wenn das Bauteil seine Nummerierung behält. + + + + Aucune (nom saisi à la main) + Keine (von Hand eingegebener Name) + + + + Formule propre : %1 + Eigene Formel: %1 + + + + Nom figé + Eingefrorener Name + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + Der Name dieses Bauteils ist eingefroren. +Eine Änderung seiner Nummerierung ersetzt oder löscht ihn. + +Fortfahren? + ElementPickerPopup - - + + Personnaliser la barre… Die Leiste anpassen… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. Ziehen Sie Befehle und Elemente in die Leiste, aus der Leiste heraus oder von einer Position zur anderen. Durch einen Doppelklick wird ein Befehl oder ein Element von einer Liste in eine andere verschoben. - - + + Rechercher un élément… Ein Element suchen… - + Éléments : Elemente: - + Valeurs par défaut Standardwerte - + Annuler Abbrechen - + Terminé Fertig - + Dans la barre : In der Leiste: - + Autres commandes : Weitere Kommandos: - - - + + + Entrée pour insérer · Échap pour fermer Eingabe zum Einfügen · Esc zum Schließen - + Glisser pour changer la largeur de la barre Ziehen Sie den Rand, um die Breite der Leiste zu ändern - + Personnaliser la barre de raccourcis : %1 Die Schnellzugriffsleiste anpassen: %1 - + Aucun résultat Keine Ergebnisse - + Tapez pour rechercher un élément · Échap pour fermer Tippen Sie hier, um nach einem Element zu suchen · Esc zum Schließen - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher Leere Palette – Ziehe Elemente in deine persönliche Sammlung oder tippe, um zu suchen @@ -2914,8 +3629,8 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El - - + + Type Typ @@ -2998,8 +3713,8 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El - - + + Fonction Funktion @@ -3029,302 +3744,302 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El Wert - - - + + + Simple Einzelbauteil - + Maître Master - + Esclave Slave - + Renvoi de folio suivant abgehender Seitenverweis - + Renvoi de folio précédent ankommender Seitenverweis - + Bornier Klemme - + Vignette (Miniatur-)Ansicht - + Définition de conducteur Leitungsdefinition - - + + Normalement ouvert Schliesser - - + + Normalement fermé Öffner - - + + Inverseur Wechsler - + Other Andere - + Esclave PLC SPS-Slave - - + + Puissance Leistung - - + + Temporisé travail anzugverzögert - - + + Temporisé repos abfallverzögert - - + + Temporisé travail & repos Anzug- und Abfallverzögert - + Bobine Spule - + Organe de protection Schutzeinrichtung - + Commutateur / bouton Druck-/Drehschalter - + Module PLC SPS-Modul - - + + Générique Generisch - + Fusible Sicherung - + Séctionnable Trennklemme - + Diode Diode - + Phase Phase - + Neutre Neutralleiter - - - - - + + + + + T%1 T%1 - + Autre Andere - + Configuration PLC SPS-Konfiguration - + + + - + - - - - + + Adresse Adresse - - + + Commentaire Kommentar - + Réf. croisée Querverweis - - + + Nb. Anzahl - + T1 T1 - + Police des en-têtes Schriftart der Überschriften - + Configurer la police des en-têtes de colonnes Schriftart für Spaltenüberschriften festlegen - + Police du texte Schriftart des Textes - + Configurer la police du texte dans les cellules Schriftart des Textes in den Zellen festlegen - + Afficher les en-têtes sur la feuille Kopfzeilen auf dem Blatt anzeigen - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Spaltenüberschriften der SPS-Tabelle auf dem Blatt anzeigen oder ausblenden - + Saut %1 après: Sprung %1 danach: - + Aucun Keine - + H. ligne: Zeilenhöhe: - - + + mm mm - + Réf. Querverweis - + Nom personnalisé de la colonne (vide = par défaut) Benutzerdefinierter Spaltenname (leer = Standard) - + Visible Sichtbar - + Coller depuis le presse-papiers Aus der Zwischenablage einfügen - - + + Police des en-têtes: %1 %2pt Schriftgröße der Überschriften: %1 %2pt - - + + Police du texte: %1 %2pt Schriftgröße: %1 %2pt - + Police des en-têtes de colonnes Schriftart der Spaltenüberschriften - + Police du texte des cellules Schriftart des Zelltextes - + Terre Erde @@ -3338,7 +4053,7 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El - Élement + Élément Bauteil @@ -3474,97 +4189,97 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El Auswahl nach oben verschieben - + Ajouter la sélection Auswahl einfügen - + Supprimer la sélection Auswahl löschen - + Descendre la sélection Auswahl nach unten verschieben - + Pas de filtre Kein Filter - + N'est pas vide Ist nicht leer - + Est vide Ist leer - + Contient Enthält - + Ne contient pas Enthält nicht - + Est égal à Ist gleich - + N'est pas égale à Ungleich - + Filtre : Filter: - + Type d'éléments Bauteiltypen - + Simples Einzelbauteile - + Tous Alle - + Vignettes (Miniatur-)Ansichten - + Contacteurs et relais Schütze und Relais - + Boutons et commutateurs Tasten und Schalter - + Borniers Klemmleisten - + Organes de protection Schutzeinrichtungen @@ -3574,154 +4289,159 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El Exportieren - + Automates (MAE/SPS) Steuerungen (MAE/SPS) - + + Contacts esclaves + Slave-Kontakte + + + Configuration Konfiguration - + Ouvrir la configuration sélectionné Ausgewählte Konfiguration öffnen - + Sauvegarder la configuration actuelle Aktuelle Konfiguration speichern - + Importer des rapports depuis un fichier Berichte aus einer Datei importieren - + Importer... Importieren... - + Exporter tous les rapports enregistrés vers un fichier Alle gespeicherten Berichte in eine Datei exportieren - + Exporter... Exportieren... - + Requête SQL personnalisée Benutzerdefinierte SQL-Abfrage - + Requête SQL : SQL-Abfrage: - + Position Position - + Titre du folio Seitentitel - + Position du folio Seite - + Numéro du folio Seitennummer - - + + Exporter Exportieren - - + + Aucun rapport enregistré à exporter. Es sind keine Berichte zum Exportieren gespeichert. - + Exporter les rapports Berichte exportieren - - + + Fichiers JSON (*.json) JSON-Dateien (*.json) - - - - + + + + Erreur Fehler - + Impossible d'écrire dans %1. %1 kann nicht beschrieben werden. - + Importer des rapports Berichte importieren - + Impossible de lire %1. %1 kann nicht gelesen werden. - + %1 ne contient pas des rapports QElectroTech valides. %1 enthält keine gültigen QElectroTech-Berichte. - - + + Importer Import - + Ce fichier ne contient aucun rapport. Diese Datei enthält keine Berichte. - + Rapport déjà existant Bereits vorhandener Bericht - + Un rapport nommé « %1 » existe déjà. Le remplacer ? Ein Bericht mit dem Namen „%1“ existiert bereits. Möchten Sie ihn ersetzen? - + Impossible d'écrire la configuration locale. Die lokale Konfiguration kann nicht geschrieben werden. - + %1 rapport(s) importé(s), %2 ignoré(s). %1 Bericht(e) importiert, %2 ignoriert. @@ -3729,29 +4449,29 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El ElementScene - + Déplacer une primitive Stammfunktion verschieben - + Éditer les informations sur l'auteur window title Informationen über Autoren bearbeiten - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Sie können dieses freie Textfeld benutzen, um die Autoren, die Lizenz, oder jede weitere nützliche Information zu speichern. - + Éditer les noms window title Namen bearbeiten - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Sie können den Namen des Bauteiles in verschiedenen Sprachen eingeben. @@ -3759,101 +4479,101 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Die Auswahl ist keine Kategorie - + L'item demandé n'est pas une categrie. Abandon. message box content Die Auswahl ist keine Kategorie. Abbruch. - + Catégorie inexistante message box title Kategorie nicht vorhanden - + La catégorie demandée n'existe pas. Abandon. message box content Die gewünschte Kategorie ist nicht vorhanden. Abbruch. - + Éditer une catégorie window title Kategorie bearbeiten - + Créer une nouvelle catégorie window title Neue Kategorie erstellen - + Nom de la nouvelle catégorie default name when creating a new category Name der neuen Kategorie - + Édition en lecture seule message box title schreibgeschützte Bearbeitung - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Sie haben nicht die Schreibrechte, um diese Kategorie zu verändern: sie wird schreibgeschützt geöffnet. - + Nom interne : Interner Name: - + Vous pouvez spécifier un nom par langue pour la catégorie. Sie können einen Namen pro Sprache für die Kategorie eingeben. - + Nom interne manquant message box title Interner Name fehlt - + Vous devez spécifier un nom interne. message box content Es muss ein interner Name eingegeben werden. - + Nom interne déjà utilisé message box title Interner Name ist bereits vorhanden - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Der interne Name ist bereits einer anderen Kategorie zugewiesen. Bitte wählen Sie einen anderen Namen. - + Erreur message box title Fehler - + Impossible de créer la catégorie message box content Erstellen der neuen Kategorie nicht möglich @@ -3862,73 +4582,73 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El ElementsCollectionWidget - + Ouvrir le dossier correspondant Ordner öffnen - + Éditer l'élément Bauteil bearbeiten - + Supprimer l'élément Bauteil löschen - + Supprimer le dossier Ordner löschen - + Recharger les collections Bauteilsammlungen neu laden - + Éditer le dossier Ordner bearbeiten - + Nouveau dossier Neuer Ordner - + Nouvel élément Neues Bauteil - + Importer une pièce EPLAN (.edz)… Import EPLAN-Datei (.edz) ... - + Afficher uniquement ce dossier Nur diesen Ordner anzeigen - + Afficher tous les dossiers Alle Ordner anzeigen - + Propriété du dossier Ordnereigenschaften - + Supprimer l'élément ? message box title Bauteil löschen? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3936,25 +4656,25 @@ Der angezeigte Name des Elements lässt sich separat in den Eigenschaften des El - + Suppression de l'élément message box title Bauteil wird gelöscht - + La suppression de l'élément a échoué. message box content Das Löschen des Bauteils ist gescheitert. - + Supprimer le dossier? message box title Ordner löschen? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3962,24 +4682,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Ordner wird gelöscht - + La suppression du dossier a échoué. message box content Das Löschen vom Ordner ist gescheitert. - + Avertissement — Importation d'un fichier EPLAN (.edz) Warnung — Import EPLAN-Datei (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4006,44 +4726,44 @@ Mit dem Import dieser Datei bestätigen Sie, dass: • weder QElectroTech noch seine Betreuer oder Mitwirkenden für eine nicht konforme Verwendung dieser Daten haftbar gemacht werden können. - + J'ai lu et j'accepte ces conditions. Ich habe diese Bedingungen gelesen und akzeptiere sie. - + Importer Import - + Importer une pièce EPLAN Eine EPLAN-Datei importieren - + Pièces EPLAN (*.edz) EPLAN-Dateien (*.edz) - + Import EPLAN Import EPLAN - + Impossible d'importer cette pièce : %1 Konnte Datei nicht importieren: %1 - + Le dossier %1 contient Der Ordner %1 beinhaltet - + %n élément(s), répartie(s) %n Bauteil, verteilt @@ -4051,7 +4771,7 @@ Mit dem Import dieser Datei bestätigen Sie, dass: - + dans %n dossier(s). in %n Ordner. @@ -4059,32 +4779,32 @@ Mit dem Import dieser Datei bestätigen Sie, dass: - + Chemin de la collection : %1 Pfad der Sammlung: %1 - + Chemin dans le système de fichiers : %1 Pfad im Dateisystem: %1 - + Rechercher... Suchen... - + Collections Sammlung - + Modèles Vorlagen - + Propriété du dossier %1 Eigenschaften vom Ordner %1 @@ -4154,124 +4874,124 @@ Mit dem Import dieser Datei bestätigen Sie, dass: ElementsPanelWidget - + Ouvrir le dossier correspondant Ordner öffnen - + Copier le chemin Pfad in Zwischenablage kopieren - + Basculer vers ce projet zu diesem Projekt wechseln - + Fermer ce projet Projekt schließen - + Propriétés du projet Projekteigenschaften - + Propriétés du folio Seiteneigenschaften - + Ajouter un folio Neue Seite hinzufügen - + Insérer un folio au-dessus Eine Seite oberhalb einfügen - + Insérer un folio en dessous Eine Seite unterhalb einfügen - + Copier et coller Kopieren und Einfügen - + Supprimer ce folio Seite löschen - + Remonter ce folio Seite 1 Position nach oben verschieben - + Abaisser ce folio Seite 1 Position nach unten verschieben - + Remonter ce folio x10 Seite 10 Positionen nach oben verschieben - + Remonter ce folio x100 Seite 100 Positionen nach oben verschieben - + Remonter ce folio au debut Seite an den Anfang verschieben - + Abaisser ce folio x10 Seite 10 Positionen nach unten verschieben - + Abaisser ce folio x100 Seite 100 Positionen nach unten verschieben - - + + Panneau des éléments Elementübersicht - + Filtrer Filter - + Nouveau modèle Neues Schriftfeld - + Éditer ce modèle Schriftfeld bearbeiten - + Supprimer ce modèle Schriftfeld löschen @@ -4317,7 +5037,7 @@ Mit dem Import dieser Datei bestätigen Sie, dass: ExportConfigPage - + Export configuration page title Exportieren @@ -4326,102 +5046,102 @@ Mit dem Import dieser Datei bestätigen Sie, dass: ExportDialog - + Exporter Exportieren - + Tout cocher Alles auswählen - + Tout décocher Auswahl aufheben - + Exporter les folios du projet window title Seiten des Projekts exportieren - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Auswahl der zu exportierenden Seiten und deren Abmessungen: - + Titre du folio Seitentitel - + Nom de fichier Dateiname - + Dimensions Maße - + Noms des fichiers cibles message box title Namen der Zieldateien - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Die Dateinamen der zu exportierenden Seiten müssen einmalig und nicht leer sein. - + Dossier non spécifié message box title Ordner nicht angegeben - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Geben Sie den Pfad vom Ordner ein, in dem die Bilddateien gespeichert werden. - + Images non incluses dans l'export DXF message box title Bilder, die nicht im DXF-Export enthalten sind - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content Das hier verwendete DXF-Format (AC1006) erlaubt keine Einbindung von Bildern. Bilder werden lediglich durch ein Umrissrechteck dargestellt (Position, Größe, Drehung und Neigung bleiben erhalten), ohne den Bildinhalt. - + Impossible d'écrire dans ce fichier message box title Schreiben in dieser Datei nicht möglich - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Sie haben wahrscheinlich nicht die benötigten Rechte, um in die Datei %1 zu schreiben. - + Aperçu Vorschau - - + + px px @@ -4429,102 +5149,122 @@ Mit dem Import dieser Datei bestätigen Sie, dass: ExportPropertiesWidget - + Exporter dans le dossier dialog title in Ordner exportieren - + Dossier cible : Zielordner: - + Parcourir Durchsuchen - + Format : Format: - + PNG (*.png) PNG (*.png) - + JPEG (*.jpg) JPEG (*.jpg) - + Bitmap (*.bmp) Bitmap (*.bmp) - + SVG (*.svg) SVG (*.svg) - + DXF (*.dxf) DXF (*.dxf) - + Options de rendu groupbox title Renderoptionen - + Exporter entièrement le folio Ganze Seite exportieren - + Exporter seulement les éléments Nur Bauteile exportieren - + Dessiner la grille Raster zeichnen - + Dessiner le cadre Zeichnungsrahmen zeichnen - + Dessiner le cartouche Schriftfeld zeichnen - + Dessiner les bornes Anschlüsse zeichnen - + Dessiner les noms des bornes Klemmenbezeichnungen einzeichnen - + Conserver les couleurs des conducteurs Leiterfarben erhalten - + SVG: fond transparent SVG: transparenter Hintergrund + + + DXF : symboles en blocs + DXF: Symbole als Blöcke + + + + Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO + Jedes Symbol wird zu einem DXF-Block, der sich in einem CAD-Programm mit einem Klick auswählen lässt + + + + DXF : textes des symboles en attributs + DXF: Symboltexte als Attribute + + + + Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs. + Die Texte eines Symbols (BMK, Funktion...) werden zu Attributen seines Blocks. LibreCAD zeigt keine Attribute an. + FolioAutonumberingW @@ -4705,63 +5445,73 @@ Texte und Zahlen sind ebenso erlaubt. Verschieben anwenden - - + + Générique Generisch - + Fusible mit Sicherung - + Sectionnable Trennklemme - + Diode Diode - + Terre Erde - + Phase Aussenleiter - + Neutre Neutralleiter - + Sans ohne - + Avec mit - + Modifier des propriétés de borniers Eigenschaften der Klemmleiste ändern - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + Das Projekt hat keine Klemmenleiste: Erstellen Sie eine mit der Schaltfläche + + + + Appliquez ou annulez les modifications en cours avant de déplacer Übernehmen oder verwerfen Sie die aktuellen Änderungen, bevor Sie den Ordner verschieben - + + Sélectionnez dans le tableau les bornes à déplacer + Wählen Sie in der Tabelle die zu verschiebenden Klemmen aus + + + Déplacer les bornes sélectionnées vers le bornier choisi Die ausgewählten Klemmen an die ausgewählte Klemmenleiste verschieben @@ -4769,27 +5519,27 @@ Texte und Zahlen sind ebenso erlaubt. FreeTerminalModel - + Label Label - + Référence croisé Querverweis - + Type Typ - + Fonction Funktion - + led LED @@ -4807,47 +5557,48 @@ Texte und Zahlen sind ebenso erlaubt. Farben vom Betriebssystem verwenden - + Chemin de la collection utilisateur Pfad zur Benutzersammlung - + Chemin des cartouches utilisateur Pfad zu den Benutzer-Schriftfeldern - + Chemin de la collection commune Pfad zur QET Sammlung - - - - - - + + + + + + Par defaut Standard - - - - - - + + + + + + + Parcourir... Auswählen... - + (Recharger les collections d'éléments pour appliquer les changements) (Bauteilsammlungen neu laden, um die Änderungen zu übernehmen) - + Projets Projekte @@ -4857,41 +5608,41 @@ Texte und Zahlen sind ebenso erlaubt. Gesten vom Touchpad aktivieren - + Utiliser les numéros de folio à la place de leur position dans le projet Seitennummern anstelle von Seitenposition für Projektanzeigen verwenden - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Spalten vom Schriftfeld ab 0 nummerieren (sonst ab 1) - + Désactivé Deaktiviert - + min minute min - + Mettre en valeur dans le panel les éléments fraîchement intégrés Neu zum Projekt hinzugefügte Bauteile in der Sammlung hervorheben - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Jedes Bauteil enthält Informationen über den Autor, die Lizenz und weiteren nützlichen Hinweise in einem frei definierbaren Textfeld. Hier unten kann der Standardwert dieses Textfeldes für Ihre eigenen Bauteile definiert werden: - + Appliqué au prochain lancement de QElectroTech Wirksam nach einem Neustart von QElectroTech @@ -4901,62 +5652,62 @@ Hier unten kann der Standardwert dieses Textfeldes für Ihre eigenen Bauteile de Form - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatisches Abspeichern der Projekte (wirksam nach einem Neustart von QElectroTech) - + Collections Sammlungen - + Accès aux collections Zugriff auf Sammlungen - + Répertoire de la collection commune Pfad zur gemeinsamen Bauteilsammlung - + Répertoire de la collection utilisateur Pfad zur Benutzer-Bauteilsammlung - + Répertoire des cartouches utilisateur Pfad zu den Benutzer-Schriftfeldern - + Gestion des éléments Bauteilverwaltung - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Einstellungen für die Standarddarstellung der verschiedenen Texte - + Grille + Clavier Raster & Tastatur - + Grille : 1 - 30 Raster: 1 - 30 - + DiagramEditor xGrid Schaltplaneditor, Schrittweite x - + DiagramEditor yGrid Schaltplaneditor, Schrittweite y @@ -4971,218 +5722,333 @@ Hier unten kann der Standardwert dieses Textfeldes für Ihre eigenen Bauteile de Die Eigenschaften eines ausgewählten Leiters im Fenster „Eigenschaften der Auswahl“ anzeigen - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + Nicht aktiviert wird keine Regel für Leiter pro Anschluss angewendet, unabhängig von den Einstellungen der Projekte. + + + + Appliquer les règles de conducteurs par borne des projets + Die Regeln der Projekte für Leiter pro Anschluss anwenden + + + + Nombre maximal de conducteurs par borne : + Maximale Anzahl Leiter pro Anschluss: + + + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Für alle Projekte außer denen mit eigenen Einstellungen. Ein neuer Leiter, der diese Anzahl an einem Anschluss überschreiten würde, wird abgelehnt; bereits gezeichnete Leiter werden nicht geändert. 4 entspricht zwei Doppel-Aderendhülsen, eine auf jeder Seite der Schraube. + + + + Sans limite + Ohne Begrenzung + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + Ein Seitenverweis ist ein virtueller Punkt: Er nimmt nur einen Leiter auf, den, der auf der anderen Seite weitergeht. + + + + Un seul conducteur par renvoi de folio + Nur ein Leiter pro Seitenverweis + + + Afficher la grille par défaut (appliqué au prochain lancement) Standardraster anzeigen (gilt ab dem nächsten Start) - + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. Standardmäßig wird das Element durch einen Doppelklick in das Folio eingefügt; die Bearbeitung ist weiterhin über das Kontextmenü möglich. - + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer Ein Doppelklick in der Sammlung öffnet den Element-Editor, anstatt das Element einzufügen - + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Aktiviert: eine einzige Liste, die beste Übereinstimmung zuerst. Nicht aktiviert: der Sammlungsbaum, gefiltert nach der Suche. + + + + Afficher les résultats de recherche sous forme de liste triée + Suchergebnisse als sortierte Liste anzeigen + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. Nach einem Klick, mit dem ein Element oder ein Leiter ausgewählt wird, erscheinen die Befehle der Schnellzugriffsleiste in der Nähe des Cursors und verschwinden wieder, sobald die Maus wegbewegt wird. - + Afficher les commandes près de la sélection Befehle neben der Auswahl anzeigen - + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. Wenn Sie die rechte Maustaste gedrückt halten und in eine Richtung ziehen, wird ein Befehl aus der Schnellzugriffsleiste ausgeführt. Ein einfacher Rechtsklick öffnet wie gewohnt das Kontextmenü, sobald Sie die Taste loslassen. - + Gestes de la souris avec le bouton droit Mausaktionen mit der rechten Maustaste - + Afficher les guides par défaut (appliqué au prochain lancement) Standardhilfslinien anzeigen (gilt ab dem nächsten Start) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Projekte in Fenstern anz&eigen (wirksam nach einem Neustart von QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Projekte in Reitern anzeigen (wirksa&m nach einem Neustart von QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Methode zur Skalierung bei hochauflösenden Bildschirmen (hdpi) (wirksam nach einem Neustart von QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + Eingefügte oder duplizierte Bauteile, die einer Nummerierung folgen, automatisch nummerieren + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + Ein eingefügtes Bauteil erhält die nächste Nummer seiner Nummerierung statt des Namens des kopierten Bauteils, und die Nummerierung rückt vor. + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) Ausführung von JavaScript-Skripten zulassen (Projekt > Skript ausführen und --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. Ein Skript wird mit Ihren Berechtigungen ausgeführt: Es kann das geöffnete Projekt lesen und ändern sowie Dateien schreiben. Standardmäßig deaktiviert; führen Sie nur Skripte aus, deren Herkunft Sie kennen. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Einem KI-Assistenten erlauben, auf das geöffnete Projekt zu wirken (Direktmodus) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + Ein über den MCP-Server verbundener Assistent kann dann vor Ihren Augen Skripte auf dem geöffneten Projekt ausführen. Solange diese Einstellung aktiviert ist, wird bei jedem Start eine Warnung angezeigt. Wirksam ab dem nächsten Start; das Deaktivieren trennt die Verbindung sofort. + + + Répertoire de la collection company Pfad zur Firmen-Bauteilsammlung - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Das Präfix der Ordner der Benutzersammlung erstellen oder ändern (Datei qet_labels.xml) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Präfixe konfigurieren… + + + Répertoire des cartouches company Pfad zu Firmen-Schriftfeldern - + Répertoire des Macros utilisateur Pfad zu Benutzer-Vorlagen - + + Fichier de la liste de matériaux + Datei der Materialliste + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Materialverzeichnis, mit dem die Artikel eines Bauteils ausgefüllt werden + + + + Non configuré + hint shown when no material file is configured yet + Nicht konfiguriert + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + Die Listendatei mit ihren Kopfzeilen erstellen + + + + Créer... + Erstellen... + + + Langues Sprachen - + Textes Texte - + Textes d'éléments Bauteiltexte - - - + + + Police : Schriftart: - - + + ° ° - + Longueur : Länge: - - + + Rotation : Drehung: - + Textes indépendants Unabhängige Textfelder - + Autres textes Sonstige Texte - + La Grille doite etre active pour pouvoir voir les modifications. Änderungen sind nur sichtbar, wenn das Raster aktiviert ist. - + Grille des textes déplacés à la souris Raster der mit der Maus verschobenen Texte - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. Rasterteil der Seiten. Halten Sie beim Verschieben die Strg-Taste gedrückt, um die Elemente frei zu platzieren. - + Déplacement au clavier : 1 - 30 Bewegung mittels Tastatur: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Schaltplaneditor (rechts/links Tasten), Schrittweite x - + DiagramEditor (touche : haut / bas) yGrid Schaltplaneditor (hoch/runter Tasten), Schrittweite y - + Déplacement au clavier avec la touche ALT : 1 - 9 Bewegung mittels Tastatur und ALT Taste: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Schaltplaneditor (rechts/links Tasten), Schrittweite x - + DiagramEditor (touche : haut / bas) yGrid Schaltplaneditor (hoch/runter Tasten), Schrittweite y - + Affichage Grille Anzeige Raster - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + Beim Speichern eines Bauteils: zwei Anschlüsse mit demselben Namen ablehnen und Anschlüsse ohne Namen melden (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Anschlussnamen beim Speichern prüfen + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Punktgröße im Schaltplaneditor: 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Punktgröße im Element-Editor: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Max. Anzahl in der Element Editor Liste - + Ne pas conserver les labels des éléments lors des copier coller Betriebsmittelkennzeichen von Bauteilen beim Kopieren/Einfügen nicht beibehalten @@ -5192,218 +6058,327 @@ Hier unten kann der Standardwert dieses Textfeldes für Ihre eigenen Bauteile de Ansicht verkleinern über die Seite hinaus erlauben - + Arrondi supérieur pour 0.5 et plus ab 0,5 aufrunden - + Toujours arrondi supérieur immer aufrunden - + Toujours arrondi inférieur immer abrunden - + Arrondi supérieur pour 0.75 et plus ab 0,75 aufrunden - + Pas d'arrondi nicht runden - + Désactivée Deaktiviert - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. Wird durch die Umgebungsvariable QET_ENABLE_SCRIPTING aktiviert; diese Einstellung hat keine Auswirkung, solange sie gesetzt ist. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + Nicht konfiguriert (Standard: %1) + + + Général configuration page title Allgemein - + Système System - + Arabe Arabisch - + Brézilien Brasilianisch - + Catalan Katalanisch - + Tchèque Tschechisch - + Allemand Deutsch - + Danois Dänisch - + Grec Grieschisch - + Anglais Englisch - + Espagnol Spanisch - + Français Französisch - + Croate Kroatisch - + Italien Italienisch - + Japonais Japanisch - + Coréen Koreanisch - + Polonais Polnisch - + Portugais Portugesisch - + Roumains Rumänisch - + Russe Russisch - + Slovène Slowenisch - + Pays-Bas Niederländisch - + Norvege Norwegisch - + Belgique-Flemish Belgien-Flandern - + Turc Türkisch - + Hongrois Ungarisch - + Mongol Mongolisch - + Ukrainien Ukrainisch - + Chinois Chinesisch - + Suédois Schwedisch - + Chemin de la collection company Pfad zur Firmen-Sammlung - + Chemin des cartouches company Firmen-Schriftfelder - + Chemin des macros utilisateur Pfad zu den Benutzer-Vorlagen - + + Répertoire introuvable + Verzeichnis nicht gefunden + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + Das Verzeichnis der Benutzersammlung: +%1 +existiert nicht und konnte nicht erstellt werden. + + + + Aucun sous-dossier + Kein Unterordner + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + Die Benutzersammlung: +%1 +enthält keinen Unterordner: Es gibt also kein Präfix zu konfigurieren. + + + + Fichier de préfixes illisible + Präfixdatei nicht lesbar + + + + Fichier de préfixes endommagé + Präfixdatei beschädigt + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + Die Datei %1 ist keine gültige XML-Datei: +%2 + + + + Corriger le fichier + Datei korrigieren + + + + Reconstruire + Neu aufbauen + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Es wurde noch nichts geändert. + +„Datei korrigieren“: Dieses Fenster schließt sich, ohne etwas zu ändern. Öffnen Sie die Datei in einem Texteditor an der angegebenen Stelle, korrigieren Sie sie und starten Sie diesen Befehl erneut. + +„Neu aufbauen“: Der Ordnerbaum wird neu erstellt, aber alle aktuellen Präfixe gehen verloren. Die aktuelle Datei wird vor dem Ersetzen unter dem Namen qet_labels.xml.bak aufbewahrt. + + + + Fichier : %1 + Datei: %1 + + + + Sélectionner le fichier de la liste de matériaux + Datei der Materialliste auswählen + + + + + Fichiers csv (*.csv) + csv-Datei (*.csv) + + + + Créer le fichier de la liste de matériaux + Datei der Materialliste erstellen + + + + Création impossible + Erstellen nicht möglich + + + + Impossible de créer le fichier : +%1 +%2 + Die Datei konnte nicht erstellt werden: +%1 +%2 + + + To high values might lead to crashes of the application. Zu große Werte können zum Absturz der Applikation führen - + Fonctionnalité expérimental Experimentelle Funktion - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5463,113 +6438,217 @@ Alle Einstellungen außer „Keine Rundung“ können je nach folgenden Faktoren Das ist eine Schriftfeld-Vorlage, die auf eine Seite angewendet werden kann. - + %1 [non utilisé dans le projet] %1 [im Projekt nicht verwendet] + + GesturesConfigPage + + + Faites glisser avec le bouton droit sur un folio : un anneau de commandes s'ouvre, relâchez vers celle à lancer. Tant que vous ne changez pas l'anneau d'un contexte, il montre les commandes de la barre de raccourcis. Les gestes s'activent ou se désactivent dans la page Général. + Ziehen Sie mit der rechten Maustaste auf einer Seite: Ein Befehlsring öffnet sich, lassen Sie in Richtung des auszuführenden Befehls los. Solange Sie den Ring eines Kontexts nicht ändern, zeigt er die Befehle der Schnellzugriffsleiste. Die Gesten werden auf der Seite Allgemein aktiviert oder deaktiviert. + + + + 8 directions + 8 Richtungen + + + + 4 directions + 4 Richtungen + + + + Placer → + Platzieren → + + + + Vider la direction + Richtung leeren + + + + Comme la barre de raccourcis + Wie die Schnellzugriffsleiste + + + + Commandes disponibles + Verfügbare Befehle + + + + Anneau, la direction choisie en surbrillance + Ring, die gewählte Richtung hervorgehoben + + + + Directions : + Richtungen: + + + + Contexte : + Kontext: + + + + Gestes de la souris + configuration page title + Mausgesten + + + + (direction vide) + (leere Richtung) + + + + Anneau personnalisé pour ce contexte. + Eigener Ring für diesen Kontext. + + + + Cet anneau suit la barre de raccourcis. + Dieser Ring folgt der Schnellzugriffsleiste. + + GraphicsTablePropertiesEditor + Affichage - Darstellung + Darstellung + Nom du tableau - Name der Tabelle + Name der Tabelle + Aucun Keine + Toutes - Alles + Alles + Lignes à afficher : - Anzuzeigende Zeilen: + Anzuzeigende Zeilen: + Y : - y: + y: + Tableau suivant - Nächste Tabelle + Nächste Tabelle + X : - x: + x: + Tableau précédent - Vorherige Tabelle + Vorherige Tabelle + Tableau précédent : - Vorherige Tabelle: + Vorherige Tabelle: + Géometrie et lignes - Geometrie und Linien + Geometrie und Linien + Appliquer la géometrie à tous les tableaux liée à celui-ci - Geometrie auf alle hiermit verknüpften Tabellen anwenden + Geometrie auf alle hiermit verknüpften Tabellen anwenden + Ajuster le tableau au folio - Tabelle an Seitengröße anpassen + Tabelle an Seitengröße anpassen + Form - Eigenschaften Tabelle + Eigenschaften Tabelle + TextLabel - TextLabel + TextLabel + En tête - Kopfzeile + Kopfzeile + + Marge - Rand + Rand + Aligement : - Ausrichtung: + Ausrichtung: + + Gauche - Linksbündig + Linksbündig + + Centré - Zentriert + Zentriert + + Droite - Rechtsbündig + Rechtsbündig + + Police - Schriftart + Schriftart + Tableau - Tabelleninhalt + Tabelleninhalt + Alignement : - Ausrichtung: + Ausrichtung: + Contenu - Inhalt + Inhalt @@ -5708,7 +6787,7 @@ Alle Einstellungen außer „Keine Rundung“ können je nach folgenden Faktoren - + Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. Gesperrt: Wenn Sie die Breite oder Höhe ändern, wird die andere Größe entsprechend angepasst, um das Seitenverhältnis beizubehalten. Klicken Sie hier, um die Sperre aufzuheben. @@ -5760,33 +6839,48 @@ Alle Einstellungen außer „Keine Rundung“ können je nach folgenden Faktoren Position sperren - + + Adapter l’image au thème sombre + Bild an dunkles Design anpassen + + + + Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés. + Passt die Farben nur für die dunkle Darstellung an. Das Originalbild, Exporte und Ausdrucke bleiben unverändert. + + + Modifier la largeur d'une image Die Breite eines Bildes ändern - + Modifier la hauteur d'une image Die Höhe eines Bildes ändern - + Modifier l'angle d'une image Den Winkel eines Bildes ändern - - + + Modifier l'inclinaison d'une image Die Neigung eines Bildes ändern - + Modifier le libellé d'une image Die Bildbeschriftung ändern - + + Modifier l'adaptation d'une image au thème sombre + Anpassung eines Bildes an das dunkle Design ändern + + + Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. Entsperrt: Breite und Höhe können unabhängig voneinander geändert werden. Zum Sperren bitte anklicken. @@ -5794,42 +6888,42 @@ Alle Einstellungen außer „Keine Rundung“ können je nach folgenden Faktoren ImageTransparentColorDialog - + Couleur transparente Transparente Farbe - + Image source Bildquelle - + Aperçu Vorschau - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Toleranz für diese Farbe - + Retirer cette couleur Diese Farbe entfernen - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Klicken Sie auf das Bild, um eine Farbe hinzuzufügen. Passen Sie die Toleranz jeder Farbe mit dem entsprechenden Schieberegler an oder klicken Sie auf ×, um sie zu entfernen. - + Cliquez sur l'image pour choisir une couleur Klicken Sie auf das Bild, um eine Farbe auszuwählen @@ -5888,100 +6982,139 @@ Alle Einstellungen außer „Keine Rundung“ können je nach folgenden Faktoren IndiTextPropertiesWidget + Form - Form + Form + X : - x: + x: + Éditeur avancé - Fortgeschrittener Editor + Fortgeschrittener Editor + Taille : - Größe: + Größe: + Angle : - Winkel: + Winkel: + + + px - px + px + ° - ° + ° + Y : - y: + y: + + Largeur : + Breite: + + + + Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique + Breite des Textes, der Text wird umgebrochen. Auto: kein automatischer Zeilenumbruch + + + + Auto + Auto + + + Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html. Veuillez utiliser l'éditeur avancé pour cela. - Inhalt, Größe und Schriftart vom Text können nur im fortgeschrittenen Editor geändert werden (wegen html Formatierung). + Inhalt, Größe und Schriftart vom Text können nur im fortgeschrittenen Editor geändert werden (wegen html Formatierung). + Texte - Text + Text - - - + + + + Police Schriftart + Cliquez ici pour annuler le formatage html - html Formatierung entfernen + html Formatierung entfernen - - + + Déplacer un champ texte Textfeld verschieben - + Pivoter un champ texte Textfeld drehen - + Modifier un champ texte Textfeld ändern - + Modifier la taille d'un champ texte Größe eines Textfelds ändern - + Modifier la police d'un champ texte Schriftart eines Textfelds ändern - + + Modifier la largeur d'un champ texte + Breite eines Textfelds ändern + + + Pivoter plusieurs champs texte Mehrere Textfelder drehen - + Modifier la taille de plusieurs champs texte Größe mehrerer Textfelder ändern - + Modifier la police de plusieurs champs texte Schriftart mehrerer Textfelder ändern - + + Modifier la largeur de plusieurs champs texte + Breite mehrerer Textfelder ändern + + + Modifier les propriétés d'un texte Eigenschaften eines Textfelds ändern @@ -6045,28 +7178,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title Zu einem Element navigieren - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… Name, Bezeichnung oder Angabe des Elements oder Feldes (z. B. B13 oder 3-B13)… - + Case %1 Feld %1 - + Folio %1, case %2 Seite %1, Feld %2 - + Folio %1 (%2), case %3 Seite %1 (%2), Feld %3 @@ -6317,6 +7450,140 @@ Veuillez utiliser l'éditeur avancé pour cela. Trennen + + LiveServer + + + Mode direct + Direktmodus + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + Der Direktmodus ist aktiviert: Ein verbundener KI-Assistent kann Skripte auf dem geöffneten Projekt ausführen. + +Jede Aktion lässt sich mit Strg+Z rückgängig machen, und die Schaltfläche „Stopp“ in der Statusleiste trennt die Verbindung. + +Diese Einstellung finden Sie unter QElectroTech Einstellungen > Allgemein > Projekte. + + + + &Continuer + &Fortfahren + + + + &Pas pour cette session + &Nicht für diese Sitzung + + + + &Désactiver + &Deaktivieren + + + + Ne plus demander au démarrage + Beim Start nicht mehr fragen + + + + Le mode direct s'ouvrira à chaque démarrage. Pour être de nouveau averti, désactivez-le puis réactivez-le dans Configurer QElectroTech > Général > Projets. + Der Direktmodus wird bei jedem Start geöffnet. Um wieder gewarnt zu werden, deaktivieren Sie ihn und aktivieren Sie ihn erneut unter QElectroTech Einstellungen > Allgemein > Projekte. + + + + + script + Skript + + + + Impression + Drucken + + + + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + + Der Assistent möchte %n Seite von „%1“ auf „%2“ drucken. + Der Assistent möchte %n Seiten von „%1“ auf „%2“ drucken. + + + + + &Imprimer + &Drucken + + + + &Annuler + &Abbrechen + + + + + Assistant : %1 + Assistent: %1 + + + + L'assistant veut exécuter un script + Der Assistent möchte ein Skript ausführen + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + „%1“ auf dem geöffneten Projekt. Nach der Ausführung macht Strg+Z es rückgängig. + + + + &Exécuter + &Ausführen + + + + &Refuser + A&blehnen + + + + &Toujours + &Immer + + + &Toujours pour cette session + &Immer für diese Sitzung + + + + MacroRecorder + + + Macro du %1 + Makro vom %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + Projekt während der Aufzeichnung geschlossen: kein after.qet + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + Ich habe ein Makro in QElectroTech aufgezeichnet: „%1“, %n Schritt (Kennung %2, Ordner %3). +Mit dem MCP-Server qet: Lies es mit qet_recording_read, schreibe ein Skript, das dasselbe auf allgemeine Weise tut (zum Beispiel auf den ausgewählten Bauteilen statt genau auf diesen), prüfe es mit qet_recording_check, bis es übereinstimmt, und biete es dann mit qet_script_install als Schaltfläche an. + Ich habe ein Makro in QElectroTech aufgezeichnet: „%1“, %n Schritte (Kennung %2, Ordner %3). +Mit dem MCP-Server qet: Lies es mit qet_recording_read, schreibe ein Skript, das dasselbe auf allgemeine Weise tut (zum Beispiel auf den ausgewählten Bauteilen statt genau auf diesen), prüfe es mit qet_recording_check, bis es übereinstimmt, und biete es dann mit qet_script_install als Schaltfläche an. + + + MarginsEditDialog @@ -6358,7 +7625,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>Ausgewähltes Bauteil trennen</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Ausgewähltes Bauteil verbinden</p></body></html> @@ -6470,7 +7737,7 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Anschlüsse - + Coller depuis le presse-papiers Aus der Zwischenablage einfügen @@ -6480,6 +7747,162 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Querverweis (Master) + + MaterialEntryDialog + + + Nouvelle entrée + Neuer Eintrag + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Geben Sie den hinzuzufügenden Artikel an. Leer gelassene Felder bleiben in der Datei leer. + + + + Enregistrer + Speichern + + + + Annuler + Abbrechen + + + + Aucun renseignement + Keine Angaben + + + + Saisissez au moins un renseignement pour créer une entrée. + Geben Sie mindestens eine Angabe ein, um einen Eintrag zu erstellen. + + + + MaterialList + + + + Bloc auxiliaire + Hilfsblock + + + + Aucun récepteur pour le répertoire de matériaux. + Kein Empfänger für das Materialverzeichnis. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + Die Datei enthält keine Kopfzeile: Spalten fehlen. + + + + Le fichier existe déjà et n'est pas vide. + Die Datei existiert bereits und ist nicht leer. + + + + MaterialSelectionDialog + + + Liste de matériaux + Materialliste + + + + Rechercher : + Suchen: + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + Alle eingegebenen Wörter müssen irgendwo in der Zeile vorkommen + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + In allen Spalten suchen + + + + Entrées : 0 + Einträge: 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + Einen neuen Artikel zur Liste hinzufügen + + + + Nouvelle entrée + Neuer Eintrag + + + + Appliquer + Anwenden + + + + Annuler + Abbrechen + + + + Lecture impossible + Lesen nicht möglich + + + + Impossible de lire le fichier : +%1 +%2 + Die Datei konnte nicht gelesen werden: +%1 +%2 + + + + Entrées : %1 + Einträge: %1 + + + + Entrées : %1 sur %2 + Einträge: %1 von %2 + + + + Aucune sélection + Keine Auswahl + + + + Sélectionnez d'abord un article dans la liste. + Wählen Sie zuerst einen Artikel aus der Liste. + + + + Écriture impossible + Schreiben nicht möglich + + + + Impossible d'écrire dans le fichier : +%1 +%2 + In die Datei konnte nicht geschrieben werden: +%1 +%2 + + MultiPasteDialog @@ -6529,10 +7952,15 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Auto-Nummerierung der Leiter - + Multi-collage Mehrfach einfügen + + + Numéroter les éléments collés + Eingefügte Bauteile nummerieren + NameListDialog @@ -6542,7 +7970,7 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Dialog - + Variables de cartouche Schriftfeld-Variablen @@ -6570,7 +7998,7 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Zeile einfügen - + Copier dans le presse papier In die Zwischenablage kopieren @@ -6578,63 +8006,63 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? NewDiagramPage - + Folio Seiteneigenschaften - + Conducteur Leitereigenschaften - + Reports de folio Seitenverweise - + Références croisées Querverweise - + Guides Hilfslinien - + Définir les règles de numérotation automatique par défaut pour les nouveaux projets : Standardregeln für die automatische Nummerierung neuer Projekte festlegen: - + Conducteurs Leiter - + Eléments Bauteile - + Folios Seiten - + Numérotation auto Auto-Nummerierung - + Nouveau folio configuration page title Neue Seite - + Nouveau projet configuration page title Neues Projekt @@ -6643,90 +8071,90 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? NewElementWizard - + Créer un nouvel élément : Assistant window title Neues Bauteil erstellen: Assistent - + &Suivant > &Weiter > - + Étape 1/3 : Catégorie parente wizard page title Schritt 1/3: übergeordnete Kategorie - + Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Suchen Sie eine Kategorie aus, in der das neue Bauteil gespeichert wird. - + Étape 2/3 : Nom du fichier wizard page title Schritt 2/3: Dateiname - + Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Geben Sie den Dateinamen ein zum Speichern des neuen Bauteils. - + nouvel_element Neues_Bauteil - + Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. Sie müssen nicht die Dateierweiterung *.elmt eingeben. Diese wird automatisch eingefügt. - + Étape 3/3 : Noms de l'élément wizard page title Schritt 3/3: Bauteilname - + Indiquez le ou les noms de l'élément. wizard page subtitle Einen oder mehrere Namen für das Bauteil eingeben. - + Nom du nouvel élément default name when creating a new element Name des neuen Bauteils - - - + + + Erreur message box title Fehler - + Vous devez sélectionner une catégorie. message box content Sie müssen eine Kategorie auswählen. - + Vous devez entrer un nom de fichier message box content Sie müssen einen Dateinamen eingeben - + Un élément portant le même nom existe déjà Ein Bauteil mit dem gleichen Namen existiert bereits @@ -6909,13 +8337,13 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisches Textfeld - + Déplacer un champ texte Textfeld verschieben @@ -6975,25 +8403,47 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? PartText - + Déplacer un texte Text verschieben - + Modifier un champ texte Textfeld ändern + + PasteNumberingImport + + + Numérotation absente de ce projet + Nummerierung in diesem Projekt nicht vorhanden + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + Die eingefügten Bauteile folgen %n Nummerierung, die in diesem Projekt nicht existiert: %1. + +Soll sie importiert werden? Die Bauteile erhalten dann die nächsten Nummern, ab 1. Andernfalls werden sie ohne Nummerierung eingefügt. + Die eingefügten Bauteile folgen %n Nummerierungen, die in diesem Projekt nicht existieren: %1. + +Sollen sie importiert werden? Die Bauteile erhalten dann die nächsten Nummern, ab 1. Andernfalls werden sie ohne Nummerierung eingefügt. + + + PdfPagesDialog - + Sélectionner une page Eine Seite auswählen - + Ce document PDF contient %n page(s) Dieses PDF-Dokument umfasst %n Seite @@ -7001,32 +8451,32 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? - + Page à importer : Zu importierende Seite: - + Résolution : Auflösung: - + 150 DPI (écran) 150 DPI (Bildschirm) - + 300 DPI (impression) 300 DPI (Druck) - + 600 DPI (haute qualité) 600 DPI (hohe Qualität) - + Aperçu : Übersicht: @@ -7132,12 +8582,12 @@ Möchten Sie diesen Slave-Kontakt trotzdem verbinden? Geschlossenes Polygon - + Ajouter un point Punkt einfügen - + Supprimer ce point Punkt löschen @@ -7190,26 +8640,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Wählen Sie die anzuwendenden Eigenschaften für das neue Potenzial. - - - + + + Fonction : %1 Funktion: %1 - - - + + + Tension/protocole : %1 Spannung / Protokoll: %1 - - + + %n conducteurs composent le potentiel suivant : Das folgende Potenzial setzt sich aus %n Leiter zusammen: @@ -7217,56 +8667,56 @@ Spannung / Protokoll: %1 - - - + + + Numéro : %1 Nummer: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Dem neuen Potenzial ein Bestehendes aus der Liste zuweisen - - - + + + Couleur du conducteur : %1 Farbe des Leiters: %1 - - - + + + Section du conducteur : %1 Leiterquerschnitt: %1 - + Ajouter au câble: %1 Zum Kabel hinzufügen: %1 - + Ajouter au bus: %1 Zum Bus hinzufügen: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschaften von mehreren Leitern ändern - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7277,10 +8727,113 @@ Folgende Variablen sind inkompatibel: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + Präfixe der Benutzersammlung + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Jeder Ordner der Sammlung hat ein Präfix: Es wird vor die Bezeichnung der Bauteile des Ordners gesetzt. +Ein leeres Feld bedeutet, dass der Ordner das Präfix seines übergeordneten Ordners übernimmt. + + + + Dossier + column header of the folder tree + Ordner + + + + Préfixe + column header of the prefix column + Präfix + + + + Tout déplier + Alle ausklappen + + + + Tout replier + Alle einklappen + + + + Entrées sans dossier + Einträge ohne Ordner + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n Eintrag von qet_labels.xml entspricht keinem Ordner der Sammlung: +behalten oder löschen? + %n Einträge von qet_labels.xml entsprechen keinem Ordner der Sammlung: +behalten oder löschen? + + + + + Conserver + Behalten + + + + Supprimer + Löschen + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + kein Präfix: erbt nicht vom übergeordneten Ordner + + + + + hériter du dossier parent + placeholder of an empty prefix field + vom übergeordneten Ordner erben + + + + Enregistrement impossible + Speichern nicht möglich + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + Die Datei %1 konnte nicht gespeichert werden: +%2 + + + + Fichier endommagé remplacé + Beschädigte Datei ersetzt + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + Die Datei %1 war nicht lesbar: Sie wurde ersetzt. +Ihre Kopie wurde aufbewahrt unter: +%2 + + PrintConfigPage - + Impression configuration page title Druck @@ -7289,155 +8842,361 @@ Folgende Variablen sind inkompatibel: ProjectAutoNumConfigPage - + Numérotation auto Auto-Nummerierung - + Management Aktualisierungsrichtlinien - - + + Conducteurs Leiter - - + + N° + Nr. + + + + Nom + Name + + + + Folio + Seite + + + + Élément + Bauteil + + + + Figé + Eingefroren + + + + Attribuer un numéro libre… + Freie Nummer zuweisen… + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + Dem ausgewählten Bauteil eine Nummer geben, die niemand hat: Es behält seine Nummerierung, nur seine Nummer ändert sich. + + + + Eléments Bauteile - - + + Folios Seiten - + Numérotation auto des folios Seiten-Auto-Nummerierung - + Importer depuis un autre projet... Aus einem anderen Projekt importieren... - + Reprendre les numérotations automatiques enregistrées dans un autre projet Die in einem anderen Projekt gespeicherten automatischen Nummerierungen übernehmen - - - - - - - - Sans nom - Unbenannt + + figé + eingefroren - + + — libre — + — frei — + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + kein Bauteil hat diese Nummer (gelöscht oder neu nummeriert) + + + + Aucun élément ne suit cette numérotation + Kein Bauteil folgt dieser Nummerierung + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + %n Bauteil folgt dieser Nummerierung, davon %1 mit eingefrorenem Namen + %n Bauteile folgen dieser Nummerierung, davon %1 mit eingefrorenem Namen + + + + + ; %n numéro(s) sans élément + + ; %n Nummer ohne Bauteil + ; %n Nummern ohne Bauteil + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + Diese Nummerierung hat mehrere Nummern (oder eine Nummer pro Seite): Es kann keine von Hand gewählt werden. + + + + Attribuer un numéro libre + Freie Nummer zuweisen + + + + Le nom de cet élément est figé : dégelez-le d'abord. + Der Name dieses Bauteils ist eingefroren: Geben Sie ihn zuerst frei. + + + + Aucun numéro n'est libre. + Keine Nummer ist frei. + + + + %1 → %2 + %1 → %2 + + + + Numéro libre pour l'élément « %1 » (%2) : + Freie Nummer für das Bauteil „%1“ (%2): + + + + + Nom de la numérotation : + Name der Nummerierung: + + + + + Modifier la numérotation + Nummerierung ändern + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + %n Bauteil folgt dieser Nummerierung und wird Formel und Namen ändern. + %n Bauteile folgen dieser Nummerierung und werden Formel und Namen ändern. + + + + + + + + Nouvelle numérotation + Neue Nummerierung + + + + + Renommer la numérotation + Nummerierung umbenennen + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + Die Nummerierung „%1“ kann nicht geändert werden: %n Bauteil mit eingefrorenem Namen folgt ihr. +Geben Sie es zuerst frei (siehe Liste), oder benennen Sie die Nummerierung nur um. + Die Nummerierung „%1“ kann nicht geändert werden: %n Bauteile mit eingefrorenem Namen folgen ihr. +Geben Sie sie zuerst frei (siehe Liste), oder benennen Sie die Nummerierung nur um. + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + %n Nummerierung, der Bauteile mit eingefrorenem Namen folgen, wurde nicht ersetzt. + %n Nummerierungen, denen Bauteile mit eingefrorenem Namen folgen, wurden nicht ersetzt. + + + + + %n élément(s) ont changé de formule. + + %n Bauteil hat die Formel gewechselt. + %n Bauteile haben die Formel gewechselt. + + + + + + Supprimer la numérotation + Nummerierungsregel löschen + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + %n Bauteil folgt der Nummerierung „%1“, sie kann nicht gelöscht werden. +Geben Sie ihm zuerst eine andere Nummerierung oder einen festen Namen. + %n Bauteile folgen der Nummerierung „%1“, sie kann nicht gelöscht werden. +Geben Sie ihnen zuerst eine andere Nummerierung oder einen festen Namen. + + + + + Aucun folio ne nomme cette numérotation + Keine Seite nennt diese Nummerierung + + + + %n folio(s) nomment cette numérotation + + %n Seite nennt diese Nummerierung + %n Seiten nennen diese Nummerierung + + + + + Aucun folio ne suit cette numérotation + Keine Seite folgt dieser Nummerierung + + + + %n folio(s) suivent cette numérotation + + %n Seite folgt dieser Nummerierung + %n Seiten folgen dieser Nummerierung + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + %n Seite folgt der Nummerierung „%1“, sie kann nicht gelöscht werden. +Geben Sie ihr zuerst eine andere Nummerierung. + %n Seiten folgen der Nummerierung „%1“, sie kann nicht gelöscht werden. +Geben Sie ihnen zuerst eine andere Nummerierung. + + + + Sans nom + Unbenannt + + + Importer les numérotations d'un projet Nummerierungen aus einem Projekt importieren - + Projet QElectroTech (*.qet) QElectroTech-Projekt (*.qet) - - + + Import impossible Import nicht möglich - + Impossible d'ouvrir %1 %1 kann nicht geöffnet werden - + %1 n'est pas un projet QElectroTech valide. %1 ist kein gültiges QElectroTech-Projekt. - - + + Aucune numérotation Keine Nummerierungvvvvvv - - + + Ce projet ne contient aucune numérotation automatique. Dieses Projekt enthält keine automatische Nummerierung. - + Numérotations à importer Zu importierende Nummerierungen - + Numérotations trouvées dans %1 : In %1 gefundene Nummerierungen: - + %1 : %2 (existe déjà) %1: %2 (existiert bereits) - + Remplacer les numérotations de même nom Nummerierungen mit demselben Namen ersetzen - + + Importer des numérotations + Nummerierungen importieren + + + Import terminé Import abgeschlossen - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. %1 Nummerierung(en) importiert, %2 unverändert beibehalten. - + %1 numérotation(s) importée(s). %1 importierte Nummerierung(en). - - - - - - - - - Nom de la nouvelle numérotation - Name der neuen Nummerierungsregel + Name der neuen Nummerierungsregel ProjectDBModel - + Position Position - + Position du folio Seite @@ -7445,65 +9204,152 @@ Folgende Variablen sind inkompatibel: ProjectDBModelPropertiesWidget + Form - Formular + Formular + Requête - Datenauswahl ändern + Datenauswahl ändern + Recharger - Daten neu laden + Daten neu laden ProjectMainConfigPage - + Général configuration page title Allgemein - + Titre du projet : label when configuring Projekttitel: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Der Titel ist für alle Seiten des Projekts als Variable %projecttitle verfügbar. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Benutzerdefinierte Eigenschaften können erstellt werden. Sie sind für alle Seiten des Projekts verfügbar (typischerweise in den Schriftfeldern). - + Temps passé sur ce projet : label when configuring Zeitaufwand für dieses Projekt: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Die für dieses Projekt aufgewendete Zeit erfassen (wird ausschließlich lokal in dieser Datei gespeichert) - + Réinitialiser button label Zurücksetzen - - + + Croisements de conducteurs : + label when configuring + Leiterkreuzungen: + + + + Sans saut + wire crossings + Ohne Sprung + + + + Saut sur les conducteurs horizontaux + wire crossings + Sprung auf waagerechten Leitern + + + + Saut sur les conducteurs verticaux + wire crossings + Sprung auf senkrechten Leitern + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Zeichnet einen kleinen Bogen dort, wo sich zwei Leiter kreuzen, ohne verbunden zu sein. Nur die Zeichnung ändert sich: Es wird kein Bauteil hinzugefügt und kein Leiter getrennt. + + + + Conducteurs par borne + group box title + Leiter pro Anschluss + + + + Utiliser les réglages de l'application + checkbox label + Einstellungen der Anwendung verwenden + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + Die Einstellungen unter QElectroTech Einstellungen > Allgemein gelten. Deaktivieren Sie dies, um diesem Projekt eigene, im Projekt gespeicherte Einstellungen zu geben. + + + + Nombre maximal de conducteurs par borne : + label when configuring + Maximale Anzahl Leiter pro Anschluss: + + + + Sans limite + wires per terminal + Ohne Begrenzung + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + Ein neuer Leiter, der diese Anzahl an einem Anschluss überschreiten würde, wird abgelehnt. Bereits gezeichnete Leiter werden nicht geändert. 4 entspricht zwei Doppel-Aderendhülsen, eine auf jeder Seite der Schraube. + + + + Un seul conducteur par renvoi de folio + checkbox label + Nur ein Leiter pro Seitenverweis + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + Ein Seitenverweis ist ein virtueller Punkt: Er nimmt nur einen Leiter auf, den, der auf der anderen Seite weitergeht. + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + Diese Regeln sind für alle Projekte deaktiviert (QElectroTech Einstellungen > Allgemein). + + + + %1 h %2 min hours and minutes of time spent on a project %1 Std. %2 Min. @@ -7547,137 +9393,137 @@ Folgende Variablen sind inkompatibel: Mit Datum vom: - + Option de rendu Renderoptionen - + Dessiner le cadre Zeichnungsrahmen anzeigen - + Dessiner le cartouche Schriftfeld anzeigen - + Conserver les couleurs des conducteurs Leiterfarben erhalten - + Dessiner les bornes Anschlüsse zeichnen - + Dessiner les noms des bornes Klemmenbezeichnungen einzeichnen - + Inscrire les informations des composants Angaben zu den Komponenten eintragen - + Option d'impression Druckoptionen - + Adapter le folio à la page Seite an Seitengröße anpassen - + Utiliser toute la feuille Gesamte Blattfläche verwenden - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Wenn diese Option aktiviert ist, wird das Folio vergrößert oder verkleinert, um den gesamten druckbaren Bereich einer einzigen Seite auszufüllen." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Wenn diese Option aktiviert ist, werden die Seitenränder ignoriert und das gesamte Blatt zum Drucken verwendet. Dies wird von Ihrem Drucker möglicherweise nicht unterstützt. - + toolBar Werkzeugleiste Druckoptionen - + Ajuster la largeur Auf Seitenbreite anpassen - + Ajuster la page Auf ganze Seite anpassen - + Zoom arrière Verkleinern - + Zoom avant Vergrößern - + Paysage Querformat - + Portrait Hochformat - + Première page Erste Seite - + Page précédente Vorherige Seite - + Page suivante Nächste Seite - + Dernière page Letzte Seite - + Afficher une seule page Einzelseite anzeigen - + Afficher deux pages Zwei Seiten anzeigen - + Afficher un aperçu de toutes les pages Alle Seiten anzeigen - + mise en page Seite einrichten @@ -7854,239 +9700,291 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Laden... Initialisiere die Bauteilsammlungen - + Chargement... Éditeur de schéma splash screen caption Laden... Schaltplaneditor - + Chargement... Ouverture des fichiers splash screen caption Laden... Öffne Dateien - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET-Schriftfelder - + Cartouches company title of the company's title block templates collection Firmen-Schriftfelder - + Cartouches utilisateur title of the user's title block templates collection Benutzer-Schriftfelder - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Seite - + Electrique Normal example text - translate length, not meaning Elektrik - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech Einstellungen - + + Enregistrer la configuration sous... + dialog title + Konfiguration speichern unter... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + QElectroTech-Konfigurationen (*.conf) + + + + + Erreur + message box title + Fehler + + + + Impossible d'enregistrer la configuration dans « %1 ». + Die Konfiguration konnte nicht in „%1“ gespeichert werden. + + + + Charger une configuration... + dialog title + Konfiguration laden... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + „%1“ ist keine von QElectroTech gespeicherte Konfiguration. + + + + Charger une configuration + message box title + Konfiguration laden + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + Diese Konfiguration ersetzt Ihre aktuellen Einstellungen, außer der Fensteranordnung und der Liste der zuletzt geöffneten Dateien. + +QElectroTech wird anschließend beendet. Starten Sie es neu, um die neue Konfiguration zu verwenden. + +Möchten Sie fortfahren? + + + Chargement... splash screen caption Lade... - + Chargement... icône du systray splash screen caption Lade... Symbole des Systemsbenachrichtigungsfelds - + QElectroTech systray menu title QElectroTech - + &Quitter &Beenden - + &Masquer &Verstecken - + &Restaurer &Zeigen - + &Masquer tous les éditeurs de schéma &Verstecke alle Schaltplaneditoren - + &Restaurer tous les éditeurs de schéma &Zeige alle Schaltplaneditoren - + &Masquer tous les éditeurs d'élément &Verstecke alle Bauteileditoren - + &Restaurer tous les éditeurs d'élément &Zeige alle Bauteileditoren - + &Masquer tous les éditeurs de cartouche systray submenu entry &Verstecke alle Schriftfeld-Editoren - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Zeige alle Schriftfeld-Editoren - + &Nouvel éditeur de schéma &Neuer Schaltplaneditor - + &Nouvel éditeur d'élément &Neuer Bauteileditor - + Ferme l'application QElectroTech Anwendung QElectroTech schließen - + Réduire QElectroTech dans le systray QElectroTech in Systembenachrichtigungsfeld minimieren - + Restaurer QElectroTech QElectroTech wiederherstellen - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Schaltplaneditor - + Éditeurs d'élément Bauteileditor - + Éditeurs de cartouche systray menu entry Schriftfeld-Editor - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Die folgende Sicherungsdatei wurde gefunden,<br>Möchten Sie sie öffnen?</b><br> + <b>Die folgende Sicherungsdatei wurde gefunden,<br>Möchten Sie sie öffnen?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Die folgenden Sicherungsdateien wurden gefunden,<br>Möchten Sie sie öffnen?</b><br> + <b>Die folgenden Sicherungsdateien wurden gefunden,<br>Möchten Sie sie öffnen?</b><br> - Fichier de restauration - Sicherungsdatei + Sicherungsdatei - + Rapport de plantage Absturzbericht - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech wurde bei der letzten Ausführung nicht ordnungsgemäß beendet. Hier sind die letzten Meldungen, die vor dem Beenden aufgezeichnet wurden – Sie können sie speichern, um sie einem Fehlerbericht beizufügen. - + Rapport de diagnostic Diagnosebericht - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Hier finden Sie die neuesten Protokolleinträge dieser Sitzung. Überprüfen Sie den Inhalt, bevor Sie ihn einem öffentlichen Fehlerbericht beifügen. - + Usage : Verwendung: - + [options] [fichier]... @@ -8095,7 +9993,7 @@ Hier sind die letzten Meldungen, die vor dem Beenden aufgezeichnet wurden – Si - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8112,35 +10010,35 @@ Verfügbare Optionen: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Setzt Pfad zur Bauteilsammlung - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Pfad zur Schriftfeld-Sammlung setzen - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Setzt Pfad zur Konfiguration - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Setzt Pfad zu den Daten - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Setzt Pfad zu den Sprachdateien @@ -8150,1137 +10048,1455 @@ Verfügbare Optionen: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Rückgängig Arbeitsschritte - + Aucune modification Keine Änderungen - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klicken Sie auf eine Aktion, um die Bearbeitung rückgängig zu machen - + &Nouveau &Neu - + &Ouvrir &Öffnen - + + &Fermer &Schließen - + &Enregistrer &Speichern - + Enregistrer sous Speichern unter - + E&xporter &Exportieren - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Diese Liste protokolliert alle auf der aktuellen Seite ausgeführten Änderungen. Die Auswahl eines Eintrags führt die Änderungen bis zu diesem Eintrag zurück. - + Imprimer Drucken - + &Quitter &Beenden - + Annuler Rückgängig - + Refaire Wiederholen - + Co&uper &Ausschneiden - + Cop&ier Kop&ieren - + C&oller E&infügen - + Propriétés du folio Seiteneigenschaften - + Ajouter un folio Neue Seite hinzufügen - - - + + + Supprimer le folio Seite löschen - + Ajouter une nomenclature Betriebsmittelverzeichnis einfügen - + Lancer le plugin de création de borniers Klemmenplan-Plugin starten - + Crée un nouveau projet status bar tip Erstellt ein neues Projekt - + Ouvre un projet existant status bar tip Öffnet ein existierendes Projekt - + Ferme le projet courant status bar tip Schliesst das aktuelle Projekt - + Enregistre le projet courant et tous ses folios status bar tip Speichert das aktuelle Projekt und alle seine Seiten - + Enregistre le projet courant avec un autre nom de fichier status bar tip Speichert das aktuelle Projekt unter einem anderen Dateinamen - + Ajoute une colonne au folio status bar tip Fügt eine neue Spalte zur Seite hinzu - + Enlève une colonne au folio status bar tip Löscht eine Spalte der Seite - + Agrandit le folio en hauteur status bar tip Vergrössert die Höhe der Seite - + Rétrécit le folio en hauteur status bar tip Verkleinert die Höhe der Seite - + Grouper les textes sélectionnés Ausgewählte Texte gruppieren - + Enlève les éléments sélectionnés du folio status bar tip Entfernt die ausgewählten Bauteile von der Seite - + Tout sélectionner Alles auswählen - + Désélectionner tout Auswahl aufheben - + Inverser la sélection Auswahl umkehren - + Supprimer Löschen - + Pivoter Drehen - + Orienter les textes Texte drehen - + Retrouver dans le panel Bauteil in Sammlung suchen - + Réinitialiser les conducteurs Leiter zurücksetzen - + Ajouter un champ de texte Textfeld einfügen - + Éditer l'item sélectionné Auswahl bearbeiten - + Ajouter une colonne Spalte einfügen - + Ajouter une image Bild einfügen - + Enlever une colonne Spalte entfernen - + Propriétés du projet Projekteigenschaften - + Nettoyer le projet Projekt bereinigen - + Ajouter un sommaire Inhaltsverzeichnis einfügen - + Zoom avant Vergrößern - + Zoom arrière Verkleinern - + Zoom sur le contenu Auf Inhalt einpassen - + Zoom adapté Seite einpassen - + Pas de zoom Kein Zoom - + en utilisant des onglets mittels Reiter - + en utilisant des fenêtres mittels Fenster - + Mode Selection Auswahlmodus - + Mode Visualisation Ansichtmodus - + &Mosaïque &Kacheln - + &Cascade &Überlappende Fenster - + Projet suivant Nächstes Projekt - + Projet précédent Vorheriges Projekt - + Sélectionne tous les éléments du folio status bar tip Wählt alle Bauteile der Seite aus - + Désélectionne tous les éléments du folio status bar tip Wählt alle Bauteile der Seite ab - + Agrandit le folio status bar tip Vergrössert die Seite - + Rétrécit le folio status bar tip Verkleinert die Seite - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Passt die Ansicht auf den Inhalt der Seite an, unabhängig vom Seitenrahmen - + Adapte le zoom exactement sur le cadre du folio status bar tip Passt die Ansicht genau auf den Seitenrahmen an - + Ajouter un rectangle Rechteck einfügen - + Ajouter une ellipse Ellipse einfügen - + Ajouter une polyligne Polylinie einfügen - + Ferme l'application QElectroTech status bar tip schließt QElectroTech - + Annule l'action précédente status bar tip bricht die letzte Aktion ab - + Restaure l'action annulée status bar tip stellt die abgebrochene Aktion wieder her - + Transfère les éléments sélectionnés dans le presse-papier status bar tip verschiebt die Auswahl in die Zwischenablage - + Copie les éléments sélectionnés dans le presse-papier status bar tip kopiert die Auswahl in die Zwischenablage - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip kehrt die Auswahl um - + Pivote les éléments et textes sélectionnés status bar tip dreht die Auswahl - + Pivote les textes sélectionnés à un angle précis status bar tip dreht die ausgewählten Texte in einem bestimmten Winkel - + Retrouve l'élément sélectionné dans le panel status bar tip Sucht das Bauteil in der Sammlung - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip zeichnet die Leiter neu, ohne die Änderungen zu berücksichtigen - + Création automatique de conducteur(s) Tool tip of auto conductor Automatische Leiterverbindung aktivieren - + Projets dock title Projektdaten - + Collections Bauteilsammlungen - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Wenn möglich, automatische Leiterverbindung benutzen - + Afficher la grille Raster anzeigen - + Affiche ou masque la grille des folios Zeige den Hintergrundsraster der Seiten an - + Ajouter une ligne Add row Zeile einfügen - + Enlever une ligne Remove row Zeile entfernen - + Restaure le zoom par défaut status bar tip Standardansicht wiederherstellen - + Ajouter une ligne Draw line Linie einfügen - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip zeige die geöffneten Projekte in Fenstern an - + Présente les différents projets ouverts des onglets status bar tip zeige die geöffneten Projekte in Reitern an - + Permet de sélectionner les éléments status bar tip wählt Bauteile aus - + Dispose les fenêtres en mosaïque status bar tip ordnet die Fenster in Kacheln an - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Diagramm-Editor - + Exporter en pdf Als PDF speichern - + Exporte un ou plusieurs folios du projet courant status bar tip Eine oder mehrere Seiten des aktuellen Projekts exportieren - + + Coller au point d'origine + Am Ursprungspunkt einfügen + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Fügt die Bauteile der Zwischenablage an ihrer ursprünglichen Position ein und bewegt den Cursor zu diesem Punkt + + + Dupli&quer Duplizieren - + Copie la sélection, décalée de l'espacement configuré status bar tip Kopiert die Auswahl, versetzt um den festgelegten Abstand - + Configurer la duplication... Duplizierung einrichten... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip Abstand und Richtung für „Duplizieren“ auswählen - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Automatische Unterbrechung der Leitung(en) - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Vorhandene Leiter beim Platzieren eines Elements automatisch abschneiden - + Grille des textes Textübersicht - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. Raster zum Ausrichten von Texten, die mit der Maus verschoben werden. Halten Sie während des Verschiebens die Strg-Taste gedrückt, um die Texte frei zu platzieren. - + Désactivée Deaktiviert - + Afficher les guides Hilfslinien anzeigen - + Affiche ou masque les guides Zeigt die Hilfslinien an oder blendet sie aus - + Garder les en-têtes visibles Kopfzeilen sichtbar lassen - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue Lass die Spaltennummern und Zeilenbuchstaben des Folios am Rand der Ansicht sichtbar bleiben - + Afficher les limites des cases Rahmen anzeigen - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement Zeichne die Begrenzungslinien der Spalten und Zeilen des Folios auf der Zeichnung ein – allerdings nur auf dem Bildschirm - + + Afficher + Anzeigen + + + + Textes des éléments + Texte der Bauteile + + + + Textes des conducteurs + Texte der Leiter + + + + Champs de texte + Textfelder + + + + Formes + Formen + + + + Images + Bilder + + + + Tableaux + Tabellen + + + + Références croisées + Querverweise + + + + Voir Affichage > Afficher + Siehe Ansicht > Anzeigen + + + Exporter au format CSV Als CSV-Datei exportieren - + Gestionnaire de borniers (DEV) Klemmleisten-Manager (DEV) - + Exporter la liste des noms de conducteurs Leiterbeschriftungen exportieren - + Exporter le plan de câblage Verdrahtungsplan erstellen - + Liste de câblage (base de données) Verdrahtungsliste (Datenbank) - + Numérotation automatique des bornes Automatische Nummerierung der Klemmen - - - + + + Recharger les dessins des éléments Zeichnungen der Elemente neu laden - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) Jedes platzierte Element wird entsprechend seiner aktuellen Definition neu gezeichnet, ohne dass das Projekt geschlossen und erneut geöffnet werden muss (Aktion kann nicht rückgängig gemacht werden) - + Exécuter un script... Ein Skript ausführen... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) Führt ein JavaScript-Skript für das aktuelle Projekt aus (siehe „qet.*“ im Skript für die verfügbare API) - + + Enregistrer une macro + Makro aufzeichnen + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Zeichnet auf, was Sie am Projekt tun, damit ein KI-Assistent ein Skript daraus macht; erneut klicken zum Beenden + + + + Gérer les scripts… + Skripte verwalten… + + + + Écrire un script et en faire un bouton avec une icône + Ein Skript schreiben und daraus eine Schaltfläche mit Symbol machen + + + + Ouvrir le dossier des scripts + Skriptordner öffnen + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Jede .js-Datei in diesem Ordner, die mit einer Kopfzeile // ==QETScript== beginnt, wird zu einer Schaltfläche + + + Exporter la base de donnée interne du projet Interne Datenbank exportieren - + Dispose les fenêtres en cascade status bar tip ordnet die Fenster überlappend an - + Active le projet suivant status bar tip wechselt zum nächsten Projekt - + Active le projet précédent status bar tip wechselt zum vorherigen Projekt - + Pivoter le groupe Auswahl als Gruppe drehen - + + + Grouper + Gruppieren + + + + Dégrouper + Gruppierung aufheben + + + Insérer le dernier élément Das letzte Element einfügen - + Place à nouveau le dernier élément inséré status bar tip Füge das zuletzt eingefügte Element erneut ein - + Rechercher une commande… Einen Befehl suchen… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip Geben Sie einen Teil des Befehlsnamens ein und drücken Sie die Eingabetaste, um den Befehl auszuführen - + Insérer un élément… Ein Element einfügen… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip Öffnet die Elementauswahl an der Cursorposition - + Barre de raccourcis Schnellzugriffsleiste - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip Öffnet an der Cursorposition die für die Auswahl nützlichen Befehle sowie die Elementauswahl - + Répéter la dernière commande Den letzten Befehl wiederholen - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip Das zuletzt verwendete Zeichenwerkzeug oder die zuletzt eingefügte Komponente erneut aufrufen (Eingabe auf dem Folio) - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Dreht die Auswahl um den Mittelpunkt der Gruppe der ausgewählten Teile - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Gruppiert die ausgewählten Bauteile, Texte, Formen und Bilder: Sie werden gemeinsam ausgewählt, verschoben und kopiert + + + + Défait les groupes sélectionnés + status bar tip + Löst die ausgewählten Gruppen auf + + + Aligner sur la grille Am Raster ausrichten - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip Setzt die ausgewählten Elemente, Bilder und Texte wieder auf das Raster - + + Aligner à gauche + Linksbündig ausrichten + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Richtet die linken Kanten der ausgewählten Objekte aus + + + + Centrer horizontalement + Horizontal zentrieren + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Richtet die ausgewählten Objekte auf einer gemeinsamen Senkrechten aus, Bauteile an ihrem Ursprungspunkt + + + + Aligner à droite + Rechtsbündig ausrichten + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Richtet die rechten Kanten der ausgewählten Objekte aus + + + + Aligner en haut + Oben ausrichten + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Richtet die oberen Kanten der ausgewählten Objekte aus + + + + Centrer verticalement + Vertikal zentrieren + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Richtet die ausgewählten Objekte auf einer gemeinsamen Waagerechten aus, Bauteile an ihrem Ursprungspunkt + + + + Aligner en bas + Unten ausrichten + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Richtet die unteren Kanten der ausgewählten Objekte aus + + + Sélectionner tous les conducteurs Alle Leiter auswählen - + Sélectionner tous les champs de texte Alle Textfelder auswählen - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip Wählt alle Leiter des Seite aus, hebt die Auswahl der übrigen auf - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip Wählt alle Textfelder des Seite aus, hebt die Auswahl der übrigen Felder auf - + + Centrer sur le curseur + Auf den Cursor zentrieren + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Zentriert die Seite auf den Punkt unter dem Mauszeiger, ohne den Zoom zu ändern + + + Ajouter un PDF PDF hinzufügen - + + Ajouter un arc + Bogen hinzufügen + + + Ajouter une courbe Kurve hinzufügen - + + Ajouter un congé + Abrundung hinzufügen + + + Ajouter un plan de bornes Klemmenplan hinzufügen - + Ajoute un champ de texte sur le folio actuel Fügt ein Textfeld auf die aktuelle Seite ein - + Ajoute une image sur le folio actuel Fügt ein Bild auf die aktuelle Seite ein - + Ajoute une page PDF sur le folio actuel Fügt eine PDF-Seite zur aktuellen Seite hinzu - + Ajoute une ligne sur le folio actuel Fügt eine Linie auf die aktuelle Seite ein - + Ajoute un rectangle sur le folio actuel Fügt ein Rechteck auf die aktuelle Seite ein - + Ajoute une ellipse sur le folio actuel Fügt eine Ellipse auf die aktuelle Seite ein - + + Ajoute un arc sur le folio actuel + Fügt einen Bogen auf der aktuellen Seite ein + + + Ajoute une polyligne sur le folio actuel Fügt eine Polylinie auf die aktuelle Seite ein - + Ajoute une courbe de Bézier sur le folio actuel Fügt eine Bézier-Kurve auf dem aktuellen Folio ein - + + Arrondit le coin entre deux lignes du folio actuel + Rundet die Ecke zwischen zwei Linien der aktuellen Seite ab + + + Ajoute un plan de bornier sur le folio actuel Klemmenplan auf aktueller Seite einfügen - + Chercher/remplacer Suchen/ersetzen - + Atteindre un élément Zu einem Element navigieren - + Recherche et sélectionne rapidement un élément du folio status bar tip Ein Element im Folio schnell suchen und auswählen - - Profondeur - toolbar title - Tiefe/Ebene + + Retenu après un redémarrage + Bleibt nach einem Neustart erhalten - + + + Profondeur + toolbar title + Ebene + + + + Scripts + toolbar title + Skripte + + + &Fichier &Datei - + &Édition B&earbeiten - + &Projet &Projekt - + Afficha&ge &Anzeige - + Fe&nêtres Fe&nster - + &Récemment ouverts &Zuletzt geöffnet - + A&jouter Hinzufügen - + + Sélection + Auswahl + + + Aligner Ausrichten - + Lignes et colonnes Zeilen und Spalten - + + Profondeur + Ebene + + + + + Scripts + Skripte + + + Affiche ou non la barre d'outils principale Zeigt oder versteckt die Hauptwerkzeugsleiste - + Affiche ou non la barre d'outils Affichage Zeigt oder versteckt die Anzeigeleiste - + Affiche ou non la barre d'outils Schéma Zeigt oder versteckt die Schaltplan-Werkzeugsleiste - + Affiche ou non le panel d'appareils Zeigt oder versteckt die Bauteilsammlung - + Affiche ou non la liste des modifications Zeigt oder versteckt die Änderungsliste - + Afficher les projets Projekte anzeigen - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech-Projekte (*.qet);;XML-Dateien (*.xml);;Alle Dateien (*) - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content + %n Schriftartbeschreibung, die in einem fremden oder beschädigten Format vorlag, wurde wiederhergestellt. Sie wird beim nächsten Speichern des Projekts in ein stabiles Format umgeschrieben. %n Beschreibungen von Schriftarten, die in einem fremden oder beschädigten Format vorlagen, wurden wiederhergestellt. Sie werden beim nächsten Speichern des Projekts in ein stabiles Format umgeschrieben. - - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content - %n Schriftartbeschreibung(en) konnten nicht gelesen werden; für diese Texte wird die Standardschriftart verwendet. - + %n Schriftartbeschreibung konnte nicht gelesen werden; für diesen Text wird die Standardschriftart verwendet. + %n Schriftartbeschreibungen konnten nicht gelesen werden; für diese Texte wird die Standardschriftart verwendet. - + Polices du projet message box title Schriftarten des Projekts - + + Folio %1 : %2 + Seite %1: %2 + + + + Conducteurs non chargés + message box title + Leiter nicht geladen + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n Leiter konnte nicht mit seinen Anschlüssen verbunden werden und wurde nicht geladen. Die Definition des Bauteils im Projekt wurde wahrscheinlich durch eine andere mit abweichenden Anschlüssen ersetzt. + +Wenn Sie das Projekt speichern, verschwindet dieser Leiter aus der Datei. Schließen Sie es ohne zu speichern, um die Datei unverändert zu lassen. + %n Leiter konnten nicht mit ihren Anschlüssen verbunden werden und wurden nicht geladen. Die Definition des Bauteils im Projekt wurde wahrscheinlich durch eine andere mit abweichenden Anschlüssen ersetzt. + +Wenn Sie das Projekt speichern, verschwinden diese Leiter aus der Datei. Schließen Sie es ohne zu speichern, um die Datei unverändert zu lassen. + + + + Suppression de borne impossible Klemme kann nicht gelöscht werden - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer Die Löschung kann nicht durchgeführt werden, da die Auswahl eine oder mehrere Klemmen enthält, die überbrückt sind und/oder zu einer Klemme mit mehreren Ebenen gehören. Entfernen Sie die Überbrückung und/oder löschen Sie die Ebenen der betroffenen Klemmen, um sie löschen zu können - + Groupe Gruppe - + %n objet(s) remis sur la grille - %n Objekt(e) auf das Raster gesetzt - + %n Objekt auf das Raster gesetzt + %n Objekte auf das Raster gesetzt + + + + + %n objet(s) aligné(s) + + %n Objekt ausgerichtet + %n Objekte ausgerichtet - + La sélection est déjà sur la grille Die Auswahl steht bereits in der Startaufstellung + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Wählen Sie mindestens zwei nicht gesperrte Bauteile, Bilder, Texte, Formen oder Gruppen aus + + + + La sélection est déjà alignée, à la grille près + Die Auswahl ist bereits ausgerichtet, bis auf das Raster + - + (%n objet(s) verrouillé(s) laissé(s) en place) + (%n gesperrtes Objekt wurde an Ort und Stelle belassen) (%n gesperrte Objekte wurden an Ort und Stelle belassen) - - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Ein Fehler ist beim Öffnen der Datei %1 aufgetreten. - + Active le projet « %1 » Aktiviert das Projekt "%1" - + Répéter : insérer « %1 » Wiederholen: „%1“ einfügen - + Répéter : %1 Wiederholen: %1 - + folio %1 Seite %1 - + %n élément(s) redessiné(s). - %n Element(e) wurden neu gestaltet. - + %n Element wurde neu gezeichnet. + %n Elemente wurden neu gezeichnet. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - %n Element(e), deren Definition nicht gefunden werden konnte oder unlesbar ist: Ihre aktuelle Darstellung wurde beibehalten. - + %n Element, dessen Definition nicht gefunden werden konnte oder unlesbar ist: Seine aktuelle Darstellung wurde beibehalten. + %n Elemente, deren Definition nicht gefunden werden konnte oder unlesbar ist: Ihre aktuelle Darstellung wurde beibehalten. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - %n nicht neu gezeichnetes Element: Seine Größe, sein Griffpunkt oder seine Begrenzungen haben sich geändert (Begrenzung hinzugefügt, gelöscht oder verschoben). - + %n nicht neu gezeichnetes Element: Seine Größe, sein Griffpunkt oder seine Anschlüsse haben sich geändert (Anschluss hinzugefügt, gelöscht oder verschoben). + %n nicht neu gezeichnete Elemente: Ihre Größe, ihr Griffpunkt oder ihre Anschlüsse haben sich geändert (Anschluss hinzugefügt, gelöscht oder verschoben). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. Um sie zu aktualisieren, müssen sie gelöscht und anschließend erneut eingefügt werden. Achtung: Bei diesem Vorgang werden die bereits mit diesen Elementen verbundenen Leiter gelöscht, die dann neu verbunden werden müssen. - - + + Exécuter un script - v + Skript ausführen - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9293,18 +11509,120 @@ Ein Skript wird mit Ihren Berechtigungen ausgeführt: Es kann das geöffnete Pro Skripte aktivieren? Diese Einstellung kann unter „QElectroTech konfigurieren“ > „Allgemein“ > „Projekte“ geändert werden. - + Scripts JavaScript (*.js);;Tous les fichiers (*) JavaScript-Skripte (*.js);;Alle Dateien (*) - - + + Ignoré : %1 + Ignoriert: %1 + + + + + Arrêter + Stopp + + + + Arrêter l'enregistrement de la macro + Makroaufzeichnung beenden + + + + ● Enregistrement : %n étape(s) + + ● Aufzeichnung: %n Schritt + ● Aufzeichnung: %n Schritte + + + + + Macro enregistrée + Makro aufgezeichnet + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + „%1“: %n Schritt. + +Um daraus ein Skript zu machen, bitten Sie Ihren KI-Assistenten: Die Schaltfläche unten kopiert die Anfrage, Sie müssen sie nur in sein Fenster einfügen. + „%1“: %n Schritte. + +Um daraus ein Skript zu machen, bitten Sie Ihren KI-Assistenten: Die Schaltfläche unten kopiert die Anfrage, Sie müssen sie nur in sein Fenster einfügen. + + + + + &Copier la demande pour l'assistant + Anfrage für den Assistenten &kopieren + + + + &Ouvrir le dossier + &Ordner öffnen + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Anfrage kopiert: Fügen Sie sie im Fenster des Assistenten ein + + + + Couper la connexion de l'assistant pour le reste de la session + Verbindung des Assistenten für den Rest der Sitzung trennen + + + + Mode direct : assistant connecté + Direktmodus: Assistent verbunden + + + + Mode direct : en attente d'un assistant + Direktmodus: Warten auf einen Assistenten + + + + + Assistant + Assistent + + + + Demander avant d'exécuter un script écrit par l'assistant + Vor dem Ausführen eines vom Assistenten geschriebenen Skripts fragen + + + Pour cette session seulement : chaque démarrage redemande + Nur für diese Sitzung: Bei jedem Start wird erneut gefragt + + + + Mode direct : %1 %2 à %3 + Direktmodus: %1 %2 um %3 + + + + %n type(s) d'objets masqué(s) + + %n Objekttyp ausgeblendet + %n Objekttypen ausgeblendet + + + + + Textes %1 Texte %1 - + + Outils Werkzeuge @@ -9319,165 +11637,168 @@ Skripte aktivieren? Diese Einstellung kann unter „QElectroTech konfigurieren Schalte die Hintergrundfarbe der Seiten in weiß oder grau um - + Exporte le folio courant dans un autre format status bar tip Aktuelle Seite in ein anderes Format exportieren - + Imprime un ou plusieurs folios du projet courant status bar tip Druckt eine oder mehrere Seiten des aktuellen Projekts - + Place les éléments du presse-papier sur le folio status bar tip Inhalt der Zwischenablage auf Seite einfügen - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Bearbeitet die Seiteneigenschaften (Maße, Schriftfeld-Daten, Leitereigenschaften...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Wechselt in das Ansichtsmodus, in dem die Seite nicht bearbeitet werden kann - + + Affichage Anzeige - + + Schéma Schaltplan - + + Ajouter Einfügen - - + + Projet %1 enregistré dans le repertoire: %2. Projekt %1 gespeichert im Pfad: %2. - + Ouvrir un fichier Datei öffnen - - + + Impossible d'ouvrir le fichier message box title Öffnen der Datei nicht möglich - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Die zu öffnende Datei %1 existiert nicht. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Die zu öffnende Datei kann zum Lesen nicht zugegriffen werden. Prüfen Sie die Zugriffsrechte der Datei. - + Ouverture du projet en lecture seule message box title Projekt wird schreibgeschützt geöffnet - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Es sind keine Schreibrechte für das zu öffnende Projekt vorhanden. Es wird trotzdem schreibgeschützt geöffnet. - - + + Échec de l'ouverture du projet message box title Öffnen des Projekts gescheitert - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Die Datei %1 ist vermutlich keine QElectroTech-Projektdatei. Sie kann nicht geöffnet werden. - + Éditer l'élement edit element Bauteil bearbeiten - + Éditer le champ de texte edit text field Textfeld bearbeiten - + Éditer l'image edit image Bild bearbeiten - + Éditer le conducteur edit conductor Leitereigenschaften bearbeiten - + Éditer l'objet sélectionné edit selected item Auswahl bearbeiten - + Êtes-vous sûr de vouloir supprimer ce folio ? Möchten Sie diese Seite wirklich löschen? - + Supprimer les folios Seiten löschen - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Möchten Sie die ausgewählten %1 Seiten wirklich löschen? - + Supprimer %1 folios %1 Seiten löschen - - - - - - - + + + + + + + Déplacer les folios Folios verschieben - + Erreur message box title Fehler @@ -9486,42 +11807,42 @@ Skripte aktivieren? Diese Einstellung kann unter „QElectroTech konfigurieren QETElementEditor - + &Nouveau &Neu - + &Ouvrir &Öffnen - + &Ouvrir depuis un fichier Aus &Datei öffnen - + &Enregistrer &Speichern - + Enregistrer sous Speichern &unter - + Enregistrer dans un fichier In einer Datei speichern - + Recharger Neu laden - + Tout sélectionner Alles auswählen @@ -9531,350 +11852,350 @@ Skripte aktivieren? Diese Einstellung kann unter „QElectroTech konfigurieren QElectroTech - Bauteileditor - + &Aide &Hilfe - + Annulations Arbeitsschritte - + Parties Bestandteile - + Informations Informationen - + Outils Werkzeuge - + Affichage Anzeige - + Élément Bauteil - + Annulation Rückgängig - + Exporter en SVG Als SVG exportieren - + &Fermer cet éditeur &Editor schließen - + Fermer cet éditeur Editor schließen - + Désélectionner tout Auswahl aufheben - + Co&uper &Ausschneiden - + Cop&ier Kop&ieren - + C&oller E&infügen - + C&oller dans la zone In einen Bereich einfügen... - + Un fichier einer Datei - + Un élément einem Bauteil - + À &propos de QElectroTech Ü&ber QElectroTech - + Affiche des informations sur QElectroTech Informationen zu QElectroTech anzeigen - + Manuel en ligne Online-Dokumentation (englisch) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Online-Dokumentation von QElectroTech im Standard Webbrowser öffnen - + Chaine Youtube Youtube-Kanal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Den Youtube-Kanal von QElectroTech im Standard Webbrowser öffnen - + Soutenir le projet par un don QElectroTech durch eine Spende unterstützen - + Soutenir le projet QElectroTech par un don Das QElectroTech-Projekt durch eine Spende unterstützen - + À propos de &Qt Über &Qt - + Affiche des informations sur la bibliothèque Qt Informationen zur Qt-Bibliothek anzeigen - + Rotation Drehen - + Fine-Rotation Fein drehen - + Mirror Spiegeln - + Flip Umdrehen - + Importer un dxf DXF &importieren - + importer un élément à redimensionner Importiere skaliertes Element - + Inverser la sélection Auswahl umkehren - + &Supprimer &Löschen - + Zoom avant Vergrößern - + Zoom arrière Verkleinern - + Zoom adapté Seite einpassen - + Pas de zoom Kein Zoom - + Éditer les informations sur l'auteur Informationen über Autoren bearbeiten - + Ajouter une ligne Linie einfügen - + Ajouter un rectangle Rechteck einfügen - + Ajouter une ellipse Ellipse einfügen - + Ajouter un polygone Polygon einfügen - + Ajouter du texte Text einfügen - + Ajouter un arc de cercle Bogen einfügen - + Ajouter une borne Anschluss einfügen - + Annuler Rückgängig - + Afficher menu entry Werkzeugsleisten anzeigen - + Trop de primitives, liste non générée: %1 Zu viele Einzelteile, Liste nicht generiert: %1 - + Refaire Wiederholen - + Avertissement Warnung - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Das Importieren einer großen DXF-Datei kann einige Zeit in Anspruch nehmen. - + Parties toolbar title Teile - + Profondeur toolbar title Tiefe - + Éditer le nom et les traductions de l'élément Bauteilname und Übersetzungen bearbeiten - + Éditer les propriétés de l'élément Bauteileigenschaften bearbeiten - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Doppelclick, um die Form zu beenden / Rechtsclick, um den letzten Punkt zu entfernen - + &Fichier &Datei - + &Édition &Bearbeiten - + Afficha&ge &Anzeige - + Coller depuis... Einfügen aus... - + [Modifié] window title tag [geändert] - + [lecture seule] window title tag [schreibgeschützt] - + Aucune modification Keine Änderung - + Éditeur d'éléments status bar message Bauteileditor - - + + %n partie(s) sélectionnée(s). %n ausgewähltes Teil. @@ -9882,50 +12203,50 @@ veuillez patienter durant l'import... - + Absence de borne warning title Anschluss nicht vorhanden - + Absence de borne Anschluss nicht vorhanden - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Ohne Anschlüsse kann das Bauteil nicht mit anderen Bauteilen mittels Leiter verbunden werden. - + Ajouter un champ texte dynamique Dynamisches Textfeld einfügen - + Ajouter un texte d'élément non éditable dans les schémas Fügt einen Bauteiltext ein, der im Schaltplaneditor NICHT bearbeitet werden kann - + Ajouter un texte d'élément pouvant être édité dans les schémas Fügt einen Bauteiltext ein, der im Schaltplaneditor bearbeitet werden kann - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Fehler</b>: <br>Seitenverweise dürfen nur einen Anschluss haben.<br><b>Lösung</b>: <br>Prüfen, dass das Bauteil nur einen Anschluss hat - + La vérification de cet élément a généré message box content Die Überprüfung dieses Bauteils generierte - + %n erreur(s) errors @@ -9934,98 +12255,121 @@ veuillez patienter durant l'import... - + et und - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Erreurs Fehler - + Avertissements Warnungen - + Le fichier %1 n'existe pas. message box content Die Datei %1 existiert nicht. - - + + Impossible d'ouvrir le fichier %1. message box content Öffnen der Datei %1 nicht möglich. - - + + Ce fichier n'est pas un document XML valide message box content Diese Datei ist kein gültiges XML-Dokument - - + + Erreur toolbar title Fehler - - + + Édition en lecture seule message box title Schreibgeschützte Bearbeitung - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Sie haben nicht die Schreibrechte, um dieses Bauteil zu verändern: es wird schreibgeschützt geöffnet. - - + + Erreur message box title Fehler - + Impossible d'écrire dans ce fichier message box content Schreiben in diese Datei nicht möglich - + Impossible d'enregistrer l'élément message box content Dieses Bauteil kann nicht gespeichert werden - + Nombre de bornes incorrect Falsche Anzahl von Anschlüssen - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Fehler</b>:<br>Leiterdefinitionen dürfen nur einen Anschluss haben.<br><b>Lösung</b>:<br>Stellen Sie sicher, dass das Element nur einen Anschluss hat + + + Noms de bornes en double + Doppelte Anschlussnamen + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Fehler</b>:<br>Mehrere Anschlüsse tragen denselben Namen: %1.<br><b>Lösung</b>:<br>Geben Sie jedem Anschluss einen eindeutigen Namen, zum Beispiel N.1 und N.2. Die betroffenen Anschlüsse sind ausgewählt. + + + + Bornes sans nom + Anschlüsse ohne Namen + - + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n Anschluss ohne Namen. Ohne eindeutige Anschlussnamen kann die Verdrahtungsliste (was mit was verbunden ist) nicht jeden Anschluss bezeichnen und daher nicht zur Verdrahtung des Schaltschranks in der Werkstatt dienen. + <br>%n Anschlüsse ohne Namen. Ohne eindeutige Anschlussnamen kann die Verdrahtungsliste (was mit was verbunden ist) nicht jeden Anschluss bezeichnen und daher nicht zur Verdrahtung des Schaltschranks in der Werkstatt dienen. + + + + %n avertissement(s) warnings @@ -10034,168 +12378,201 @@ veuillez patienter durant l'import... - + Impossible d'ouvrir le fichier message box title Öffnen der Datei nicht möglich - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Die zu öffnende Datei %1 existiert nicht. - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Element-Editor - + + Afficher le cadre de fond + Hintergrundrahmen anzeigen + + + + Taille du cadre de fond... + Größe des Hintergrundrahmens... + + + + Taille du cadre de fond + Größe des Hintergrundrahmens + + + + + px + px + + + + Largeur + Breite + + + + Hauteur + Höhe + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Als SVG exportieren - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG SVG-Bild (*.svg) - + Échec de l'export Export fehlgeschlagen - + Impossible d'écrire dans le fichier « %1 ». Die Datei „%1“ kann nicht beschrieben werden. - + Recharger l'élément dialog title Bauteil neu laden - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Das Bauteil wurde verändert. Beim neu Laden gehen die Änderungen verloren. Möchten Sie wirklich das Bauteil neu laden? - + Importer un élément à redimensionner Importiere Element zum Skalieren - + Éléments QElectroTech (*.elmt) QElectroTech-Bauteil (*.elmt) - - - + + + Echec de l'enregistrement Speichervorgang gescheitert - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Speichervorgang gescheitert! Die erforderlichen Bedingungen wurden nicht erfüllt - + Enregistrer sous dialog title Speichern unter - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech-Bauteil (*.elmt) - + Enregistrer l'élément en cours ? dialog title Aktuelles Bauteil speichern? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Bauteil %1 speichern? - + Ouvrir un fichier dialog title Datei öffnen - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech-Bauteile (*.elmt);;XML-Dateien (*.xml);;Alle Dateien (*) - - - - + + + + Élément inexistant. message box title Bauteil nicht vorhanden. - - + + L'élément n'existe pas. message box content Bauteil existiert nicht. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Der gewählte virtuelle Pfad passt nicht zu einem Bauteil. @@ -10204,137 +12581,194 @@ Die erforderlichen Bedingungen wurden nicht erfüllt QETMainWindow - + &Configurer QElectroTech Programmein&stellungen - + Permet de régler différents paramètres de QElectroTech status bar tip Verändert die Programmeinstellungen von QElectroTech - + À &propos de QElectroTech Ü&ber QElectroTech - + Affiche des informations sur QElectroTech status bar tip Zeigt Informationen zu QElectroTech - + Manuel en ligne Online-Dokumentation (englisch) - + Chaine Youtube Youtube-Kanal - - + + Télécharger une nouvelle version (dev) Neue Version herunterladen (Entwicklung) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Öffne die Online Hilfe-Anleitung von QElectroTech im Standard Webbrowser - - + + Enregistrer la configuration sous... + Konfiguration speichern unter... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Speichert die Einstellungen von QElectroTech in einer Datei + + + + + + + + + + + + + + + + + Général Allgemein - + + &Personnaliser... + &Anpassen... + + + + Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre + status bar tip + Werkzeugleisten, Schnellzugriffsleiste, Tastatur und Mausgesten in einem Fenster + + + + Charger une configuration... + Konfiguration laden... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Ersetzt die Einstellungen von QElectroTech durch die aus einer Datei und beendet dann QElectroTech + + + + Connecter un assistant IA... + KI-Assistenten verbinden... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Zeigt die Konfiguration, mit der ein KI-Assistent QElectroTech verwenden kann + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Öffne den Youtube-Kanal von QElectroTech im Standard Webbrowser - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Öffne das Nightly Repository von QElectroTech im Standard Webbrowser - + Soutenir le projet par un don QElectroTech durch eine Spende unterstützen - + Soutenir le projet QElectroTech par un don status bar tip Das QElectroTech-Projekt durch eine Spende unterstützen - + À propos de &Qt Über &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Zeigt Informationen zur Qt-Bibliothek - + Enregistrer un rapport de diagnostic... Diagnosebericht speichern... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Erstellt einen Bericht mit den neuesten Protokollmeldungen, um ihn in einen Fehlerbericht aufzunehmen - + &Configuration window menu Ein&stellungen - + &Aide window menu &Hilfe - + Sortir du &mode plein écran &Vollbild verlassen - + Affiche QElectroTech en mode fenêtré status bar tip Stellt QElectroTech im Fenstermodus dar - + Passer en &mode plein écran &Vollbild - + Affiche QElectroTech en mode plein écran status bar tip Zeigt QElectroTech im Vollbild an - + Afficher menu entry Anzeige von Werkzeugsleisten @@ -10343,52 +12777,52 @@ Die erforderlichen Bedingungen wurden nicht erfüllt QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt "%1: %2" - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Projekt ohne Titel - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [schreibgeschützt] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [geändert] - + Renumber elements Elemente neu nummerieren - + Renumber elements (%1) Elemente neu nummerieren (%1) - + Système de contacts modifié Modifiziertes Kontaktsystem - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10399,19 +12833,19 @@ Bestehende Slave-Elemente werden nicht automatisch zugeordnet. Sie müssen die S Möchten Sie fortfahren? - + Une erreur s'est produite durant l'intégration du modèle. error message Ein Fehler ist beim Einfügen der Vorlage aufgetreten. - + Avertissement message box title Warnung - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10419,7 +12853,7 @@ Vous utilisez actuellement QElectroTech en version %2 Sie verwenden derzeit QElectroTech Version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10427,32 +12861,32 @@ Que désirez vous faire ? Was möchten Sie tun? - + Avertissement message box title Warnung - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Das Projekt, das Sie zu öffnen versuchen, ist teilweise mit Ihrer Version %1 von QElectroTech kompatibel. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Um es vollständig kompatibel zu machen, öffnen Sie bitte das gleiche Projekt mit der QElectroTech-Version 0.8 oder 0.80, speichern Sie das Projekt und öffnen Sie es erneut mit dieser Version. Was möchten Sie tun? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Öffnen des Projekts...</b><br/>Seiten werden erstellt</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Öffnen des Projekts...</b><br/>Querverweise werden eingelesen</p> @@ -10478,158 +12912,156 @@ Was möchten Sie tun? QETTitleBlockTemplateEditor - + Enregistrer le modèle en cours ? dialog title Aktuelle Vorlage speichern? - + Voulez-vous enregistrer le modèle %1 ? dialog content - %1 is a title block template name Vorlage %1 speichern? - + nouveau_modele template name suggestion when duplicating the default one Neue_Vorlage - + Dupliquer un modèle de cartouche input dialog title Schriftfeld-Vorlage kopieren - + Pour dupliquer ce modèle, entrez le nom voulu pour sa copie input dialog text Geben Sie einen neuen Namen für die Kopie ein - + &Nouveau menu entry &Neu - + &Ouvrir menu entry &Öffnen - + Ouvrir depuis un fichier menu entry Aus einer Datei öffnen - + &Enregistrer menu entry &Speichern - + Enregistrer sous menu entry Speichern unter - + Enregistrer vers un fichier menu entry In einer Datei speichern - + &Quitter menu entry &Beenden - + Co&uper menu entry &Ausschneiden - + Cop&ier menu entry Kop&ieren - + C&oller menu entry E&infügen - + Gérer les logos menu entry Logos verwalten - + Éditer les informations complémentaires menu entry Zusätzliche Informationen bearbeiten - + Zoom avant menu entry Vergrößern - + Zoom arrière menu entry Verkleinern - + Zoom adapté menu entry Einpassen - + Pas de zoom menu entry Kein Zoom - + Ajouter une &ligne menu entry Zei&le einfügen - + Ajouter une &colonne menu entry &Spalte einfügen - + &Fusionner les cellules menu entry Zellen &verbinden - + &Séparer les cellules menu entry Zellen &trennen - - @@ -10647,156 +13079,158 @@ Was möchten Sie tun? + + Éditeur de cartouche Schriftfeld-Editor - + &Fichier menu title &Datei - + &Édition menu title B&earbeiten - + Afficha&ge menu title &Anzeige - + Outils toolbar title Werkzeuge - + Édition toolbar title Bearbeiten - + Affichage toolbar title Anzeige - + Aucune modification label displayed in the undo list when empty Keine Änderung - + Annulations dock title Stornierungen - + Propriétés de la cellule dock title Zelleneigenschaften - + [Modifié] window title tag [geändert] - + [Lecture seule] window title tag [schreibgeschützt] - + %1 %2 part of the window title - %1 is the filepath or template name, %2 is the [Changed] or [Read only] tag %1 %2 - + QElectroTech - Éditeur de modèle de cartouche titleblock template editor: base window title QElectroTech - Schriftfeld-Editor - + %1 - %2 window title: %1 is the base window title, %2 is a template name %1 - %2 - - + + Erreur message box title Fehler - + Impossible d'enregistrer le modèle « %1 ». message box content - %1 is a title block template name Die Vorlage „%1“ kann nicht gespeichert werden. - + Ouvrir un modèle File > open dialog window title Vorlage öffnen - + Ouvrir un fichier dialog title Datei öffnen - + Modèles de cartouches QElectroTech (*%1);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening a title block template file - %1 is the .titleblock extension QElectroTech-Schriftfeld-Vorlagen (*%1);;XML-Dateien (*.xml);;Alle Dateien (*) - + Enregistrer le modèle sous dialog window title Vorlage speichern unter - + Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name Der Name „%1“ ist ungültig: Er darf die folgenden Zeichen nicht enthalten: \ / : * ? " < > | - + Enregistrer sous dialog title Speichern unter - + Modèles de cartouches QElectroTech (*%1) filetypes allowed when saving a title block template file - %1 is the .titleblock extension QElectroTech Schriftfeld-Vorlagen (*%1) - + Éditer les informations complémentaires window title Zusätzliche Informationen bearbeiten - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs du cartouche, sa licence, ou tout autre renseignement que vous jugerez utile. Sie können dieses freie Textfeld benutzen, um die Autoren, die Lizenz, oder jede weitere nützliche Information über das Schriftfeld zu speichern. @@ -10821,8 +13255,8 @@ Was möchten Sie tun? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Warnung: das Bauteil wurde mit einer neueren Version von QElectroTech gespeichert. @@ -10842,44 +13276,44 @@ Was möchten Sie tun? ein grafisches Element - + supprimer %1 undo caption - %1 is a sentence listing the removed content %1 löschen - + coller %1 undo caption - %1 is a sentence listing the content to paste %1 einfügen - + couper %1 undo caption - %1 is a sentence listing the content to cut %1 ausschneiden - + déplacer %1 undo caption - %1 is a sentence listing the moved content %1 verschieben - + modifier le texte undo caption Text bearbeiten - + modifier un conducteur undo caption Leiter bearbeiten - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content %1 zurücksetzen @@ -10891,7 +13325,7 @@ Was möchten Sie tun? Schriftfeld bearbeiten - + modifier les dimensions du folio undo caption Seitenmaße ändern @@ -11029,32 +13463,32 @@ Was möchten Sie tun? Text - + Folio sans titre Seite ohne Titel - + schema Seite - + Conserver les proportions Verhältnis beibehalten - + Réinitialiser les dimensions Größe zurücksetzen - + Aperçu Vorschau - + Exporter vers le presse-papier In die Zwischenablage kopieren @@ -11128,7 +13562,7 @@ Was möchten Sie tun? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11137,7 +13571,7 @@ Was möchten Sie tun? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11146,7 +13580,7 @@ Was möchten Sie tun? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11155,7 +13589,7 @@ Was möchten Sie tun? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11164,7 +13598,7 @@ Was möchten Sie tun? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11173,7 +13607,7 @@ Was möchten Sie tun? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11182,7 +13616,7 @@ Was möchten Sie tun? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11191,7 +13625,7 @@ Was möchten Sie tun? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11200,79 +13634,79 @@ Was möchten Sie tun? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Die Textdatei der GNU/GPL-Lizenz kann nicht gefunden werden - Sie kennen sie sowieso auswendig, oder? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Die Textdatei der GNU/GPL-Lizenz ist vorhanden, kann aber nicht geöffnet werden - Sie kennen sie sowieso auswendig, oder? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Öffnen der Datei %1 zum Schreiben nicht möglich. Fehler %2 aufgetreten. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Ein Fehler ist beim Schreiben der Datei %1 aufgetreten. Fehler ist: %2. - + Amener au premier plan Im Vordergrund - + Rapprocher Eine Ebene vor - + Éloigner Eine Ebene zurück - + Envoyer au fond Im Hintergrund - + Ramène la ou les sélections au premier plan Verschiebt die Auswahl in den Vordergrund - + Rapproche la ou les sélections Verschiebt die Auswahl eine Ebene nach vorne - + Éloigne la ou les sélections Verschiebt die Auswahl eine Ebene nach hinten - + Envoie en arrière plan la ou les sélections Verschiebt die Auswahl in den Hintergrund - - - - + + + + Profondeur Tiefe - + Borne tooltip Anschluss @@ -11428,6 +13862,7 @@ Was möchten Sie tun? + Titre Titel @@ -11504,12 +13939,13 @@ Was möchten Sie tun? Anschluss - + Texte Text + Modifier les informations de l'élément : %1 Ändern der Informationen vom Bauteil: %1 @@ -11599,22 +14035,22 @@ Was möchten Sie tun? Seitennummer - + Collection QET QET Sammlung - + Collection Company Firmen-Sammlung - + Collection utilisateur Benutzersammlung - + Macros Makros @@ -11623,12 +14059,12 @@ Was möchten Sie tun? Vorlagen - + Collection inconnue Unbekannte Sammlung - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. Die Datei "%1" fehlt oder ist nicht lesbar: Der QET-Name dieses Ordners konnte nicht gelesen werden; stattdessen wird der Ordnername angezeigt. @@ -11643,8 +14079,13 @@ Der QET-Name dieses Ordners konnte nicht gelesen werden; stattdessen wird der Or Collection Sammlung + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + Diese Gruppe kann nicht verschoben werden: Die Position eines ihrer Bauteile ist gesperrt. + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11716,7 +14157,7 @@ Der QET-Name dieses Ordners konnte nicht gelesen werden; stattdessen wird der Or %1 Textgruppen - + %n texte(s) %n Text @@ -11724,13 +14165,13 @@ Der QET-Name dieses Ordners konnte nicht gelesen werden; stattdessen wird der Or - - + + Pivoter %1 Drehen %1 - + Orienter les textes sélectionnés window title Ausgewählte Texte drehen @@ -11779,13 +14220,13 @@ Möchten Sie sie ersetzen? Texteinstellung importieren: %1 - + %p% effectué (%v sur %m) %p% erledigt (%v von %m) - - + + chargement %p% (%v sur %m) Laden %p% (%v von %m) @@ -11795,22 +14236,22 @@ Möchten Sie sie ersetzen? Seitenneigenschaften suchen/ersetzen - + Chercher/remplacer les propriétés d'éléments. Bauteileigenschaften suchen/ersetzen. - + Chercher/remplacer les propriétés de conducteurs. Leitereigenschaften suchen/ersetzen. - + Rechercher / remplacer avancé Fortgeschrittenes Suchen/Ersetzen - + Chercher/remplacer des textes independants Texte in unabhängigen Textfeldern suchen/ersetzen @@ -11907,45 +14348,45 @@ Möchten Sie sie ersetzen? - - - + + + Type Typ - - - + + + Adresse Adresse - - - - + + + + Commentaire Kommentar - - - - + + + + Réf. croisée Querverweis + + + + - - - - Fonction Funktion @@ -12275,27 +14716,27 @@ Möchten Sie sie ersetzen? Pfad der gespeicherten Datei - + Création de conducteurs Leiter erstellen - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Installation des Plugins qet_tb_generator:<br>Besuche <br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Erfordert Python 3.5 oder höher.<br><B><U> Erstinstallation unter Windows</B></U><br>1. Falls erforderlich, installiere Python 3.5 oder höher<br> Besuche :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Aktualisierung unter Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>Der Benutzer kann in einem Terminal dieses Skript in folgendem Verzeichnis ausführen:<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Installation des Plugins qet_tb_generator:<br>Besuche <br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Erstinstallation unter macOSX</B></U><br>1. Falls erforderlich, installiere das Python 3.11-Bundle: <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Führe das Skript Profile.command aus<br>da das Programm einen festgelegten PATH zur Lokalisierung des Plugins qet-tb-generator verwendet.<br>Besuche :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>Anleitung</a><br>3. pip3 install qet_tb_generator<br><B><U> Aktualisierung unter macOS</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Installation des Plugins qet_tb_generator:<br>Besuche <br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Erfordert Python 3.5 oder höher.<br><br><B><U> Erstinstallation unter Linux</B></U><br>1. Überprüfe, ob pip3 installiert ist: pip3 --version<br>Falls nicht, installiere es mit: sudo apt-get install python3-pip<br>2. Installiere das Programm: sudo pip3 install qet_tb_generator<br>3. Starte das Programm: qet_tb_generator<br><br><B><U> Aktualisierung unter Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Fehler beim Ausführen vom Plugin qet_tb_generator @@ -12315,15 +14756,15 @@ Möchten Sie sie ersetzen? Einfügen - - + - - - - - - + + + + + + + this is an error in the code dies ist ein Programmfehler @@ -12524,12 +14965,12 @@ Möchten Sie sie ersetzen? Brückerfarbe ändern - + Ouvrir un element Element öffnen - + Importer un fichier dxf DXF-Datei importieren @@ -12619,7 +15060,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Bitte laden Sie diese über den Link herunter und entpacken Sie sie in den Installationsordner. - + Automatic terminal numbering Automatische Klemmennummerierung @@ -12702,7 +15143,7 @@ Bitte laden Sie diese über den Link herunter und entpacken Sie sie in den Insta - + %n groupe(s) de textes %n Textgruppe @@ -12711,8 +15152,8 @@ Bitte laden Sie diese über den Link herunter und entpacken Sie sie in den Insta - - + + Déplacer %1 %1 verschieben @@ -12841,98 +15282,111 @@ Bitte laden Sie diese über den Link herunter und entpacken Sie sie in den Insta - + Aligner %n objet(s) sur la grille %n Objekt am Raster ausrichten %n Objekte am Raster ausrichten + + + Aligner %n objet(s) + + %n Objekt ausrichten + %n Objekte ausrichten + + - + Ajouter %1 Einfügen von .%1 - + Modifier les propriétés du conducteur Eigenschaften des Leiters bearbeiten - + Modifier un texte Einen Text bearbeiten - + Modifier la couleur d'un texte Farbe eines Texts ändern - + Pivoter un texte Einen Text drehen - + Modifier le trait d'une forme Linie einer Form ändern - + Modifier le remplissage d'une forme Füllung einer Form ändern - + Pivoter une forme Eine Form drehen - - + + Modifier la forme d'%1 Form von %1 ändern - + Fermer/Ouvrir %1 %1 schließen/öffnen - + Redimensionner une image Die Größe eines Bildes ändern - + Pivoter une image Ein Bild drehen - + Modifier un texte d'élément Text eines Bauteils bearbeiten - + Numéroter automatiquement un élément Ein Element automatisch nummerieren - + + Renuméroter les éléments (%1) + Bauteile neu nummerieren (%1) + + + Rechercher et remplacer Suchen und Ersetzen - - - + + + Script Skript - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12944,6 +15398,53 @@ Ein Skript hat Zugriff auf das gesamte Projekt und kann Dateien schreiben, daher So aktivieren Sie sie: QElectroTech konfigurieren > Allgemein > Projekte, oder setzen Sie die Umgebungsvariable QET_ENABLE_SCRIPTING=1 für eine Ausführung ohne Benutzeroberfläche (CI, Stapelverarbeitung). + + + Assistant : %1 + Assistent: %1 + + + + Script : %1 + Skript: %1 + + + + Grouper %n objet(s) + + %n Objekt gruppieren + %n Objekte gruppieren + + + + + Dégrouper %n objet(s) + + Gruppierung von %n Objekt aufheben + Gruppierung von %n Objekten aufheben + + + + + Figer le nom de l'élément + Namen des Bauteils einfrieren + + + + Dégeler le nom de l'élément + Namen des Bauteils freigeben + + + + Folio + Seite + + + + (Aucune action) + spacemouse config: unbound button + (Keine Aktion) + QTextOrientationWidget @@ -12963,371 +15464,439 @@ So aktivieren Sie sie: QElectroTech konfigurieren > Allgemein > Projekte, QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Die anzuzeigenden Informationen sind größer als die maximale Menge, die von den Tabellen angezeigt werden kann. Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandenen Tabellen an, um alle Informationen anzuzeigen. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Die anzuzeigenden Informationen sind größer als die maximale Menge, die von der Tabelle angezeigt werden kann. Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle an, um alle Informationen anzuzeigen. - + Limitation de tableau Tabellenbeschränkung - + Modifier la géometrie d'un tableau Tabellengeometrie ändern + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + Syntaxfehler in Zeile %1, Spalte %2: +%3 + + + + Aucun répertoire de collection n'a été donné. + Es wurde kein Sammlungsverzeichnis angegeben. + + + + l'élément racine <%1> n'est pas <labels>. + das Wurzelelement <%1> ist nicht <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + die Datei konnte nicht geöffnet werden: %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Präfixdatei (Bezeichnungen) der Benutzersammlung. +Jedem Ordner wird ein Präfix zugewiesen: Die Bauteile eines Ordners +übernehmen das Präfix dieses Ordners, sofern sie nicht selbst eine +Bezeichnung tragen. Ein Ordner ohne Präfix übernimmt das seines übergeordneten Ordners. +Diese Datei wird von QElectroTech erstellt und geändert (Einstellungen: +Präfixe konfigurieren…), kann aber auch von Hand bearbeitet werden. + + + + Aucun fichier de préfixes à enregistrer. + Keine Präfixdatei zu speichern. + + + + Le répertoire %1 n'a pas pu être créé. + Das Verzeichnis %1 konnte nicht erstellt werden. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + Die Datei %1 konnte vor dem Ersetzen nicht daneben kopiert werden: +Es wurde nichts geändert. + + QetShapeItem - + une shape ein Shape - + une ligne einer Linie - - + + Ajouter un point Punkt einfügen - + Supprimer ce point Dieser Punkt löschen - + Déformer une courbe Eine Kurve verzerren - + Nœud le plus proche Nächstgelegener Knoten - + Lisse Glatt - + Symétrique Symmetrisch - + Anguleux Eckig - + Supprimer le nœud le plus proche Den nächstgelegenen Knoten löschen - + Convertir en polyligne In Polylinie umwandeln - + Convertir en courbe de Bézier In eine Bézier-Kurve umwandeln - + Miroir horizontal horizontal spiegeln - + Miroir vertical vertikal spiegeln - + Taille Größe - + Coins arrondis Abgerundete Ecken - + Édition des nœuds Knoten bearbeiten - + Rotation/Inclinaison Drehen/Neigen - + Cliquer : mode %1 Klicken: Modus %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Eine Ecke/Kante ziehen: Größe ändern (Strg = vom Mittelpunkt aus, Umschalt = Proportionen beibehalten, Alt = als Polylinie lösen) - + ; point turquoise : arc ; türkisfarbener Punkt: Bogen - + Glisser une extrémité : la déplacer Ein Ende ziehen: es verschieben - + Glisser un point : le déplacer Einen Punkt ziehen: ihn verschieben - + Glisser le point violet : arrondir les coins Den violetten Punkt verschieben: Ecken abrunden - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Ziehen eines Griffpunkts oder einer Kurve: Verformen (Alt = Tangente unterbrechen); Alt + Ziehen eines Eckpunkts: Griffpunkte erstellen; Rechtsklick: Menü des nächstgelegenen Knotens - + une extrémité ein Ende - + un coin eine Ecke - + un point ein Punkt - + Glisser %1 : rotation (Maj = 15°) %1 ziehen: Drehen (Umschalt = 15°) - + ; un bord : inclinaison ; eine Kante: Neigung - + ; point rouge : glisser pour repositionner le centre de rotation ; roter Punkt: Zum Verschieben des Drehpunkts ziehen - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Strg-Taste beim Ziehen gedrückt halten = freie Positionierung, ohne Ausrichtung am Raster) - + — Cliquer : mode %1 — Klicken: Modus %1 - + Glisser : déplacer ce point Ziehen: Diesen Punkt verschieben - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Ziehen: Größe ändern (Strg = vom Mittelpunkt aus + freie Position, Umschalt = Proportionen beibehalten) - + , Alt = détacher en polyligne , Alt = als Polylinie trennen - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Ziehen: Drehen (Strg = freie Position, Umschalt = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Ziehen: Neigung (Strg = freie Position, Umschalt = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Ziehen: Drehpunkt verschieben (Strg = freie Position) - + Glisser : arrondir les coins (Ctrl = position libre) Ziehen: Ecken abrunden (Strg = freie Position) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Ziehen: Bogen anpassen (Strg = freie Position, Umschalt = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Ziehen: den Bogen wölben oder abflachen, seine Enden bleiben an Ort und Stelle (Strg = freie Position) + + + Glisser : déplacer le point (Ctrl = position libre Ziehen: Den Punkt verschieben (Strg = freie Position) - + , Alt = créer des poignées , Alt = Griffpunkte erstellenvvvvv - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Ziehen: Kurve verformen (Strg = freie Position, Alt = Tangente unterbrechen) - + Ajouter un point à un polygone Punkt einem Polygon hinzufügen - + Supprimer un point d'un polygone Punkt eines Polygons löschen - + Ajouter un point à une courbe Einen Punkt zu einer Kurve hinzufügen - + Supprimer un point d'une courbe Einen Punkt aus einer Kurve löschen - + Convertir %1 en courbe de Bézier %1 in eine Bézier-Kurve umwandeln - + Convertir %1 en polyligne %1 in eine Polylinie umwandeln - + Miroir impossible : inclinaison trop extrême pour cette forme Unmöglicher Spiegel: Zu extreme Neigung für diese Form - + Miroir horizontal de %1 %1 horizontale Spiegelung - + Miroir vertical de %1 %1 vertikale Spiegelung - + Modifier le type d'un nœud Den Typ eines Knotens ändern - + Redimensionner %1 Größe von %1 anpassen - + Faire pivoter %1 %1 drehen - + Incliner %1 Neigung %1 - + Deplacer le centre de rotation Den Drehpunkt verschieben - + Arrondir les coins d'%1 Die Ecken von %1 abrunden - + Modifier l'angle d'un arc Den Winkel eines Bogens ändern - - + + Modifier la courbure d'un arc + Krümmung eines Bogens ändern + + + + Modifier la forme d'%1 Form von %1 ändern - + Modifier la courbure d'%1 Die Krümmung um %1 ändern - + Modifier %1 %1 ändern - + un rectangle eines Rechtecks - + une éllipse einer Ellipse - + un arc ein Bogen - + une polyligne eine Polylinie - + une courbe eine Kurve @@ -13409,7 +15978,7 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle TextLabel - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Das Bauteil "%1" ist schon vorhanden. Wie möchten Sie vorgehen? @@ -13417,31 +15986,75 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle RenumberElementsDialog - + Renumber element(s) Element(e) neu nummerieren - + Scope Umfang - + All schemes Alle Schemen - + One scheme Ein Schema - + Scheme: Schema: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + %n Bauteil behält seinen Namen. + %n Bauteile behalten ihren Namen. + + + + + %n élément(s) restent comme ils sont. + + %n Bauteil bleibt unverändert. + %n Bauteile bleiben unverändert. + + + + + Folio + Seite + + + + Élément + Bauteil + + + + Nom actuel + Aktueller Name + + + + Nouveau nom + Neuer Name + + + + (figé) + (eingefroren) + + ReplaceConductorDialog @@ -13465,9 +16078,9 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle - - - + + + Ne pas modifier Nicht verändern @@ -13587,97 +16200,97 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle Phase - - + + Nombre de phase Phasenanzahl - + Neutre Neutralleiter - + neutre Neutralleiter - + Terre Erde - + terre Erde - + TextLabel TextLabel - + PushButton Taste - + Apparence Darstellung - + Taille : Größe: - - + + Couleur : Farbe: - + Style : Stil: - - + + Modifier Verändern - + Couleur secondaire : Zweite Farbe: - + Taille de trait : Größe: - + px px - + Trait plein conductor style: solid line Durchgezogene Linie - + Trait en pointillés conductor style: dashed line Gestrichelte Linie - + Traits et points conductor style: dashed and dotted line Strichpunkt-Linie @@ -13686,7 +16299,7 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle ReplaceElementDialog - + Ne pas modifier Nicht verändern @@ -13728,10 +16341,10 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle - - - - + + + + Ne pas modifier Nicht verändern @@ -13791,12 +16404,12 @@ Bitte fügen Sie eine neue Tabelle hinzu oder passen Sie die vorhandene Tabelle Aktuelles Datum anwenden - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>In Schriftfeld-Vorlagen als %plant verfügbar</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13809,33 +16422,33 @@ Folgende Variablen stehen im Feld Seite zur Verfügung: %autonum: Automatische Seitennummerierung - + Disponible en tant que %locmach pour les modèles de cartouches In der Schriftfeld-Vorlage als %locmach verfügbar - + Titre : Titel: - - - - - - - + + + + + + + Supprimer ce texte Diesen Text löschen - + Personnalisées Benutzer-Eigenschaften - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Hier können Sie Ihre eigenen Kombinationen Variablen/Werte für die Einträge der Datenfelder im Schriftfeld definieren. Zum Beispiel: @@ -13874,6 +16487,189 @@ Folgende Variablen sind verfügbar: %c: Spaltennummer + + ScriptManagerDialog + + + + + Gérer les scripts + Skripte verwalten + + + + &Nouveau + &Neu + + + + Supp&rimer + &Löschen + + + + Le texte du bouton + Der Text der Schaltfläche + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + leer: die Initialen des Namens; builtin:<name>: ein Symbol des Themas + + + + Choisir une image (SVG ou PNG)… + Bild wählen (SVG oder PNG)… + + + + Toujours + Immer + + + + Avec une sélection + Mit einer Auswahl + + + + Avec un conducteur sélectionné + Mit einem ausgewählten Leiter + + + + Nom : + Name: + + + + Icône : + Symbol: + + + + Info-bulle : + Kurzinfo: + + + + Raccourci : + Tastenkürzel: + + + + Actif : + Aktiv: + + + + &Tester + &Testen + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Speichert und führt dann das Skript auf dem aktuellen Projekt aus (Strg+Z macht die Ausführung rückgängig) + + + + &Enregistrer + &Speichern + + + + Ouvrir le &dossier + &Ordner öffnen + + + + &Fermer + &Schließen + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Skript (das Objekt qet; qet.currentFolio() ist die angezeigte Seite): + + + + Pas de bouton : %1 + Keine Schaltfläche: %1 + + + + Pas de bouton pour ce fichier : %1 + Keine Schaltfläche für diese Datei: %1 + + + + Nouveau script + Neues Skript + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() ist die angezeigte Seite; ein Klick wird +// mit einem einzigen Strg+Z rückgängig gemacht. Liste der Aufrufe: qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Text", 40, 40); + + + + + Pas encore enregistré + Noch nicht gespeichert + + + + Le script doit avoir un nom. + Das Skript braucht einen Namen. + + + + Non enregistré : %1 + Nicht gespeichert: %1 + + + + Impossible d'écrire %1 + %1 kann nicht geschrieben werden + + + + Supprimer le script + Skript löschen + + + + Supprimer « %1 » et son bouton ? + „%1“ und seine Schaltfläche löschen? + + + + Icône du script + Symbol des Skripts + + + + Images (*.svg *.png) + Bilder (*.svg *.png) + + + + Impossible de copier %1 + %1 kann nicht kopiert werden + + + + Le script affiché n'est pas enregistré. Enregistrer ? + Das angezeigte Skript ist nicht gespeichert. Speichern? + + SearchAndReplaceWidget @@ -13887,42 +16683,42 @@ Folgende Variablen sind verfügbar: Zur nächsten Übereinstimmung gehen - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Fortgeschrittene Optionen anzeigen</p></body></html> - + Aller à la correspondance précédente Zur vorherigen Übereinstimmung gehen - + Quitter Beenden - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Zu ersetzende Bauteileigenschaften definieren</p></body></html> - + Champ texte de folio Textfeld in Seite - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Zu ersetzende Leitereigenschaften definieren</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Zu ersetzende Seiteneigenschaften definieren</p></body></html> - + Folio Seite @@ -13947,42 +16743,42 @@ Folgende Variablen sind verfügbar: Klein-/Großschreibung berücksichtigen - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Ausgewählte Übereinstimmungen ersetzen</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Angekreuzte Übereinstimmungen ersetzen</p></body></html> - + avancé fortgeschritten - + Élément Bauteil - + Conducteur Leiter - + Remplacer : Ersetzen: - + Remplacer Ersetzen - + Tout remplacer Alles ersetzen @@ -13992,105 +16788,105 @@ Folgende Variablen sind verfügbar: Suchen: - + Actualiser Aktualisieren - + Correspondance : Übereinstimmung: - + Folios Seiten - + Champs texte Textfelder - + Eléments Bauteile - + Eléments simple Einzelbauteile - + Eléments maître Master-Bauteile - + Eléments esclave Slave-Bauteile - + Eléments report de folio Seitenverweise - + Eléments bornier Klemmenbauteile - + Sélectionner les éléments de ce folio Bauteile auf dieser Seite auswählen - + Sélectionner les conducteurs de ce folio Leiter auf dieser Seite auswählen - + Sélectionner les textes de ce folio Texte auf dieser Seite auswählen - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [bearbeitet] - + Conducteurs Leiter - + Inconnue Unbekannt @@ -14103,17 +16899,17 @@ Folgende Variablen sind verfügbar: Formular - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Nummerierungsvariable löschen</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Nummerierungsvariable einfügen</p></body></html> - + Définition Definition @@ -14133,38 +16929,66 @@ Folgende Variablen sind verfügbar: Nummerierungsregel löschen - Précédent - Vorheriges + Vorheriges - Suivant - Nächstes + Nächstes - + Type Typ - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + Bei einer Nummer: die nächste vergebene Nummer. Bei einem Text: der feste Text. + + + Valeur Wert - + Incrémentation Inkrementierung - + + Annuler + Abbrechen + + + + Revenir à la définition enregistrée + Zur gespeicherten Definition zurückkehren + + + + Monter cette variable + Diese Variable nach oben + + + + Descendre cette variable + Diese Variable nach unten + + + + Supprimer cette variable + Diese Variable löschen + + + Folio Autonumérotation title window Automatische Seitennummerierung - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14192,7 +17016,7 @@ In diesem Fall wird das Feld "Inkrementierung" ignoriert. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14230,13 +17054,13 @@ Andere Felder werden nicht verwendet. Andere Felder werden nicht verwendet. - + Element Autonumérotation title window Automatische Elementnummerierung - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14274,7 +17098,17 @@ Andere Felder werden nicht verwendet. Andere Felder werden nicht verwendet. - + + Nouvelle numérotation… + Neue Nummerierung… + + + + Renommer la numérotation… + Nummerierung umbenennen… + + + Conducteur Autonumérotation title window Automatische Nummerierung der Leiter @@ -14597,52 +17431,90 @@ Andere Felder werden nicht verwendet. ShortcutsConfigPage - + Filtrer les raccourcis… Verknüpfungen filtern… - + Tous Alle - + Attribués uniquement Ausschließlich vergeben - + Non attribués uniquement Nur nicht zugewiesene - + Conflits uniquement Nur Konflikte - + + Toutes les catégories + Alle Kategorien + + + + Appuyez sur une combinaison de touches pour voir quelle commande l'utilise + Drücken Sie eine Tastenkombination, um zu sehen, welcher Befehl sie verwendet + + + + Effacer la touche recherchée + Gesuchte Taste löschen + + + + Rechercher par touche : + Nach Taste suchen: + + + + Action Aktion - + + Raccourci Abkürzung - + + + Menu + Menü + + + Tout réinitialiser Alles zurücksetzen - + + Copier la liste + Liste kopieren + + + + Copie les raccourcis affichés, à coller dans un tableur ou un document + Kopiert die angezeigten Tastenkürzel, zum Einfügen in eine Tabellenkalkulation oder ein Dokument + + + Réinitialiser ce raccourci Diese Verknüpfung zurücksetzen - + %n action(s) %n Aktion @@ -14650,17 +17522,117 @@ Andere Felder werden nicht verwendet. - + Ce raccourci est aussi utilisé par : %1 Diese Verknüpfung wird auch verwendet von: %1 - + + Catégorie + Kategorie + + + Raccourcis configuration page title Tastenkombinationen + + SpaceMouseConfigPage + + + Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) à une action de QElectroTech. Le numéro de bouton dépend de votre appareil et de son pilote -- reportez-vous à sa documentation, ou essayez successivement les valeurs à partir de 0. + spacemouse config page intro + Ordnen Sie einer Tastennummer Ihrer 3D-Maus (SpaceMouse, SpacePilot...) eine Aktion von QElectroTech zu. Die Tastennummer hängt von Ihrem Gerät und seinem Treiber ab -- schlagen Sie in dessen Dokumentation nach, oder probieren Sie die Werte ab 0 nacheinander aus. + + + + N° bouton + Tasten-Nr. + + + + Action + Aktion + + + + Ajouter une association + Zuordnung hinzufügen + + + + Boutons + Tasten + + + + Les petits mouvements en dessous de ce seuil sont ignorés. Augmentez-le si la vue dérive quand vous ne touchez pas la souris. + Kleine Bewegungen unterhalb dieser Schwelle werden ignoriert. Erhöhen Sie den Wert, wenn die Ansicht wandert, ohne dass Sie die Maus berühren. + + + + Pousser / tirer le capuchon + Kappe drücken / ziehen + + + + Tourner le capuchon + Kappe drehen + + + + Inverser le déplacement horizontal + Horizontale Bewegung umkehren + + + + Inverser le déplacement vertical + Vertikale Bewegung umkehren + + + + Inverser le zoom + Zoom umkehren + + + + Vitesse de déplacement : + Bewegungsgeschwindigkeit: + + + + Vitesse du zoom : + Zoomgeschwindigkeit: + + + + Zoomer en : + Zoomen durch: + + + + Zone morte : + Totzone: + + + + Mouvement + Bewegung + + + + Supprimer cette association + Diese Zuordnung löschen + + + + Souris 3D + configuration page title + 3D-Maus + + StyleEditor @@ -16668,12 +19640,12 @@ Andere Felder werden nicht verwendet. Anzuzeigende Informationen - + Configuration Konfiguration - + Requête SQL : SQL-Abfrage: @@ -16683,6 +19655,18 @@ Andere Felder werden nicht verwendet. Seite + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + Dieser Anschluss hat bereits %n Leiter, die Grenze des Projekts. Fügen Sie einen Anschluss hinzu, um einen weiteren Leiter anzuschließen. + Dieser Anschluss hat bereits %n Leiter, die Grenze des Projekts. Fügen Sie einen Anschluss hinzu, um einen weiteren Leiter anzuschließen. + + + TerminalEditor @@ -16816,7 +19800,7 @@ Andere Felder werden nicht verwendet. Modifier le nom de la borne Den Namen des Anschlusses ändern - + Namen des Anschlusses ändern @@ -17018,58 +20002,58 @@ Andere Felder werden nicht verwendet. Anordnung - + Ponter les bornes Klemmen brücken - + Déponter les bornes Brücker entfernen - + Propriétés Eigenschaften - + Nom : Name: - + Commentaire : Kommentar: - + Description Beschreibung - + Installation : Anlage: - + Localisation : Ort: - + Type : Typ: - + Degrouper les bornes Gruppierung aufheben - - + + Générique Generisch @@ -17084,62 +20068,62 @@ Andere Felder werden nicht verwendet. Verschieben anwenden - + Couleur pont : Brückerfarbe: - + Fusible Sicherungsklemme - + Sectionnable Trennklemme - + Diode Klemme mit Diode - + Terre Erdungsklemme - + Déplacer dans : verschieben nach: - + Phase Phase - + Neutre Neutralleiter - + Position automatique automatisch anordnen - + Étage : Etage: - + Grouper les bornes Klemmen gruppieren - + Fonction : Funktion: @@ -17154,7 +20138,7 @@ Andere Felder werden nicht verwendet. Mit - + LED : LED: @@ -17182,32 +20166,32 @@ Andere Felder werden nicht verwendet. Werkzeugleiste - + Ajouter un bornier Klemmleiste hinzufügen - + Ajouter un bornier au projet Klemmleiste hinzufügen - + Supprimer le bornier Klemmleiste entfernen - + Supprimer le bornier du projet Klemmleiste aus Projekt entfernen - + Recharger neu laden - + Recharger les borniers Klemmleisten neu laden @@ -17437,12 +20421,12 @@ Andere Felder werden nicht verwendet. Klemmleisten-Planer - + Projet sans titre Projekt ohne Titel - + Bornes indépendante nicht zugeordnete Klemmen @@ -17532,6 +20516,22 @@ Andere Felder werden nicht verwendet. Ausrichtung eines Textfelds ändern + + TextResizeCommand + + + Redimensionner un texte + Text skalieren + + + + TextResizeHandles + + + Glisser pour changer la largeur du texte, double-cliquer pour une largeur automatique + Ziehen, um die Textbreite zu ändern, Doppelklick für automatische Breite + + ThirdPartyBinaryInstallDialog @@ -17545,7 +20545,7 @@ Andere Felder werden nicht verwendet. Download - + Dossier installation Installationsordner @@ -17553,37 +20553,37 @@ Andere Felder werden nicht verwendet. TitleBlockDimensionWidget - + Largeur : default dialog label Breite: - + Absolu a traditional, absolute measure Absolut - + Relatif au total a percentage of the total width bezogen auf Gesamtbreite - + Relatif au restant a percentage of what remains from the total width bezogen auf Restbreite - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17592,30 +20592,31 @@ Andere Felder werden nicht verwendet. TitleBlockPropertiesWidget - + Modèle par défaut Standardvorlage - + Éditer ce modèle menu entry Vorlage bearbeiten - + Dupliquer et éditer ce modèle menu entry Vorlage kopieren und bearbeiten - + Title block templates actions Aktionen zum Schriftfeld - - + + + Créer un Folio Numérotation Auto Neue auto-nummerierte Seite anlegen @@ -17630,47 +20631,47 @@ Andere Felder werden nicht verwendet. Form - + Folio : Seitennummer: - + Auteur : Bearbeiter: - + Indice Rev: Revisionsindex: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>In Schriftfeld-Vorlagen als %plant verfügbar</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches In Schriftfeld-Vorlagen als %filename verfügbar - + Pas de date Kein Datum - + Date courante Aktuelles Datum - + Appliquer la date actuelle Aktuelles Datum anwenden - + Principales Standard-Eigenschaften @@ -17680,22 +20681,22 @@ Andere Felder werden nicht verwendet. Daten im Schriftfeld - + Disponible en tant que %locmach pour les modèles de cartouches In Schriftfeld-Vorlagen als %locmach verfügbar - + Disponible en tant que %date pour les modèles de cartouches In Schriftfeld-Vorlagen als %date verfügbar - + Date fixe : Festes Datum: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17708,7 +20709,7 @@ Folgende Variablen stehen im Feld Seite zur Verfügung: %autonum: Automatische Seitennummerierung - + Titre : Titel: @@ -17718,52 +20719,52 @@ Folgende Variablen stehen im Feld Seite zur Verfügung: <html><head/><body><p>Zeigt das Schriftfeld unter der Seite (waagerecht) oder rechts davon (senkrecht) an.</p></body></html> - + Fichier : Datei: - + Date : Datum: - + Disponible en tant que %author pour les modèles de cartouches In Schriftfeld-Vorlagen als %author verfügbar - + Disponible en tant que %title pour les modèles de cartouches In Schriftfeld-Vorlagen als %title verfügbar - + Page Num: Auto-Nummerierung: - + Installation : Anlage: - + Disponible en tant que %indexrev pour les modèles de cartouches In Schriftfeld-Vorlagen als %indexrev verfügbar - + Localisation: Ort: - + Personnalisées Benutzer-Eigenschaften - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Hier können Sie Ihre eigenen Kombinationen Variablen/Werte für die Einträge der Datenfelder im Schriftfeld definieren. Zum Beispiel: @@ -17773,13 +20774,13 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18279,53 +21280,222 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i Schriftfelder vom Projekt "%1" + + ToolbarCommandsConfigPage + + + Choisissez les commandes de chaque barre d'outils de l'éditeur de schémas. Glissez une commande de la liste de gauche vers la barre, ou double-cliquez dessus ; Suppr la retire. + Wählen Sie die Befehle jeder Werkzeugleiste des Schaltplaneditors. Ziehen Sie einen Befehl aus der linken Liste in die Leiste oder doppelklicken Sie darauf; Entf entfernt ihn. + + + + Nouvelle barre… + Neue Leiste… + + + + Renommer… + Umbenennen… + + + + Supprimer la barre + Leiste löschen + + + + Valeurs par défaut + Standardwerte + + + + Rechercher une commande + Befehl suchen + + + + Ajouter → + Hinzufügen → + + + + Séparateur + Trennlinie + + + + ← Retirer + ← Entfernen + + + + Monter + Nach oben + + + + Descendre + Nach unten + + + + Commandes disponibles + Verfügbare Befehle + + + + Dans la barre, dans l'ordre + In der Leiste, in der Reihenfolge + + + + Barre d'outils : + Werkzeugleiste: + + + + Contenu des barres + configuration page title: what each toolbar holds + Inhalt der Leisten + + + + Nouvelle barre d'outils + Neue Werkzeugleiste + + + + + Nom de la barre d'outils : + Name der Werkzeugleiste: + + + + Renommer la barre d'outils + Werkzeugleiste umbenennen + + + + ─── Séparateur ─── + ─── Trennlinie ─── + + + + ToolbarsConfigPage + + + Par défaut + Standard + + + + Petites (16 px) + Klein (16 px) + + + + Moyennes (24 px) + Mittel (24 px) + + + + Grandes (32 px) + Groß (32 px) + + + + Très grandes (48 px) + Sehr groß (48 px) + + + + Icône seule + Nur Symbol + + + + Texte à côté de l'icône + Text neben dem Symbol + + + + Texte sous l'icône + Text unter dem Symbol + + + + Verrouiller les barres d'outils (elles ne peuvent plus être déplacées) + Werkzeugleisten sperren (sie können nicht mehr verschoben werden) + + + + Taille des icônes : + Symbolgröße: + + + + Boutons : + Schaltflächen: + + + + Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils. + Um eine Werkzeugleiste ein- oder auszublenden, klicken Sie mit der rechten Maustaste auf eine Werkzeugleiste. + + + + Barres d'outils + configuration page title + Werkzeugleisten + + WiringListDialog - + Liste de câblage window title Verdrahtungsplan - + Fil column title Faden - + Composant 1 column title Bauteil 1 - + Borne 1 column title Anschluss 1 - + Composant 2 column title Bauteil 2 - + Borne 2 column title Anschluss 2 - + Folio column title Seite - - + + %n conducteur(s) listé(s). wiring list summary @@ -18334,7 +21504,7 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18346,96 +21516,115 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i WiringListExport - - + + Erreur Fehler - + Impossible de lire la structure en mémoire du projet. Die Speicherstruktur des Projekts kann nicht gelesen werden. - + Exporter le plan de câblage Verdrahtungsplan erstellen - + Fichiers CSV (*.csv) CSV-Dateien (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Die Datei kann nicht zum Schreiben geöffnet werden. - + Page Wiring list CSV header Seite - + Composant 1 Wiring list CSV header Bauteil 1 - + Borne 1 Wiring list CSV header Anschluss 1 - + Composant 2 Wiring list CSV header Bauteil 2 - + Borne 2 Wiring list CSV header Anschluss 2 - + Tension / Protocole Wiring list CSV header Spannung / Protokoll - + Couleur du fil Wiring list CSV header Leiterfarbe - + Section du fil Wiring list CSV header Leiterquerschnitt - + Fonction Wiring list CSV header Funktion - + + Câble + Wiring list CSV header + Kabel + + + Export réussi Export erfolgreich - + Le plan de câblage a été exporté avec succès ! Der Verdrahtungsplan wurde erfolgreich exportiert! + + WiringRulesWarning + + + Avertissement + Warnung + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + <b>Die Regeln für Leiter pro Anschluss sind eine experimentelle Funktion.</b><br><br>Sie zählen die Leiter so, wie QElectroTech sie heute darstellt. Sie könnten sich ändern, und Ihre Einstellungen müssten neu gemacht werden, wenn Drähte und Leiter in einer zukünftigen Version getrennte Objekte werden.<br><br>Alle diese Regeln können unter QElectroTech Einstellungen > Allgemein deaktiviert werden. + + XRefPropertiesWidget @@ -18479,72 +21668,82 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i Standard - ganz unten - + + Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre. + Wenn sich die Texte zweier Querverweise überlappen, wird der des höher liegenden Bauteils über den anderen gesetzt. + + + + Empiler les références dont les textes se chevauchent + Querverweise mit überlappenden Texten stapeln + + + XRef slave position Position vom Querverweis bei Slave-Bauteilen - + Distance label - slave : Abstand zwischen Label und Slave: - + Distance in pixels between the label and the slave cross reference Abstand in Pixeln zwischen der Beschriftung und dem Slave-Querverweis - + Afficher les numéros de bornes dans les Xrefs Klemmenummern im Kontaktkamm anzeigen - + Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître Alle vom Master definierten Slave-Kontakte im Kontaktfeld anzeigen, auch diejenigen, die noch nicht verbunden sind, und zwar in der vom Master festgelegten Reihenfolge - + Afficher tous les esclaves définis par le maître Alle vom Master definierten Slaves anzeigen - + Affiche&r en contacts als &Kontakte anzeigen - + Afficher en croix als Tabelle anzeigen - + Label des références croisées Querverweistexte - + Maitre Master - + %f-%l%c %f-%l%c - + Esclave Slave - + (%f-%l%c) (%f-%l%c) - + Créer votre propre texte en vous aidant des variables suivantes : %f : le numéro de folio %F: le label de folio @@ -18561,27 +21760,27 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i %LM: Ort - + Option d'affichage en croix Optionen für die Darstellung als Tabelle - + Afficher les contacts de puissance dans la croix Leistungskontakte anzeigen - + Préfixe des contacts de puissance : Präfix für Leistungskontakte: - + Préfixe des contacts temporisés : Präfix für zeitverzögerte Kontakte: - + Préfixe des contacts inverseurs : Präfix für Wechslerkontakte: @@ -18649,27 +21848,27 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i projectDataBase - + La requête est vide. Die Abfrage ist leer. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). Es ist nur eine SELECT-Abfrage zulässig (das Zeichen „;“ darf nur ganz am Ende stehen). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. Es sind ausschließlich Leseabfragen (SELECT oder WITH ... SELECT) zulässig. - + Exporter la base de données interne du projet Interne Projekt-Datenbank exportieren - + sans_nom unbenannt @@ -18677,7 +21876,7 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i qdesigner_internal::ColorAction - + Text Color Textfarbe @@ -18685,7 +21884,7 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML-Entität einfügen @@ -18693,27 +21892,27 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i qdesigner_internal::RichTextEditorDialog - + Edit text Text bearbeiten - + Rich Text Rich Text - + Source Quelltext - + &OK &OK - + &Cancel Abbre&chen @@ -18721,69 +21920,69 @@ die Variable "volta" kombiniert mit dem Wert "1745" lässt i qdesigner_internal::RichTextEditorToolBar - + Texte en gras fett - - - + + + Éditeur de texte Texteditor - + Texte en italique kursiv - + Texte souligé unterstrichen - + Left Align linksbündig - + Center zentriert - + Right Align rechtsbündig - + Justify Ausrichten - + Superscript hochgestellt - + Subscript tiefgestellt - + Insérer un lien Link einfügen - + Insert &Image B&ild einfügen - + Simplify Rich Text Simplify Rich Text diff --git a/lang/qet_el.ts b/lang/qet_el.ts index bd689a740..51262efa7 100644 --- a/lang/qet_el.ts +++ b/lang/qet_el.ts @@ -54,272 +54,272 @@ καταγραφή - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, μία εφαρμογή σχεδίασης ηλεκτρικών διαγραμμάτων. - + Les développeurs de QElectroTech about tab, developers line Οι προγραμματιστές του QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Επικοινωνία : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Αρχική Ιδέα - - + - - + + + Développement Ανάπτυξη - + Convertisseur DXF Μετατροπέας DXF - + Plugin Bornier Πρόσθετο ακροδεκτών - + Collection Συλλογή - + Traduction en espagnol Ισπανική μετάφραση - + Traduction en russe Ρωσική μετάφραση - + Traduction en portugais Πορτογαλική μετάφραση - + Traduction en tchèque Τσέχικη μετάφραση - + Traduction en polonais Πολωνική μετάφραση - + Traduction en allemand Γερμανική μετάφραση - + Traduction en roumain Ρουμανική μετάφραση - + Traduction en italien Ιταλική μετάφραση - + Traduction en arabe Αραβική μετάφραση - + Traduction en croate Κροατική μετάφραση - + Traduction en catalan Καταλανική μετάφραση - + Traduction en grec Ελληνική μετάφραση - + Traduction en néerlandais Ολλανδική μετάφραση - + Traduction en flamand Φλαμανδική μετάφραση - + Traduction en danois Δανική μετάφραση - + Traduction en brézilien Βραζιλιάνικη μετάφραση - + Traduction en Turc Τουρκική μετάφραση - + Traduction en hongrois Ουγγρική μετάφραση - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat Πακέτα για Fedora και Red Hat - + Paquets Mageia Πακέτα για Mageia - + Paquets Debian Πακέτα για Debian - + Paquets Gentoo Πακέτα για Gentoo - + Paquets OS/2 Πακέτα για OS/2 - + Paquets FreeBSD Πακέτα για FreeBSD - + Paquets MAC OS X Πακέτα για MAC OS X - + Paquets Archlinux AUR Πακέτα για Archlinux AUR - + Icônes Εικονίδια - + Documentation Τεκμηρίωση - + Collection d'éléments Συλλογή στοιχείων - + Paquets Snap Πακέτα Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ Διαμόρφωση - + Contenu Περιεχόμενο - + Sélectionner la police des en tête du tableau Επιλέξτε τη γραμματοσειρά στο πάνω μέρος του πίνακα - + Sélectionner la police des cellules du tableau Επιλέξτε τη γραμματοσειρά των κελιών του πίνακα @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Γωνία: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Στοιχείο - + Conducteur Αγωγός - + Configurer les règles d'auto numérotation Ρύθμιση κανόνων αυτόματης αρίθμησης - + Configurer Ρύθμιση @@ -573,10 +734,88 @@ Φύλλο - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Αυτόματη αρίθμηση + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Υπάρχοντες - + Under Development Υπό Ανάπτυξη - + Installing Εγκατάσταση - + Built Δομή - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Διαχείριση Αυτόματης Αρίθμησης - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1031,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Προεπισκόπηση - + nomenclature_ τεκμηρίωση - + Enregister sous... Αποθήκευση ως... - + Fichiers csv (*.csv) Αρχεία csv (*.csv) - - + + Erreur Σφάλμα - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Θέση - + Position du folio Θέση σελίδας - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1112,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1179,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1210,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Προσθήκη μεταβλητής - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Βάλε το σύνθετο κείμενο εδώ, χρησιμοποιώντας τις διαθέσιμες μεταβλητές @@ -909,13 +1219,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption Επεξεργασία των ιδιοτήτων ενός αγωγού - + Modifier les propriétés de plusieurs conducteurs undo caption Επεξεργασία των ιδιοτήτων πολλών αγωγών @@ -924,73 +1234,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir Μαύρο - + Marron Καφέ - + Gris Γκρι - + Bleu Γαλάζιο - + Vert Πράσινο - + Rouge Κόκκινο - + Orange Πορτοκαλί - + Violet Βιολετί - + Blanc Λευκό - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -999,7 +1309,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1017,13 +1327,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Εφαρμογή ιδιοτήτων σε όλους τους αγωγούς αυτού του δυναμικού - + Modifier les propriétés d'un conducteur undo caption Επεξεργασία των ιδιοτήτων ενός αγωγού - + Modifier les propriétés de plusieurs conducteurs undo caption Επεξεργασία των ιδιοτήτων πολλών αγωγών @@ -1032,24 +1342,33 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Εφαρμογή ιδιοτήτων σε όλους τους αγωγούς αυτού του δυναμικού + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption Επεξεργασία των ιδιοτήτων πολλών αγωγών - + Conducteur Αγωγός @@ -1078,12 +1397,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte Κείμενο - - + + Unifilaire Μονογραμμικό @@ -1099,6 +1419,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible Ορατό κείμενο @@ -1138,35 +1459,52 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Θέση και περιστροφή του κειμένου αγωγού - + phase φάση - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Συνεχόμενη - + Trait en pointillés conductor style: dashed line Διακεκομμένη - + Traits et points conductor style: dashed and dotted line Παύλες και τελείες - + terre γείωση - + neutre ουδέτερος @@ -1176,7 +1514,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Φόρμα - + Formule du texte : Τύπος κειμένου @@ -1207,96 +1545,96 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Τμήμα αγωγού - + cable Αγωγός - + bus Δίαυλος - - + + Nombre de phase Αριθμός φάσεων - + Neutre Ουδέτερος - + Phase Φάση - + Protective Earth Neutral Ουδετέρωση - + PEN PEN - + Terre Γείωση - + TextLabel ΕτικέταΚειμένου - + Taille : Μέγεθος: - - + + Style du conducteur Στυλ αγωγού - + Couleur secondaire : Δευτερεύων χρώμα: - + px πξ - + Taille de trait : Μέγεθος γραμμής: - + Couleur du conducteur Χρώμα αγωγού - + Apparence Εμφάνιση - - + + Couleur : Χρώμα: - + Style : Τεχνοτροπία: @@ -1317,128 +1655,152 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Τύπος - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Αναίρεση - + Normalement ouvert Κανονικά ανοικτή - + Normalement fermé Κανονικά κλειστή - + Inverseur Μεταγωγική - + Autre - - + + Inconnu - + Simple Απλό - + Puissance Ισχύος - + Temporisé travail Καθυστέρηση ενεργοποίησης - + Temporisé repos Καθυστέρηση απενεργοποίησης - + Temporisé travail & repos Καθυστέρηση ενεργοποίησης & απενεργοποίησης + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1468,27 +1830,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Σφάλμα - + Impossible d'écrire dans le fichier « %1 ». @@ -1496,7 +1858,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur Μετατροπή του βάθους @@ -1636,7 +1998,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1653,262 +2015,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image εικόνα - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Επιλογή εικόνας... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Σφάλμα - + Impossible de charger l'image. Αδυναμία φόρτωσης της εικόνας - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1916,7 +2346,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title Ιδιότητες σελίδας @@ -1925,12 +2355,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Πατήστε ctrl για ελεύθερη μετακίνηση - + <Shift> to move @@ -1939,77 +2369,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Coller ici context menu action Επικόλληση εδώ - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Σε αυτή την περιοχή σχεδιάζετε τα διαγράμματά σας προσθέτοντας στοιχεία και αγωγούς μεταξύ των ακροδεκτών. Μπορείτε επίσης να προσθέσετε ανεξάρτητα κείμενα. - + Collage multiple Πολλαπλή επικόλληση - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Σύνδεση των επιλεγμένων ακροδεκτών - + Sans titre what to display for untitled diagrams Ανώνυμο - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Σφάλμα - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Επιλέξτε το νέο χρώμα αυτού του αγωγού - + Modifier les propriétés d'un conducteur undo caption Επεξεργασία ιδιοτήτων του αγωγού @@ -2028,7 +2464,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Τίτλος - + TextLabel Κείμενο: @@ -2036,42 +2472,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Επάνω - + Bas Κάτω - + Gauche Αριστερά - + Droite Δεξιά - + Direction : @@ -2079,17 +2515,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte Κείμενο - + Éditer un texte d'élément Επεξεργασία κειμένου του στοιχείου - + Redimensionner un texte d'élément @@ -2108,30 +2544,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte Εισαγωγή διαμόρφωσης κειμένου - + Ajouter un texte Προσθήκη κειμένου - + Ajouter un groupe de textes Προσθήκη ομάδας κειμένων - + Supprimer la sélection Διαγραφή της επιλογής @@ -2303,21 +2739,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Αριστερά - + Droite Δεξιά - + Centre Κέντρο @@ -2456,64 +2892,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Περιστροφή - - + + Déplacer un champ texte Μετακίνηση ενός πεδίου κειμένου - + Pivoter un champ texte Περιστροφή ενός πεδίου κειμένου - + Modifier le texte d'un champ texte Επεξεργασία του κειμένου ενός πεδίου κειμένου - - + + Modifier la police d'un champ texte Επεξεργασία της γραμματοσειράς ενός πλαισίου κειμένου - + Modifier la couleur d'un champ texte Επεξεργασία του χρώματος ενός πεδίου κειμένου - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Επεξεργασία του πλαισίου ενός πεδίου κειμένου - + Modifier la largeur d'un texte Επεξεργασία του πλάτους ενός κειμένου - + Modifier l'information d'un texte Επεξεργασία των πληροφοριών ενος κειμένου - + Modifier la source de texte, d'un texte Επεξεργασία της πηγής του κειμένου - + Modifier l'alignement d'un champ texte Επεξεργασία της στοίχισης ενός πεδίου κειμένου @@ -2521,32 +2957,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur Κείμενο χρήστη - + Information de l'élément Πληροφορίες του στοιχείου - + Texte composé Σύνθετο κείμενο - + Gauche Αριστερά - + Centre Κέντρο - + Droite Δεξιά @@ -2554,12 +2990,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,153 +3036,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Άνοιγμα ενός στοιχείου - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Επιλέξτε το στοιχείο που θα θέλατε να ανοιχτεί. - + Enregistrer un élément dialog title Αποθήκευση ενός στοιχείου - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Επιλέξτε το στοιχείο στο οποίο θα θέλατε να αποθηκευθεί ο ορισμός σας. - + Ouvrir une catégorie dialog title Άνοιγμα μίας κατηγορίας - - + + Choisissez une catégorie. dialog content Επιλογή μίας κατηγορίας. - + Enregistrer une catégorie dialog title Αποθήκευση μίας κατηγορίας - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Τίτλος - + Label Ετικέτα - + Nom du nouveau dossier Όνομα του νέου φακέλου - + Nom du nouveau template - + Écraser le template ? message box title - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Πρέπει να επιλέξετε ένα στοιχείο ή κατηγορία με ένα όνομα για το στοιχείο. - + Sélection inexistante message box title Μη υπαρκτή επιλογή - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content Η επιλογή δεν υπάρχει. - - + + Sélection incorrecte message box title Λάθος επιλογή - + La sélection n'est pas un élément. message box content Η επιλογή δεν είναι στοιχείο. - + Écraser l'élément ? message box title Αντικατάσταση του στοιχείου; - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Υπάρχει ήδη το στοιχείο. Θέλετε να αντικατασταθεί; @@ -2770,12 +3279,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Διαγραφή του κειμένου - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2793,104 +3308,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Πληροφορίες - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Αναίρεση - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2906,8 +3531,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Τύπος @@ -2990,8 +3615,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Λειτουργία @@ -3021,302 +3646,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Τιμές - - - + + + Simple Απλό - + Maître Κύριο - + Esclave Βοηθητικό - + Renvoi de folio suivant Αναφορά επόμενης σελίδας - + Renvoi de folio précédent Αναφορά προηγούμενης σελίδας - + Bornier Ακροδέκτης - + Vignette Μικρογραφία - + Définition de conducteur - - + + Normalement ouvert Κανονικά ανοικτή - - + + Normalement fermé Κανονικά κλειστή - - + + Inverseur Μεταγωγική - + Other Άλλο - + Esclave PLC - - + + Puissance Ισχύος - - + + Temporisé travail Καθυστέρηση ενεργοποίησης - - + + Temporisé repos Καθυστέρηση απενεργοποίησης - - + + Temporisé travail & repos Καθυστέρηση ενεργοποίησης & απενεργοποίησης - + Bobine Πηνίο - + Organe de protection Συσκευή προστασίας - + Commutateur / bouton Διακόπτης / κουμπί - + Module PLC - - + + Générique Γενικό - + Fusible Ασφάλεια - + Séctionnable - + Diode Δίοδος - + Phase Φάση - + Neutre Ουδέτερος - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Σχόλιο - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Κανένα - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Γείωση @@ -3330,7 +3955,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Στοιχείο @@ -3467,249 +4092,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Ανέβασμα επιλογής - + Ajouter la sélection Προσθήκη επιλογής - + Supprimer la sélection Διαγραφή της επιλογής - + Descendre la sélection Κατέβασμα επιλογής - + Pas de filtre Χωρίς φίλτρο - + N'est pas vide Δεν είναι κενό - + Est vide Είναι κενό - + Contient Περιέχει - + Ne contient pas Δεν περιέχει - + Est égal à Είναι ίσο με - + N'est pas égale à Δεν είναι ίσο με - + Filtre : Φίλτρο - + Type d'éléments Τύπος στοιχείων - + Simples Απλά - + Tous Όλα - + Vignettes Μικρογραφίες - + Contacteurs et relais Επαφές και ρελέ - + Boutons et commutateurs Κουμπιά και διακόπτες - + Borniers Ακροδέκτες - + Organes de protection Συσκευές προστασίας - + Automates (MAE/SPS) - + Configuration Διαμόρφωση - + Ouvrir la configuration sélectionné Ανοίξτε την επιλεγμένη διαμόρφωση - + Sauvegarder la configuration actuelle Αποθηκεύστε την τρέχουσα διαμόρφωση - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Προσαρμοσμένο ερώτημα SQL - + Requête SQL : Ερώτημα SQL: - + Position Θέση - + Titre du folio Τίτλος σελίδας - + Position du folio Θέση σελίδας - + Numéro du folio Αριθμός σελίδας - - + + Exporter Εξαγωγή - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Σφάλμα - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3717,28 +4342,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Μετακίνηση ενός βασικού στοιχείου - + Éditer les informations sur l'auteur window title Επεξεργασία των πληροφοριών του συγγραφέα - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Σε αυτό το πεδίο μπορείτε να ορίσετε, τον συγγραφέα αυτού του στοιχείου, την άδεια χρήσης, ή όποια άλλη πληροφορία θεωρείτε χρήσιμη. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Μπορείτε να εισάγετε το όνομα του στοιχείου σε πολλές γλώσσες. - + Éditer les noms window title Επεξεργασία των ονομάτων @@ -3747,101 +4372,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Μπορείτε να ορίσετε ένα όνομα ανά γλώσσα, για την κατηγορία. - + Nom interne : Εσωτερικό όνομα: - + L'item n'est pas une catégorie message box title Το αντικείμενο δεν είναι κατηγορία - + L'item demandé n'est pas une categrie. Abandon. message box content Το ζητούμενο αντικείμενο δεν είναι κατηγορία. Εγκατάλειψη. - + Catégorie inexistante message box title Ανύπαρκτη κατηγορία - + La catégorie demandée n'existe pas. Abandon. message box content Δεν υπάρχει η ζητούμενη κατηγορία. Η προσπάθεια τερματίζεται. - + Éditer une catégorie window title Επεξεργασία κατηγορίας - + Créer une nouvelle catégorie window title Προσθήκη νέας κατηγορίας - + Nom de la nouvelle catégorie default name when creating a new category Όνομα της νέας κατηγορίας - + Édition en lecture seule message box title Άνοιγμα μόνο για ανάγνωση - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Δεν επιτρέπεται η μετατροπή αυτής της κατηγορίας. Γι αυτό θα ανοιχτεί μόνο για ανάγνωση. - + Nom interne manquant message box title Λείπει το εσωτερικό όνομα - + Vous devez spécifier un nom interne. message box content Πρέπει να ορίσετε ένα εσωτερικό όνομα. - + Nom interne déjà utilisé message box title Το εσωτερικό όνομα χρησιμοποιείται, ήδη - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Το εσωτερικό όνομα που επιλέξατε χρησιμοποιείται, ήδη, από μία άλλη κατηγορία. Παρακαλώ, ορίστε κάποιο άλλο. - + Erreur message box title Σφάλμα - + Impossible de créer la catégorie message box content Αδυναμία δημιουργίας της κατηγορίας @@ -3850,73 +4475,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Άνοιγμα του αντίστοιχου καταλόγου - + Éditer l'élément Επεξεργασία του στοιχείου - + Supprimer l'élément Διαγραφή του στοιχείου - + Supprimer le dossier Διαγραφή του φακέλου - + Recharger les collections Επαναφόρτωση των συλλογών - + Éditer le dossier Επεξεργασία του καταλόγου - + Nouveau dossier Νέος κατάλογος - + Nouvel élément Νέο στοιχείο - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Εμφάνιση μόνο αυτού του φακέλου - + Afficher tous les dossiers Εμφάνιση όλων των φακέλων - + Propriété du dossier Ιδιότητες του φακέλου - + Supprimer l'élément ? message box title Διαγραφή του στοιχείου; - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3924,25 +4549,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Διαγράφεται το στοιχείο - + La suppression de l'élément a échoué. message box content Η απόπειρα διαγραφής του στοιχείου απέτυχε. - + Supprimer le dossier? message box title Διαγραφή του φακέλου; - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3950,24 +4575,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Διαγραφή του φακέλου - + La suppression du dossier a échoué. message box content Η διαγραφή του φακέλου απέτυχε. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3983,43 +4608,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Ο φάκελος %1 περιέχει - + %n élément(s), répartie(s) %n στοιχείο(α), τμήμα(τα) @@ -4027,7 +4652,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). στον(ους) φάκελο(υς) %n @@ -4035,32 +4660,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Διαδρομή της συλλογής: %1 - + Chemin dans le système de fichiers : %1 Διαδρομή στο σύστημα αρχείων: %1 - + Rechercher... - + Collections Συλλογές - + Modèles - + Propriété du dossier %1 Ιδιότητες του φακέλου %1 @@ -4130,124 +4755,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Éditer ce modèle Επεξεργασία αυτού του προτύπου - + Supprimer ce modèle Διαγραφή αυτού του προτύπου - + Fermer ce projet Κλείσιμο του έργου - + Propriétés du projet Ιδιότητες του έργου - + Ouvrir le dossier correspondant Άνοιγμα του αντίστοιχου καταλόγου - + Copier le chemin Αντιγραφή της διαδρομής - + Basculer vers ce projet Ενεργοποίηση αυτού του έργου - + Propriétés du folio Ιδιότητες σελίδας - + Ajouter un folio Προσθήκη σελίδας - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Διαγραφή σελίδας - + Remonter ce folio Μετακίνηση πάνω - + Abaisser ce folio Μετακίνηση κάτω - + Remonter ce folio x10 Μετακίνηση πάνω x10 - + Remonter ce folio x100 Μετακίνηση πάνω x100 - + Remonter ce folio au debut Μετακίνηση στην αρχή - + Abaisser ce folio x10 Μετακίνηση κάτω x10 - + Abaisser ce folio x100 Μετακίνηση κάτω x100 - + Nouveau modèle Νέο πρότυπο - - + + Panneau des éléments - + Filtrer Φιλτράρισμα @@ -4293,7 +4918,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Εξαγωγή @@ -4302,101 +4927,101 @@ En important ce fichier, vous confirmez que : ExportDialog - + Aperçu Προεπισκόπηση - + Dimensions Διαστάσεις - + Impossible d'écrire dans ce fichier message box title Αδυναμία εγγραφής σε αυτό το αρχείο - + Exporter Εξαγωγή - + Nom de fichier Όνομα αρχείου - - + + px πιξελ - + Noms des fichiers cibles message box title Ονόματα αρχείων προορισμού - + Exporter les folios du projet window title Εξαγωγή σελίδων του έργου - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Επιλέξτε τις σελίδες που θέλετε να εξαχθούν, και καθορίστε το μέγεθός τους: - + Tout cocher Επιλογή όλων - + Tout décocher Αποεπιλογή όλων - + Titre du folio Τίτλος σελίδας - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Πρέπει να δώσετε ένα μοναδικό, όχι κενό, όνομα σε κάθε σελίδα που θέλετε να εξάγετε. - + Dossier non spécifié message box title Λείπει ο κατάλογος - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Πρέπει να προσδιορίσετε τη διαδρομή του φακέλου στον οποίο θα αποθηκευθούν τα αρχεία εικόνας. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Φαίνεται να μην διαθέτετε δικαιώματα εγγραφής για το αρχείο %1. @@ -4681,63 +5306,73 @@ that you create. Text and number inputs are Εφαρμογή μετατόπισης - - + + Générique Γενικό - + Fusible Ασφάλεια - + Sectionnable - + Diode Δίοδος - + Terre Γείωση - + Phase Φάση - + Neutre Ουδέτερος - + Sans Χωρίς - + Avec Με - + Modifier des propriétés de borniers Επεξεργασία των ιδιοτήτων της σειράς ακροδεκτών - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4745,27 +5380,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Ετικέτα - + Référence croisé Διασταυρούμενη αναφορά - + Type Τύπος - + Fonction Λειτουργία - + led @@ -4783,47 +5418,48 @@ that you create. Text and number inputs are Χρήση των χρωμάτων του συστήματος - + Chemin de la collection utilisateur Διαδρομή της συλλογής χρήστη - + Chemin des cartouches utilisateur Διαδρομή των πινακίδων χρήστη - + Chemin de la collection commune Διαδρομή της κοινής συλλογής - - - - - - + + + + + + Par defaut Προεπιλογή - - - - - - + + + + + + + Parcourir... Πλοήγηση - + (Recharger les collections d'éléments pour appliquer les changements) (Επαναφόρτωση των συλλογών στοιχείων για να ισχύσουν οι αλλαγές) - + Projets Έργα @@ -4833,41 +5469,41 @@ that you create. Text and number inputs are Χρήση χειρονομιών αφής - + Utiliser les numéros de folio à la place de leur position dans le projet Χρήση του αριθμού σελίδας αντί της θέσης στο έργο - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Αρίθμηση των στηλών από 0 (1 διαφορετικά) - + Désactivé Απενεργοποιημένο - + min minute λεπτά - + Mettre en valeur dans le panel les éléments fraîchement intégrés Επισήμανση των προσφάτως ενσωματωμένων στοιχείων στον πίνακα - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Κάθε στοιχείο περιέχει πληροφορίες σχετικά με τους δημιουργούς του, την άδειά του ή οποιεσδήποτε άλλες πληροφορίες που θεωρείτε χρήσιμες σε ένα ελεύθερο πεδίο. Μπορείτε να καθορίσετε εδώ την προεπιλεγμένη τιμή αυτού του πεδίου για τα στοιχεία που θα δημιουργήσετε: - + Appliqué au prochain lancement de QElectroTech Εφαρμογή στην επόμενη εκκίνηση του QElectroTech) @@ -4877,62 +5513,62 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Φόρμα - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Αυτόματη δημιουργία αντιγράφων ασφαλείας των έργων (εφαρμοζόμενη στην επόμενη εκκίνηση του QElectroTech) - + Collections Συλλογές - + Accès aux collections Πρόσβαση σε συλλογές - + Répertoire de la collection commune Κατάλογος της κοινής συλλογής - + Répertoire de la collection utilisateur Κατάλογος της συλλογής χρήστη - + Répertoire des cartouches utilisateur Κατάλογος των πινακίδων χρήστη - + Gestion des éléments Διαχείριση των στοιχείων - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Εδώ μπορείτε να ορίσετε την προεπιλεγμένη εμφάνιση των διαφόρων κειμένων του QElectroTech - + Grille + Clavier Δικτύωμα + Πληκτρολόγιο - + Grille : 1 - 30 Δικτύωμα: 1 - 30 - + DiagramEditor xGrid Επεξεργαστής διαγραμμάτων xGrid - + DiagramEditor yGrid Επεξεργαστής διαγραμμάτων yGrid @@ -4947,218 +5583,333 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Χρήση Παραθύρων (Εφαρμογή στην επόμενη εκκίνηση του QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Χρήση Καρτελών (Εφαρμογή στην επόμενη εκκίνηση του QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Μέθοδος για την κλιμάκωση σε οθόνες με υψηλή πυκνότητα εικονοστοιχείων (hdpi). (Εφαρμογή στην επόμενη εκκίνηση του Qelectrotech) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Γλώσσες - + Textes Κείμενα - + Textes d'éléments Κείμενα στοιχείων - - - + + + Police : Γραμματοσειρά: - - + + ° ° - + Longueur : Μήκος: - - + + Rotation : Περιστροφή: - + Textes indépendants Ανεξάρτητα κείμενα - + Autres textes Άλλα Κείμενα - + La Grille doite etre active pour pouvoir voir les modifications. Το δικτύωμα πρέπει να είναι ενεργό για να δείτε τις αλλαγές. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Μετακίνηση πληκτρολογίου: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Επεξεργαστής διαγραμμάτων (πλήκτρο: αριστερά / δεξιά) xGrid - + DiagramEditor (touche : haut / bas) yGrid Επεξεργαστής διαγραμμάτων (πλήκτρο: επάνω / κάτω) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 Μετακίνηση πληκτρολογίου με το πλήκτρο ALT: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Επεξεργαστής διαγραμμάτων (πλήκτρο: αριστερά / δεξιά) xGrid - + DiagramEditor (touche : haut / bas) yGrid Επεξεργαστής διαγραμμάτων (πλήκτρο: επάνω / κάτω) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Ne pas conserver les labels des éléments lors des copier coller Μη αποθήκευση των ετικετών κατά την αντιγραφή επικόλληση @@ -5168,218 +5919,316 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Δυνατότητα αποεστίασης πέρα από τη σελίδα - + Arrondi supérieur pour 0.5 et plus Στρογγυλοποίηση για 0,5 και περισσότερο - + Toujours arrondi supérieur Πάντα στρογγυλοποίηση προς τα επάνω - + Toujours arrondi inférieur Πάντα στρογγυλοποίηση προς τα κάτω - + Arrondi supérieur pour 0.75 et plus Στρογγυλοποίηση για 0,75 και περισσότερο - + Pas d'arrondi Χωρίς στρογγυλοποίηση - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Γενικές - + Système Σύστημα - + Arabe Αραβικά - + Brézilien Βραζιλιάνικα - + Catalan Καταλανικά - + Tchèque Τσέχικα - + Allemand Γερμανικά - + Danois Δανικά - + Grec Ελληνικά - + Anglais Αγγλικά - + Espagnol Ισπανικά - + Français Γαλλικά - + Croate Κροατικά - + Italien Ιταλικά - + Japonais Ιαπωνικά - + Coréen - + Polonais Πολωνικά - + Portugais Πορτογαλικά - + Roumains Ρουμανικά - + Russe Ρώσικα - + Slovène Σλοβενικά - + Pays-Bas Ολλανδικά - + Norvege Νορβηγικά - + Belgique-Flemish Φλαμανδικά - + Turc Τουρκικά - + Hongrois Ουγγρικά - + Mongol Μογγολικά - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection company - + Chemin des cartouches company - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Αρχεία csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5434,7 +6283,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Αυτό είναι ένα πρότυπο πινακίδας, το οποίο μπορεί να εφαρμοστεί σε μια σελίδα. - + %1 [non utilisé dans le projet] %1 [δεν χρησιμοποιείται στο έργο] @@ -5764,42 +6613,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Προεπισκόπηση - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6016,28 +6865,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6280,6 +7129,96 @@ Veuillez utiliser l'éditeur avancé pour cela. Αποσύνδεση + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6321,7 +7260,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>Αποσύνδεση του επιλεγμένου στοιχείου</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Σύνδεση του επιλεγμένου στοιχείου</p></body></html> @@ -6431,7 +7370,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6441,6 +7380,158 @@ Voulez-vous tout de même lier ce contact esclave ? Διασταυρούμενες αναφορές (master) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Αναίρεση + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Αναίρεση + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6490,10 +7581,15 @@ Voulez-vous tout de même lier ce contact esclave ? Αυτόματη αρίθμηση των αγωγών - + Multi-collage Πολλαπλή επικόλληση + + + Numéroter les éléments collés + + NameListDialog @@ -6503,7 +7599,7 @@ Voulez-vous tout de même lier ce contact esclave ? Διάλογος - + Variables de cartouche Μεταβλητές πινακίδας @@ -6531,7 +7627,7 @@ Voulez-vous tout de même lier ce contact esclave ? Προσθήκη γραμμής - + Copier dans le presse papier Αντιγραφή στο πρόχειρο @@ -6589,13 +7685,13 @@ Voulez-vous tout de même lier ce contact esclave ? Αυτόματη αρίθμηση - + Nouveau folio configuration page title Νέα σελίδα - + Nouveau projet configuration page title Νέο έργο @@ -6870,13 +7966,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Δυναμικό πεδίο κειμένου - + Déplacer un champ texte Μετακίνηση ενός πεδίου κειμένου @@ -6936,25 +8032,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Μετακίνηση ενός κειμένου - + Modifier un champ texte Επεξεργασία πεδίου κειμένου + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6962,32 +8076,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7093,12 +8207,12 @@ Voulez-vous tout de même lier ce contact esclave ? Κλειστό πολύγωνο - + Ajouter un point Προσθήκη σημείου - + Supprimer ce point Διαγραφή του σημείου @@ -7151,26 +8265,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Παρακαλώ επέλεξε τις ιδιότητες που θα εφαρμοστούν στο νέο δυναμικό. - - - + + + Fonction : %1 Λειτουργία : %1 - - - + + + Tension/protocole : %1 Τάση / Πρωτόκολλο: %1 - - + + %n conducteurs composent le potentiel suivant : %n αγωγός δημιουργεί το παρακάτω δυναμικό: @@ -7178,55 +8292,55 @@ Tension/protocole : %1 - - - + + + Numéro : %1 Αριθμός: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Παρακαλώ εποιλέξτε ένα ηλεκτρικό δυναμικό από τη λίστα για χρήση στο νέο δυναμικό - - - + + + Couleur du conducteur : %1 Χρώμα αγωγού: %1 - - - + + + Section du conducteur : %1 Τμήμα αγωγού: %1 - + Ajouter au câble: %1 Προσθήκη στο καλώδιο: %1 - + Ajouter au bus: %1 Προσθήκη στο δίαυλο: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Επεξεργασία των ιδιοτήτων πολλών αγωγών - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7237,10 +8351,107 @@ Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Διαγραφή + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Εκτύπωση @@ -7249,155 +8460,355 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto Αυτόματη αρίθμηση - + Management Διαχείριση - - + + Conducteurs Αγωγοί - - - Eléments - Στοιχεία - - - - - Folios - Σελίδες - - - - Numérotation auto des folios - Αυτόματη αρίθμηση σελίδων - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Όνομα + + + + Folio + Φύλλο + + + + Élément + Στοιχείο + + + + Figé - - - - - - - - Sans nom - Ανώνυμο + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Στοιχεία + + + + + Folios + Σελίδες + + + + Numérotation auto des folios + Αυτόματη αρίθμηση σελίδων + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Διαγραφή της αρίθμησης + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Ανώνυμο + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Έργο QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Όνομα νέας αρίθμησης + Όνομα νέας αρίθμησης ProjectDBModel - + Position Θέση - + Position du folio Θέση σελίδας @@ -7420,50 +8831,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title Γενικά - + Titre du projet : label when configuring Τίτλος έργου: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Αυτός ο τίτλος θα είναι διαθέσιμος σε όλες τις σελίδες του έργου ως %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Μπορείτε να ορίσετε προσαρμοσμένες ιδιότητες οι οποίες θα είναι διαθέσιμες σε όλες τις σελίδες του έργου (συνήθως για χρήση στις πινακίδες) - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7507,137 +9002,137 @@ Les variables suivantes sont incompatibles : Την ημερομηνία: - + Option de rendu Επιλογές αποτύπωσης - + Dessiner le cadre Σχεδίαση των ορίων - + Dessiner le cartouche Σχεδίαση της πινακίδας - + Conserver les couleurs des conducteurs Διατήρηση των χρωματισμών των αγωγών - + Dessiner les bornes Σχεδίαση των ακροδεκτών - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Επιλογές εκτύπωσης - + Adapter le folio à la page Προσαρμογή στη σελίδα - + Utiliser toute la feuille Χρήση ολόκληρης της σελίδας - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Αν αυτή η επιλογή είναι σημειωμένη, το φύλλο θα μεγαλόσει ή θα μικρύνει ώστε να χωρέσει σε μία και μόνο σελίδα. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Αν αυτή η επιλογή είναι σημειωμένη, τα περιθώρια της σελίδας θα αγνοηθούν και θα χρησιμοποιηθεί ολη η επιφάνεια για εκτύπωση. Θα πρέπει να υποστηρίζεται από τον εκτυπωτή. - + toolBar - + Ajuster la largeur Ταίριασμα στο πλάτος - + Ajuster la page Ταίριασμα στη σελίδα - + Zoom arrière Σμίκρυνση - + Zoom avant Μεγέθυνση - + Paysage Οριζόντια - + Portrait Κάθετα - + Première page Πρώτη σελίδα - + Page précédente Προηγούμενη σελίδα - + Page suivante Επόμενη σελίδα - + Dernière page Τελευταία σελίδα - + Afficher une seule page Προβολή μονής σελίδας - + Afficher deux pages Προβολή αντικριστών σελίδων - + Afficher un aperçu de toutes les pages Προβολή όλων των σελίδων - + mise en page Διαμόρφωση της σελίδας @@ -7815,160 +9310,208 @@ Voulez-vous enregistrer les modifications ? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Πινακίδες QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Πινακίδες χρήστη - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Σφάλμα + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Τερματισμός - + &Masquer Από&κρυψη - + &Restaurer &Εμφάνιση - + &Masquer tous les éditeurs de schéma &Απόκρυψη όλων των επεξεργαστών διαγραμμάτων - + &Restaurer tous les éditeurs de schéma Εμ&φάνιση όλων των επεξεργαστών διαγραμμάτων - + &Masquer tous les éditeurs d'élément Από&κρυψη όλων των επεξεργαστών στοιχείων - + &Restaurer tous les éditeurs d'élément Προ&βολή όλων των επεξεργαστών στοιχείων - + &Masquer tous les éditeurs de cartouche systray submenu entry Α&πόκρυψη όλων των επεξεργαστών πινακίδων - + &Restaurer tous les éditeurs de cartouche systray submenu entry Ε&μφάνιση όλων των επεξεργαστών πινακίδων - + &Nouvel éditeur de schéma &Νέος επεξεργαστής διαγραμμάτων - + &Nouvel éditeur d'élément &Νέος επεξεργαστής στοιχείου - + Ferme l'application QElectroTech Κλείσιμο του QElectroTech - + Réduire QElectroTech dans le systray Ελαχιστοποιεί το QElectroTech στο πλαίσιο συστήματος - + Restaurer QElectroTech Επαναφορά του QElectroTech - + Éditeurs de schémas Επεξεργαστές διαγραμμάτων - + Éditeurs d'élément Επεξεργαστές στοιχείων - + Éditeurs de cartouche systray menu entry Επεξεργαστές πινακίδων - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Βρέθηκε το παρακάτω αρχείο επαναφοράς,<br>Θέλεις να ανοιχτεί;</b><br> + <b>Βρέθηκε το παρακάτω αρχείο επαναφοράς,<br>Θέλεις να ανοιχτεί;</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Βρέθηκαν τα παρακάτω αρχεία επαναφοράς,<br>Θέλεις να ανοιχτούν;</b><br> + <b>Βρέθηκαν τα παρακάτω αρχεία επαναφοράς,<br>Θέλεις να ανοιχτούν;</b><br> - Fichier de restauration - Αρχεία επαναφοράς + Αρχεία επαναφοράς - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Χρήση: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7984,7 +9527,7 @@ Options disponibles : --license προβολή της άδειας χρήσης - + [options] [fichier]... @@ -7993,112 +9536,112 @@ Options disponibles : - + Configurer QElectroTech window title Ρύθμιση του QElectroTech - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=ΚΑΤΑΛΟΓΟΣ Προσδιορίστε τον κατάλογο της συλλογής στοιχείων - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-elements-dir=ΚΑΤΑΛΟΓΟΣ Προσδιορίστε τον κατάλογο της συλλογής πινακίδων - + --config-dir=DIR Definir le dossier de configuration --config-dir=ΚΑΤΑΛΟΓΟΣ Προσδιορίστε τον κατάλογο των ρυθμίσεων - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=ΚΑΤΑΛΟΓΟΣ Προσδιορίστε τον κατάλογο των αρχείων γλώσσας - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Φόρτωση... Αρχικοποίηση της προσωρινής μνήμης συλλογής στοιχείων - + Chargement... Éditeur de schéma splash screen caption Φόρτωση ... Επεξεργαστής διαγραμμάτων - + Chargement... Ouverture des fichiers splash screen caption Φόρτωση... Ανοίγουν τα αρχεία - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Διάγρα - + Electrique Normal example text - translate length, not meaning Ηλεκτρικ - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Chargement... splash screen caption Φόρτωση... - + Chargement... icône du systray splash screen caption Φόρτωση ... Εικονίδιο πλαισίου συστήματος - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8107,728 +9650,946 @@ Options disponibles : QETDiagramEditor - + Afficha&ge Προβο&λή - + Affiche ou non le panel d'appareils Εμφανίζει (ή όχι) το πλαίσιο στοιχείων - + Ajouter une colonne Προσθήκη στήλης - + &Cascade &Κλιμάκωση - + C&oller Επι&κόλληση - + Cop&ier Αντι&γραφή - + Co&uper Α&ποκοπή - + Désélectionner tout Αποεπιλογή όλων - + &Édition Ε&πεξεργασία - + Enlever une colonne Απομάκρυνση στήλης - + &Enregistrer &Αποθήκευση - + Enregistrer sous Αποθήκευση ως - + E&xporter Ε&ξαγωγή - + Fe&nêtres Παρά&θυρα - + + &Fermer &Κλείσιμο - + &Fichier &Αρχείο - + Imprimer Εκτύπωση - + Inverser la sélection Αντιστροφή της επιλογής - + Mode Selection Κατάσταση Λειτουργίας Επιλογής - + Mode Visualisation Κατάσταση Λειτουργίας Προβολής - + &Mosaïque &Μωσαϊκό - + &Nouveau &Νέο - + Outils Εργαλεία - + &Ouvrir Άν&οιγμα - + Ouvrir un fichier Άνοιγμα αρχείου - + Pas de zoom Επαναφορά της εστίασης - + Pivoter Περιστροφή - + &Quitter &Τερματισμός - + Supprimer Διαγραφή - + Tout sélectionner Επιλογή Όλων - + Zoom adapté Εστίαση ώστε να χωράει - + Zoom arrière Αποεστίαση - + Zoom avant Εστίαση - + Annuler Αναίρεση - + Refaire Επαναφορά - + Réinitialiser les conducteurs Επαναφορά των αγωγών - + Affiche ou non la barre d'outils principale Προβολή ή απόκρυψη της κύριας γραμμής εργαλείων - + Affiche ou non la barre d'outils Affichage Προβολή ή απόκρυψη της γραμμής εργαλείων Προβολής - + Affiche ou non la barre d'outils Schéma Προβολή ή απόκρυψη της γραμμής εργαλείων Διαγραμμάτων - + Affichage Προβολή - + Schéma Διάγραμμα - + Ajouter un champ de texte Προσθήκη πεδίου κειμένου - + Aucune modification Καμία αλλαγή - + Affiche ou non la liste des modifications Προβολή ή απόκρυψη του καταλόγου αναιρέσεων - + Éditer l'item sélectionné Επεξεργασία του επιλεγμένου αντικειμένου - + Lancer le plugin de création de borniers Έναρξη του προσθέτου δημιουργίας ακροδεκτών - + Grouper les textes sélectionnés Ομαδοποίηση επιλεγμένων κειμένων - + Pivote les éléments et textes sélectionnés status bar tip Περιστροφή των επιλεγμένων στοιχείων και των επιλεγμένων κειμένων - + Pivote les textes sélectionnés à un angle précis status bar tip Περιστροφή των επιλεγμένων κειμένων κατά μία συγκεκριμένη γωνία - + Chercher/remplacer Αναζήτηση / Αντικατάσταση - + &Projet Έρ&γο - + &Récemment ouverts Προσφάτως ανοιγμένα - - + + Projet %1 enregistré dans le repertoire: %2. Το έργο %1 αποθηκεύτηκε στον κατάλογο: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Το αρχείο, το όποιο προσπαθείτε να ανοίξετε, δεν φαίνεται να είναι αναγνώσιμο και δεν μπορεί να ανοιχτεί. Παρακαλώ, ελέγξτε τα δικαιώματα του αρχείου. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Το έργο, το οποίο προσπαθείτε να ανοίξετε, δεν φαίνεται να είναι εγγράψιμο. Θα ανοιχτεί μόνο για ανάγνωση. - + en utilisant des onglets χρήση καρτελών - + en utilisant des fenêtres χρήση παραθύρων - + Afficher les projets Προβολή των έργων - + Propriétés du projet Ιδιότητες του έργου - + Nettoyer le projet Καθαρισμός του έργου - - + + Échec de l'ouverture du projet message box title Αδυναμία ανοίγματος του έργου - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Το αρχείο %1 δεν δείχνει να είναι αρχείο έργου QElectroTech. Κατά συνέπεια, δεν μπορεί να ανοιχτεί. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Αναιρέσεις - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Επιλέξτε μια ενέργεια για να επαναφέρετε τις αλλαγές που κάνατε στο διάγραμμα σας - + Orienter les textes Προσανατολισμός των κειμένων - + Retrouver dans le panel Εύρεση στο πλαίσιο - + Ajouter une image Προσθήκη εικόνας - + Ajouter un sommaire Προσθήκη περίληψης - + Zoom sur le contenu Εστίαση στο περιεχόμενο - + Ferme l'application QElectroTech status bar tip Κλείνει το QElectroTech - + Annule l'action précédente status bar tip Αναιρεί την προηγούμενη πράξη - + Restaure l'action annulée status bar tip Επαναφέρει την προηγούμενη αναίρεση - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Τοποθετεί τα επιλεγμένα στοιχεία στο πρόχειρο αντιγραφής - + Copie les éléments sélectionnés dans le presse-papier status bar tip Αντιγράφει τα επιλεγμένα στοιχεία - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Αποεπιλέγει όσα στοιχεία είναι επιλεγμένα, και επιλέγει όσα δεν ήταν επιλεγμένα - + Retrouve l'élément sélectionné dans le panel status bar tip Εύρεση του επιλεγμένου στοιχείου στον πίνακα - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Επαναφορά της διαδρομής των αγωγών, αγνοώντας τις αλλαγές του χρήστη - + Création automatique de conducteur(s) Tool tip of auto conductor Αυτόματη δημιουργία αγωγών - + Projets dock title Έργα - + Collections Συλλογές - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Χρήση της αυτόματης δημιουργίας αγωγών όταν αυτό είναι δυνατόν - + Restaure le zoom par défaut status bar tip Επαναφέρει το προκαθορισμένο μέγεθος εστίασης - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Εμφανίζει τα διάφορα ανοιγμένα έργα, σε παράθυρα - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + Προβολή + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Διασταυρούμενες αναφορές + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature Προσθήκη ονοματολογίας - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip Εμφανίζει τα διάφορα ανοιγμένα έργα, σε καρτέλες - + Permet de sélectionner les éléments status bar tip Επιτρέπει την επιλογή στοιχείων - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel Προσθέτει ένα πεδίο κειμένου στην τρέχουσα σελίδα - + Ajoute une image sur le folio actuel Προσθήκη εικόνας στην τρέχουσα σελίδα - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Προσθήκη γραμμής στην τρέχουσα σελίδα - + Ajoute un rectangle sur le folio actuel Προσθήκη ορθογώνιου στην τρέχουσα σελίδα - + Ajoute une ellipse sur le folio actuel Προσθήκη έλλειψης στην τρέχουσα σελίδα - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Προσθήκη πολυγραμμής στην τρέχουσα σελίδα - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter Προσθήκη - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes + + + + Scripts + + - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -8837,7 +10598,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -8846,37 +10607,77 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -8884,100 +10685,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Επεξεργασία του στοιχείου - + Éditer le champ de texte edit text field Επεξεργασία του πεδίου κειμένου - + Éditer l'image edit image Επεξεργασία εικόνας - + Éditer le conducteur edit conductor Επεξεργασία αγωγού - + Éditer l'objet sélectionné edit selected item Επεξεργασία του επιλεγμένου αντικειμένου - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Παρουσιάστηκε σφάλμα κατά το άνοιγμα του αρχείου %1. - + Active le projet « %1 » Ενεργοποιεί το έργο « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Σφάλμα - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8985,7 +10786,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8993,7 +10794,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9001,18 +10802,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9021,106 +10822,211 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Dispose les fenêtres en mosaïque status bar tip Διαρρυθμίζει τα παράθυρα σαν πλακίδια - + Dispose les fenêtres en cascade status bar tip Διαρρύθμιση των παραθύρων σε κλιμακωτή διάταξη - + Projet suivant Επόμενο έργο - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Αυτό το παράθυρο εμφανίζει τις διάφορες δράσεις που γίνονται στην τρέχουσα σελίδα. Πατήστε σε μια δράση για να επιστρέψετε στην κατάσταση της σελίδας αμέσως μετά την εφαρμογή. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf Εξαγωγή ως pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Εξάγει μία ή περισσότερες σελίδες του τρέχοντος έργου - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor @@ -9136,298 +11042,298 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g Εμφανίζει το χρώμα παρασκηνίου της σελίδας σε λευκό ή γκρι - + Afficher la grille Εμφάνιση του δικτυώματος - + Affiche ou masque la grille des folios Εμφάνιση ή απόκρυψη του δικτυώματος της σελίδας - + Afficher les guides - + Affiche ou masque les guides - + Propriétés du folio Ιδιότητες σελίδας - + Ajouter un folio Προσθήκη σελίδας - - - + + + Supprimer le folio Διαγραφή σελίδας - + Exporter au format CSV Εξαγωγή ως CSV - + Gestionnaire de borniers (DEV) Διαχειριστής ακροδεκτών (DEV) - + Exporter la liste des noms de conducteurs Εξαγωγή της λίστας των ονομάτων των αγωγών - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - + Exporter la base de donnée interne du projet Εξαγωγή της εσωτερικής βάσης δεδομένων έργου - + Projet précédent Προηγούμενο έργο - + Crée un nouveau projet status bar tip Δημιουργία νέου έργου - + Ouvre un projet existant status bar tip Άνοιγμα υπάρχοντος έργου - + Ferme le projet courant status bar tip Κλείσιμο τρέχοντος έργου - + Enregistre le projet courant et tous ses folios status bar tip Αποθήκευση τρέχοντος έργου - + Enregistre le projet courant avec un autre nom de fichier status bar tip Αποθήκευση του τρέχοντος έργου με διαφορετικό όνομα αρχείου - + Ajouter une ligne Add row Προσθήκη γραμμής - + Enlever une ligne Remove row Αφαίρεση γραμμής - + Ajoute une colonne au folio status bar tip Προσθήκη στήλης στη σελίδα - + Enlève une colonne au folio status bar tip Απομάκρυνση στήλης από τη σελίδα - + Agrandit le folio en hauteur status bar tip Επεκτείνει το ύψος της σελίδας - + Rétrécit le folio en hauteur status bar tip Συρρικνώνει το ύψος της σελίδας - + Pivoter le groupe - + Enlève les éléments sélectionnés du folio status bar tip Διαγράφει τα επιλεγμένα στοιχεία από τη σελίδα - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Sélectionne tous les éléments du folio status bar tip Επιλέγει όλα τα στοιχεία τις σελίδας - + Désélectionne tous les éléments du folio status bar tip Αποεπιλέγει όλα τα στοιχεία τις σελίδας - + Agrandit le folio status bar tip Επεκτείνει τη σελίδα - + Rétrécit le folio status bar tip Συρρικνώνει τη σελίδα - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Προσαρμογή της εστίασης έτσι ώστε να εμφανιστούν όλα τα περιεχόμενα της σελίδας ανεξάρτητα από το πλαίσιο - + Adapte le zoom exactement sur le cadre du folio status bar tip Προσαρμογή της εστίασης στο μέγεθος του πλαισίου της σελίδας - + Ajouter un PDF - + Ajouter une ligne Draw line Προσθήκη γραμμής - + Ajouter un rectangle Προσθήκη παραλληλόγραμμου - + Ajouter une ellipse Προσθήκη έλλειψης - + Ajouter une polyligne Προσθήκη πολυγραμμής - + Exporte le folio courant dans un autre format status bar tip Εξάγει την τρέχουσα σελίδα σε διαφορετική μορφή - + Imprime un ou plusieurs folios du projet courant status bar tip Εκτυπώνει μία ή περισσότερες σελίδες του τρέχοντος έργου - + Profondeur toolbar title Βάθος - + Groupe Ομάδα - + Place les éléments du presse-papier sur le folio status bar tip Επικολλάει τα περιεχόμενα του προχείρου στη σελίδα - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Επεξεργαστείτε τις ιδιότητες της σελίδας (διαστάσεις, πληροφορίες πινακίδας, ιδιότητες αγωγών...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Επιτρέπει την προβολή της σελίδας χωρίς να είναι δυνατή η μετατροπή της - + Active le projet suivant status bar tip Ενεργοποιεί το επόμενο έργο - + Active le projet précédent status bar tip Ενεργοποιεί το προηγούμενο έργο - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Έργα QElectroTech (*.qet);;Αρχεία XML (*.xml);;Όλα τα αρχεία (*) - - + + Impossible d'ouvrir le fichier message box title Αδυναμία ανοίγματος του αρχείου - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Φαίνεται ότι το αρχείο 1% που προσπαθείτε να ανοίξετε δεν υπάρχει. - + Ouverture du projet en lecture seule message box title Άνοιγμα του αρχείου μόνο για ανάγνωση @@ -9436,27 +11342,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Νέο - + &Ouvrir Άν&οιγμα - + &Enregistrer &Αποθήκευση - + Enregistrer sous Αποθήκευση ως - + Tout sélectionner Επιλογή όλων @@ -9466,334 +11372,334 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g Επεξεργαστής στοιχείων του QElectroTech - + &Aide &Βοήθεια - + Annulations Αναιρέσεις - + Parties Τμήματα - + Informations Πληροφορίες - + Outils Εργαλεία - + Affichage Προβολή - + Élément Στοιχείο - + Annulation Αναίρεση - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Επιλογή κανενός - + C&oller dans la zone Επικόλληση στην περιοχή - + Un fichier Ένα αρχείο - + Un élément Ένα στοιχείο - + Inverser la sélection Αντιστροφή επιλογής - + &Supprimer &Διαγραφή - + À &propos de QElectroTech &Σχετικά με το QElectroTech - + Affiche des informations sur QElectroTech Εμφανίζει πληροφορίες για το QElectroTech - + Manuel en ligne Εγχειρίδιο Online - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Ξεκινά το προεπιλεγμένο πρόγραμμα περιήγησης στο online εγχειρίδιο QElectroTech - + Chaine Youtube Κανάλι Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Ξεκινά το προεπιλεγμένο πρόγραμμα περιήγησης στο Youtube κανάλι του QElectroTech - + Soutenir le projet par un don Υποστηρίξτε το έργο με μια δωρεά - + Soutenir le projet QElectroTech par un don Υποστηρίξτε το έργο QElectroTech με μια δωρεά - + À propos de &Qt Σχετικά με την &QT - + Affiche des informations sur la bibliothèque Qt Εμφανίζει πληροφορίες για την βιβλιοθήκη QT - + Rotation Περιστροφή - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf Εισαγωγή ενος dxf - + importer un élément à redimensionner - + Ajouter une ligne Προσθήκη γραμμής - + Ajouter une ellipse Προσθήκη έλλειψης - + Ajouter un polygone Προσθήκη πολυγώνου - + Ajouter du texte Προσθήκη κειμένου - + Ajouter un arc de cercle Προσθήκη τόξου - + Ajouter une borne Προσθήκη ακροδέκτη - + Annuler Αναίρεση - + Refaire Επαναφορά - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Λόγω απουσίας ακροδέκτη, το στοιχείο δεν θα μπορεί να συνδεθεί με άλλα στοιχεία μέσω αγωγών. - + Aucune modification Καμία αλλαγή - + Recharger Επαναφόρτωση - + Zoom avant Εστίαση - + Zoom arrière Αποεστίαση - + Zoom adapté Ταιριαστή προβολή - + Pas de zoom Επαναφορά της εστίασης - + &Ouvrir depuis un fichier Άνοιγμα α&πό ένα αρχείο - + Enregistrer dans un fichier Αποθήκευση σε ένα αρχείο - + Éditer les informations sur l'auteur Επεξεργασία των πληροφοριών του συγγραφέα - + Parties toolbar title Τμήματα - + Profondeur toolbar title Βάθος - + Éditer le nom et les traductions de l'élément Επεξεργασία του ονόματος και των μεταφράσεων του στοιχείου - + Éditer les propriétés de l'élément Επεξεργασία των ιδιοτήτων του στοιχείου - + Ajouter un champ texte dynamique Προσθήκη πεδίου δυναμικού κειμένου - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Διπλό κλικ για τελείωμα του σχήματος, Δεξί κλικ για ακύρωση του τελευταίου σημείου - + &Fichier &Αρχείο - + &Édition Ε&πεξεργασία - + Afficha&ge Προβο&λή - + Coller depuis... Επικόλληση από ... - + [Modifié] window title tag [Αλλαγμένο] - + [lecture seule] window title tag [Μόνο για ανάγνωση] - + Éditeur d'éléments status bar message Επεξεργαστής στοιχείων - - + + %n partie(s) sélectionnée(s). %n επιλεγμένο τμήμα. @@ -9801,24 +11707,24 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Απουσία ακροδέκτη - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Σφάλμα</b> :<br>Οι αναφορές σελίδας πρέπει να έχουν ένα μοναδικό ακροδέκτη.<br><b>Λύση</b> :<br>Βεβαιωθείτε ότι το στοιχείο έχει ένα μοναδικό ακροδέκτη - + La vérification de cet élément a généré message box content Ο έλεγχος του στοιχείου επέστρεψε - + %n erreur(s) errors @@ -9827,32 +11733,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et και - + Erreurs Σφάλματα - + Absence de borne Απουσία ακροδέκτη - + Ajouter un texte d'élément non éditable dans les schémas Προσθήκη μη επεξεργάσιμου κειμένου στοιχείου στα διαγράμματα - + Ajouter un texte d'élément pouvant être édité dans les schémas Προσθήκη επεξεργάσιμου κειμένου στοιχείου στα διαγράμματα - + %n avertissement(s) warnings @@ -9861,293 +11767,349 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Le fichier %1 n'existe pas. message box content Δεν υπάρχει το αρχείο %1. - + Afficher menu entry Προβολή - - + + Impossible d'ouvrir le fichier %1. message box content Αδυναμία ανοίγματος του αρχείου %1. - - + + Ce fichier n'est pas un document XML valide message box content Αυτό το αρχείο δεν είναι ένα έγκυρο έγγραφο XML - - + + Erreur toolbar title Σφάλμα - - + + Édition en lecture seule message box title Έκδοση μόνο για ανάγνωση - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Δεν επιτρέπεται η μετατροπή αυτού του στοιχείου. Γι αυτό θα ανοιχτεί μόνο για ανάγνωση. - - + + Erreur message box title Σφάλμα - + Impossible d'écrire dans ce fichier message box content Αδυναμία εγγραφής σε αυτό το αρχείο - + Impossible d'enregistrer l'élément message box content Αδυναμία αποθήκευσης του στοιχείου - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Πλάτος + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement Προειδοποίηση - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Η εισαγωγή ενός μεγάλου dxf μπορεί να πάρει χρόνο περιμένετε κατά την εισαγωγή... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) Στοιχεία του QElectroTech (*.elmt) - + Impossible d'ouvrir le fichier message box title Αδυναμία ανοίγματος του αρχείου - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Φαίνεται ότι το αρχείο %1 που προσπαθείτε να ανοίξετε δεν υπάρχει. - - - + + + Echec de l'enregistrement Αποτυχία αποθήκευσης - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Η αποθήκευση απέτυχε, οι συνθήκες δεν είναι έγκυρες - + Ouvrir un fichier dialog title Άνοιγμα αρχείου - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Στοιχεία του QElectroTech (*.elmt);;Αρχεία XML (*.xml);;Όλα τα αρχεία (*) - + Recharger l'élément dialog title Επαναφόρτωση του στοιχείου - + Avertissements Προειδοποιήσεις - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Αυτό το στοιχείο έχει αλλαχθεί, μετά από την τελευταία αποθήκευσή του. Αν το επαναφορτώσετε, αυτές οι αλλαγές θα χαθούν. Θέλετε πραγματικά να επαναφορτωθεί αυτό το στοιχείο; - + Enregistrer sous dialog title Αποθήκευση ως - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Στοιχεία του QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Αποθήκευση του παρόντος διαγράμματος; - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Θέλεις να γίνει αποθήκευση του στοιχείου %1; - - - - + + + + Élément inexistant. message box title Μη υπαρκτό στοιχείο. - - + + L'élément n'existe pas. message box content Το στοιχείο δεν υπάρχει. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Η επιλεγμένη εικονική διαδρομή δεν ταιριάζει σε κάποιο στοιχείο. - + Co&uper Α&ποκοπή - + Cop&ier Αντι&γραφή - + C&oller Επι&κόλληση - + Ajouter un rectangle Προσθήκη παραλληλόγραμμου @@ -10155,137 +12117,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech &Ρύθμιση του QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Επιτρέπει τον προσδιορισμό διαφόρων παραμέτρων για το QElectroTech - + À &propos de QElectroTech &Σχετικά με το QElectroTech - + Affiche des informations sur QElectroTech status bar tip Εμφανίζει πληροφορίες για το QElectroTech - + Manuel en ligne Εγχειρίδιο Online - + Chaine Youtube Κανάλι Youtube - - + + Télécharger une nouvelle version (dev) Λήψη νέας έκδοσης (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Ξεκινά το προεπιλεγμένο πρόγραμμα περιήγησης στο online εγχειρίδιο QElectroTech - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Ξεκινά το προεπιλεγμένο πρόγραμμα περιήγησης στο Youtube κανάλι του QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Ξεκινάει το προεπιλεγμένο πρόγραμμα περιήγησης στο χώρο αποθήκευσης Nightly online του QElectroTech - + Soutenir le projet par un don Υποστηρίξτε το έργο με μια δωρεά - + Soutenir le projet QElectroTech par un don status bar tip Υποστηρίξτε το έργο QElectroTech με μια δωρεά - + À propos de &Qt Σχετικά με την &QT - + Affiche des informations sur la bibliothèque Qt status bar tip Εμφανίζει πληροφορίες για την βιβλιοθήκη QT - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Ρυθμίσεις - + &Aide window menu &Βοήθεια - + Sortir du &mode plein écran Έξοδος από την λειτουργία πλήρους οθόνης - + Affiche QElectroTech en mode fenêtré status bar tip Εμφανίζει το QElectroTech σε κατάσταση λειτουργίας παραθύρων - + Passer en &mode plein écran Κατά&σταση λειτουργίας πλήρους οθόνης - + Affiche QElectroTech en mode plein écran status bar tip Εμφανίζει το QElectroTech σε κατάσταση λειτουργίας πλήρους οθόνης - + Afficher menu entry Προβολή @@ -10294,64 +12291,64 @@ les conditions requises ne sont pas valides QETProject - + Une erreur s'est produite durant l'intégration du modèle. error message Παρουσιάστηκε σφάλμα κατά την ενσωμάτωση του προτύπου. - + Avertissement message box title Προειδοποίηση - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Έργο « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Έργο %1 - + Projet sans titre displayed title for a project-less, file-less project Ανώνυμο έργο - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [μόνο-για-ανάγνωση] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [Αλλαγμένο] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10359,44 +12356,44 @@ Voulez-vous continuer ? - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title Προειδοποίηση - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Άνοιγμα του έργου...</b><br/>Δημιουργία των σελίδων</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Άνοιγμα του τρέχοντος έργου ...</b><br/>Εφαρμογή των παραπομπών</p> @@ -10765,23 +12762,23 @@ Que désirez vous faire ? QObject - + Exporter vers le presse-papier Εξαγωγή στο πρόχειρο - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Το αρχείο κειμένου που περιέχει την άδεια GNU/GPL δεν μπορεί να βρεθεί - αλλά ούτως ή άλλως την έχετε στην καρδιά σας, έτσι δεν είναι; - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Το αρχείο κειμένου που περιέχει την άδεια GNU/GPL υπάρχει αλλά δεν μπορεί να ανοιχτεί - αλλά ούτως ή άλλως την έχετε στην καρδιά σας, έτσι δεν είναι; - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Προσοχή: Το στοιχείο έχει αποθηκευτεί με μια νεότερη έκδοση του QElectroTech. @@ -10801,44 +12798,44 @@ Que désirez vous faire ? ένα γραφικό στοιχείο - + supprimer %1 undo caption - %1 is a sentence listing the removed content διαγραφή %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste επικόλληση %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut αποκοπή %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content μετακίνηση %1 - + modifier le texte undo caption επεξεργασία κειμένου - + modifier un conducteur undo caption μετατροπή αγωγού - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Επαναφορά %1 @@ -10850,7 +12847,7 @@ Que désirez vous faire ? μετατροπή πινακίδας - + modifier les dimensions du folio undo caption Επεξεργασία των διαστάσεων της σελίδας @@ -11029,7 +13026,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11038,7 +13035,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11047,7 +13044,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11056,7 +13053,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11065,7 +13062,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11074,7 +13071,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11083,7 +13080,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11092,7 +13089,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11101,69 +13098,69 @@ Que désirez vous faire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Δεν είναι δυνατό το άνοιγμα του αρχείου %1 για εγγραφή, παρουσιάστηκε σφάλμα %2 - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Παρουσιάστηκε σφάλμα κατά την εγγραφή του αρχείου %1, το σφάλμα%2 βρέθηκε. - + Amener au premier plan Μετακίνηση εμπρός - + Rapprocher Ανύψωση - + Éloigner Χαμήλωμα - + Envoyer au fond Μετακίνηση πίσω - + Ramène la ou les sélections au premier plan Φέρνει την επιλογή(ες) στο προσκήνιο - + Rapproche la ou les sélections Ανασυγκρότηση της επιλογής - + Éloigne la ou les sélections Απομάκρυνση της επιλογής(ών) - + Envoie en arrière plan la ou les sélections Αποστολή των επιλογών στο παρασκήνιο - - - - + + + + Profondeur Βάθος - + Borne tooltip Ακροδέκτης @@ -11181,27 +13178,27 @@ Que désirez vous faire ? παραλληλόγραμμο - + Folio sans titre Ανώνυμη σελίδα - + schema διάγραμμα - + Conserver les proportions Διατήρηση της αναλογίας διαστάσεων - + Réinitialiser les dimensions Επαναφορά των διαστάσεων - + Aperçu Προεπισκόπηση @@ -11356,6 +13353,7 @@ Que désirez vous faire ? + Titre Τίτλος @@ -11438,6 +13436,7 @@ Que désirez vous faire ? Κείμενο + Modifier les informations de l'élément : %1 Επεξεργασία των πληροφοριών του στοιχείου: %1 @@ -11527,32 +13526,32 @@ Que désirez vous faire ? Αριθμός σελίδας - + Collection QET Συλλογή QET - + Collection Company - + Collection utilisateur Συλλογή χρήστη - + Macros - + Collection inconnue Άγνωστη συλλογή - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11566,8 +13565,13 @@ Que désirez vous faire ? Collection Συλλογή + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11639,7 +13643,7 @@ Que désirez vous faire ? %1 ομάδες κειμένων - + %n texte(s) @@ -11647,13 +13651,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Επιλέξτε τον προσανατολισμό των επιλεγμένων κειμένων @@ -11702,13 +13706,13 @@ Voulez-vous la remplacer ? Εισαγωγή της διαμόρφωσης κειμένου :%1 - + %p% effectué (%v sur %m) %p% ολοκληρώθηκε (%v από %m) - - + + chargement %p% (%v sur %m) φόρτωση %p% (%v sur %m) @@ -11718,22 +13722,22 @@ Voulez-vous la remplacer ? Εύρεση/αντικατάσταση ιδιοτήτων φύλου - + Chercher/remplacer les propriétés d'éléments. Εύρεση/αντικατάσταση ιδιοτήτων στοιχείου - + Chercher/remplacer les propriétés de conducteurs. Εύρεση/αντικατάσταση ιδιοτήτων αγωγών. - + Rechercher / remplacer avancé Προηγμένη Αναζήτηση / αντικατάσταση - + Chercher/remplacer des textes independants Αναζήτηση/αντικατάσταση ανεξάρτητων κειμένων @@ -11830,35 +13834,35 @@ Voulez-vous la remplacer ? - - - + + + Type Τύπος - - - + + + Adresse - - - + + + Commentaire Σχόλιο - - - + + + Réf. croisée @@ -11866,9 +13870,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Λειτουργία @@ -12198,27 +14202,27 @@ Voulez-vous la remplacer ? Διαδρομή αποθηκευμένου αρχείου - + Création de conducteurs Δημιουργία αγωγών - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Για να εγκαταστήσετε το πρόσθετο qet_tb_generator<br>Επισκεφθείτε το:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator</a><br> Απαιτεί python 3.5 ή παραπάνω <br> <B> <U> Πρώτη εγκατάσταση στα Windows </B> </U> <br> 1. Εγκατάσταση, εάν απαιτείται, python 3.5 ή παραπάνω <br> Επισκεφθείτε το: <br> <a href='https://www.python.org/downloads/'> python.org </a> <br> 2. pip install qet_tb_generator <br> <B> <U> Ενημέρωση στα Windows </B> </U> <br> python -m pip install --upgrade qet_tb_generator <br>>> Ο χρήστης θα μπορούσε να ξεκινήσει σε ένα τερματικό αυτό το σενάριο σε αυτό τον κατάλογο <br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Για να εγκαταστήσετε το πρόσθετο qet_tb_generator<br>Επισκεφθείτε το:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator</a><br><br> Απαιτεί python 3.5 ή παραπάνω <br><br> <B> <U> Πρώτη εγκατάσταση στο Linux </B> </U> <br> 1. ελέγχτε αν έχετε εγκατεστημένο το pip3: pip3 --version<br>αν οχι, εγκαταστήστε το με: sudo apt-get install python3-pip<br>2. Εγκαταστήστε την εφαρμογή: sudo pip3 install qet_tb_generator<br>3. Εκκινήστε την εφαρμογή: qet_tb_generator<br><br><B><U> Αναβάθμιση σε Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Σφάλμα εκκίνησης του προσθέτου qet_tb_generator @@ -12238,15 +14242,15 @@ Voulez-vous la remplacer ? Επικόλληση - - + + - - - - - - + + + + + + this is an error in the code Αυτό είναι ένα σφάλμα στον κώδικα @@ -12427,12 +14431,12 @@ Voulez-vous la remplacer ? Επεξεργασία των ιδιοτήτων ενος στοιχείου - + Ouvrir un element Άνοιγμα ενός στοιχείου - + Importer un fichier dxf Εισαγωγή ενος αρχείου dxf @@ -12538,7 +14542,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12621,7 +14625,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12630,8 +14634,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12760,98 +14764,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Προσθήκη %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Επεξεργασία του χρώματος ενός κειμένου - + Pivoter un texte - + Modifier le trait d'une forme Επεξεργασία της γραμμής μιας φόρμας - + Modifier le remplissage d'une forme Επεξεργασία του γεμίσματος μιας φόρμας - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Επεξεργασία κειμένου του στοιχείου - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12859,6 +14876,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Φύλλο + QTextOrientationWidget @@ -12878,369 +14936,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau Περιορισμός πίνακα - + Modifier la géometrie d'un tableau Επεξεργασία της γεωμετρίας ενος πίνακα + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape σχήμα - + une ligne γραμμής - - + + Ajouter un point Προσθήκη σημείου - + Supprimer ce point Διαγραφή του σημείου - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Μέγεθος - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Προσθήκη σημείου σε πολύγωνο - + Supprimer un point d'un polygone Διαγραφή σημείου από πολύγωνο - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Επεξεργασία %1 - + un rectangle ορθογώνιου - + une éllipse έλειψης - + un arc - + une polyligne πολυγραμμής - + une courbe @@ -13322,7 +15441,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ΕτικέταΚειμένου - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Το στοιχείο «% 1» υπάρχει ήδη. Τι θα θέλατε να κάνετε; @@ -13330,31 +15449,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Φύλλο + + + + Élément + Στοιχείο + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13378,9 +15541,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier Χωρίς επεξεργασία @@ -13500,97 +15663,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af φάση - - + + Nombre de phase Αριθμός φάσεων - + Neutre Ουδέτερος - + neutre ουδέτερος - + Terre Γείωση - + terre γείωση - + TextLabel ΕτικεταΚειμένου - + PushButton Κουμπί - + Apparence Εμφάνιση - + Taille : Μέγεθος: - - + + Couleur : Χρώμα: - + Style : Τεχνοτροπία: - - + + Modifier Επεξεργασία - + Couleur secondaire : Δευτερεύων χρώμα: - + Taille de trait : Μέγεθος γραμμής: - + px px - + Trait plein conductor style: solid line Συνεχόμενη - + Trait en pointillés conductor style: dashed line Διακεκομμένη - + Traits et points conductor style: dashed and dotted line Παύλες και τελείες @@ -13599,7 +15762,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier Χωρίς επεξεργασία @@ -13641,10 +15804,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier Χωρίς επεξεργασία @@ -13704,12 +15867,12 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Εφαρμογή τρέχουσας ημερομηνίας - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Διαθέσιμο ως μεταβλητή %plant στα πρότυπα πινακίδων</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13722,33 +15885,33 @@ Les variables suivantes sont utilisables : -%autonum: Αυτόματη αρίθμηση φύλλου - + Disponible en tant que %locmach pour les modèles de cartouches Διαθέσιμο ως μεταβλητή %locmach στα πρότυπα πινακίδων - + Titre : Τίτλος: - - - - - - - + + + + + + + Supprimer ce texte Διαγραφή του κειμένου - + Personnalisées Προσαρμοσμένο - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Εδώ μπορείτε να καθορίσετε τους δικούς σας συνδυασμούς ονόματος/τιμής ώστε οι πινακίδες να τα λαμβάνουν υπ'όψη, Πχ συνδυάζοντας το όνομα "volta" με την τιμή "1745" θα αντικαταστήσει το %{volta} με το 1745 μέσα στην πινακίδα. @@ -13786,6 +15949,185 @@ Créer votre propre texte en vous aidant des variables suivantes : % c: ο αριθμός της στήλης + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Νέο + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Όνομα: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Αποθήκευση + + + + Ouvrir le &dossier + + + + + &Fermer + &Κλείσιμο + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13799,42 +16141,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Μετάβαση στην επόμενη αντιστοίχιση - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Εμφάνιση προχωρημένων επιλογών</p></body></html> - + Aller à la correspondance précédente Μετάβαση στην προηγούμενη αντιστοίχιση - + Quitter Τερματισμός - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Ορίστε τις ιδιότητες που θέλετε να αντικαταστήσετε στα στοιχεία</p></body></html> - + Champ texte de folio Πλαίσιο κειμένου Φύλου - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Ορίστε τις ιδιότητες που πρέπει να αντικατασταθούν στους αγωγούς</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Ορίστε τις ιδιότητες που θέλετε να αντικαταστήσετε στα φύλα</p></body></html> - + Folio Φύλλο @@ -13859,42 +16201,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Διαχωρισμός πεζών κεφαλαίων - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Αντικατάσταση της επιλεγμένης αντιστοίχησης</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Αντικατάσταση των επιλεγμένων αντιστοιχήσεων</p></body></html> - + avancé Σύνθετο - + Élément Στοιχείο - + Conducteur Αγωγός - + Remplacer : Αντικατάσταση - + Remplacer Αντικατάσταση - + Tout remplacer Αντικατάσταση όλων @@ -13904,105 +16246,105 @@ Créer votre propre texte en vous aidant des variables suivantes : Αναζήτηση: - + Actualiser πραγματοποίηση - + Correspondance : Αντιστοιχία: - + Folios Σελίδες - + Champs texte Πεδία κειμένου - + Eléments Στοιχεία - + Eléments simple Απλά στοιχεία - + Eléments maître Κύρια στοιχεία - + Eléments esclave Βοηθητικά στοιχεία - + Eléments report de folio Στοιχεία αναφοράς φύλου - + Eléments bornier Στοιχεία ακροδεκτών - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [επεξεργασμένο] - + Conducteurs Αγωγοί - + Inconnue Άγνωστο @@ -14015,17 +16357,17 @@ Créer votre propre texte en vous aidant des variables suivantes : Φόρμα - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Διαγραφή μιας μεταβλητής αρίθμησης </p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Προσθήκη μιας μεταβλητής αρίθμησης </p></body></html> - + Définition Ορισμός @@ -14045,38 +16387,66 @@ Créer votre propre texte en vous aidant des variables suivantes : Διαγραφή της αρίθμησης - Précédent - Προηγούμενο + Προηγούμενο - Suivant - Επόμενο + Επόμενο - + Type Τύπος - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Τιμή - + Incrémentation Αύξηση - + + Annuler + Αναίρεση + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Αυτόματη αρίθμηση σελίδων - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14104,7 +16474,7 @@ Le champ "Incrémentation" n'est pas utilisé. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14142,13 +16512,13 @@ Les autres champs ne sont pas utilisés. Τα άλλα πεδία δεν χρησιμοποιούνται. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14170,7 +16540,17 @@ Les autres champs ne sont pas utilisés. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Αυτόματη αρίθμηση αγωγών @@ -16564,12 +18944,12 @@ Les autres champs ne sont pas utilisés. Πληροφορίες προς εμφάνιση - + Configuration Διαμόρφωση - + Requête SQL : Ερώτημα SQL: @@ -16579,6 +18959,18 @@ Les autres champs ne sont pas utilisés. Θέση + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16908,58 +19300,58 @@ Les autres champs ne sont pas utilisés. TerminalStripEditor - + Ponter les bornes Γεφύρωση των ακροδεκτών - + Déponter les bornes Απογεφύρωση των ακροδεκτών - + Propriétés Ιδιότητες - + Nom : Όνομα: - + Commentaire : Σχόλιο: - + Description Περιγραφή - + Installation : Εγκατάσταση - + Localisation : Τοποθεσία : - + Type : Τύπος: - + Degrouper les bornes Αποομαδοποίηση των ακροδεκτών - - + + Générique Γενικό @@ -16979,67 +19371,67 @@ Les autres champs ne sont pas utilisés. - + Couleur pont : Χρώμα γέφυρας: - + Fusible Ασφάλεια - + Sectionnable - + Diode Δίοδος - + Terre Γείωση - + LED : - + Déplacer dans : Μετακίνηση σε: - + Phase Φάση - + Neutre Ουδέτερος - + Position automatique Αυτόματη θέση - + Étage : Στάδιο: - + Grouper les bornes Ομαδοποίηση των ακροδεκτών - + Fonction : Λειτουργία: @@ -17077,32 +19469,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier Προσθήκη σειράς ακροδεκτών - + Ajouter un bornier au projet Προσθήκη σειράς ακροδεκτών στο έργο - + Supprimer le bornier Διαγραφή σειράς ακροδεκτών - + Supprimer le bornier du projet Διαγραφή σειράς ακροδεκτών απο το έργο - + Recharger Επαναφόρτωση - + Recharger les borniers Επαναφόρτωση των ακροδεκτών @@ -17327,12 +19719,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre Ανώνυμο έργο - + Bornes indépendante Ανεξάρτητοι ακροδέκτες @@ -17440,7 +19832,7 @@ Les autres champs ne sont pas utilisés. Λήψη - + Dossier installation Φάκελος εγκατάστασης @@ -17448,37 +19840,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Πλάτος: - + Absolu a traditional, absolute measure Απόλυτο - + Relatif au total a percentage of the total width Σχετικό του συνόλου - + Relatif au restant a percentage of what remains from the total width Σχετικό του υπολοίπου - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17487,30 +19879,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Προεπιλεγμένο πρότυπο - + Éditer ce modèle menu entry Επεξεργασία αυτού του προτύπου - + Dupliquer et éditer ce modèle menu entry Αναπαραγωγή και επεξεργασία αυτού του προτύπου πινακίδας - + Title block templates actions Ενέργειες προτύπων πινακίδων - - + + + Créer un Folio Numérotation Auto Δημιουργία Αυτόματης αρίθμησης Σελίδων @@ -17525,47 +19918,47 @@ Les autres champs ne sont pas utilisés. Φόρμα - + Folio : Σελίδα: - + Auteur : Συγγραφέας: - + Indice Rev: Ευρετήριο Rev - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Διαθέσιμο ως μεταβλητή % plant στα πρότυπα πινακίδων</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Διαθέσιμο ως %filename στα πρότυπα πινακίδων - + Pas de date Χωρίς ημερομηνία - + Date courante Σημερινή ημερομηνία - + Appliquer la date actuelle Εφαρμογή τρέχουσας ημερομηνίας - + Principales Κύριο @@ -17575,22 +19968,22 @@ Les autres champs ne sont pas utilisés. Πληροφορίες πινακίδων - + Disponible en tant que %locmach pour les modèles de cartouches Διαθέσιμο ως μεταβλητή %locmach στα πρότυπα πινακίδων - + Disponible en tant que %date pour les modèles de cartouches Διαθέσιμο ως %date στα πρότυπα πινακίδων - + Date fixe : Σταθερή ημερομηνία - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17603,7 +19996,7 @@ Les variables suivantes sont utilisables : -%autonum: Αυτόματη αρίθμηση φύλλου - + Titre : Τίτλος: @@ -17613,52 +20006,52 @@ Les variables suivantes sont utilisables : <html> <head/><body><p>Εμφανίζει την πινακίδα κάτω (οριζόντια) ή δεξιά (κάθετα)στη σελίδα.</p></body></html> - + Fichier : Αρχείο: - + Date : Ημερομηνία: - + Disponible en tant que %author pour les modèles de cartouches Διαθέσιμο ως %author στα πρότυπα πινακίδων - + Disponible en tant que %title pour les modèles de cartouches Διαθέσιμο ως %title στα πρότυπα πινακίδων - + Page Num: Αριθμός Σελίδας: - + Installation : Εγκατάσταση - + Disponible en tant que %indexrev pour les modèles de cartouches Διαθέσιμο ως μεταβλητή %indexrev στα πρότυπα πινακίδων - + Localisation: Θέση - + Personnalisées Προσαρμοσμένο - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Εδώ μπορείτε να καθορίσετε τους δικούς σας συνδυασμούς ονόματος/τιμής ώστε οι πινακίδες να τα λαμβάνουν υπ'όψη, Πχ συνδυάζοντας το όνομα "volta" με την τιμή "1745" θα αντικαταστήσει το %{volta} με το 1745 μέσα στην πινακίδα. @@ -17667,13 +20060,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18172,50 +20565,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Φύλλο - - + + %n conducteur(s) listé(s). wiring list summary @@ -18224,7 +20617,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18236,96 +20629,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Σφάλμα - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Τάση / πρωτόκολλο - + Couleur du fil Wiring list CSV header Χρώμα αγωγού - + Section du fil Wiring list CSV header Τμήμα αγωγού - + Fonction Wiring list CSV header Λειτουργία - + + Câble + Wiring list CSV header + Καλώδιο + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Προειδοποίηση + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18539,27 +20951,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Εξαγωγή της εσωτερικής βάσης δεδομένων έργου - + sans_nom ανώνυμο @@ -18567,7 +20979,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Χρώμα Κειμένου @@ -18575,7 +20987,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Εισαγωγή οντότητας HTML @@ -18583,27 +20995,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Επεξεργασία κειμένου - + Rich Text Εμπλουτισμένο Κείμενο - + Source Πηγαίος κώδικας - + &OK &Εντάξει - + &Cancel &Ακύρωση @@ -18611,69 +21023,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Έντονα - - - + + + Éditeur de texte - + Texte en italique Πλάγια - + Texte souligé Υπογραμμισμένο - + Left Align Στοίχιση αριστερά - + Center Κέντρο - + Right Align Στοίχιση Δεξιά - + Justify Ευθυγράμμιση - + Superscript Εκθέτης - + Subscript Δείκτης - + Insérer un lien Εισαγωγή συνδέσμου - + Insert &Image Εισαγωγή &εικόνας - + Simplify Rich Text Απλοποίηση εμπλουτισμένου κειμένου diff --git a/lang/qet_en.ts b/lang/qet_en.ts index 4368b8d93..34e6ee5e2 100644 --- a/lang/qet_en.ts +++ b/lang/qet_en.ts @@ -54,272 +54,272 @@ Log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, an application to design electric diagrams. - + Les développeurs de QElectroTech about tab, developers line The developers of QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Original concept - - + - - + + + Développement Development - + Convertisseur DXF DXF converter - + Plugin Bornier Terminal Block plugin - + Collection Collection - + Traduction en espagnol Spanish translation - + Traduction en russe Russian translation - + Traduction en portugais Portuguese translation - + Traduction en tchèque Czech translation - + Traduction en polonais Polish translation - + Traduction en allemand German translation - + Traduction en roumain Romanian translation - + Traduction en italien Italian translation - + Traduction en arabe Arabic translation - + Traduction en croate Croatian translation - + Traduction en catalan Catalan translation - + Traduction en grec Greek translation - + Traduction en néerlandais Dutch translation - + Traduction en flamand Flemish translation - + Traduction en danois Danish translation - + Traduction en brézilien Brazilian translation - + Traduction en Turc Turkish translation - + Traduction en hongrois Hungarian translation - + Traduction en serbe Serbian Translation - + Traduction en japonais Japanese translation - + Traduction en coréen Translation into Korean - + Traduction en mongol Mongolian Translation - + Paquets Fedora et Red Hat Fedora and Red Hat packages - + Paquets Mageia Mageia packages - + Paquets Debian Debian packages - + Paquets Gentoo Gentoo packages - + Paquets OS/2 OS/2 packages - + Paquets FreeBSD FreeBSD packages - + Paquets MAC OS X MAC OS X packages - + Paquets Archlinux AUR Archlinux AUR packages - + Icônes Icons - + Documentation Documentation - + Collection d'éléments Collection of elements - + Redimensionneur d'éléments Element scaler Elements resizer - + Convertisseur d'élément DXF Dxf2elmt DXF Element Converter - + Outil de traduction d'éléments Qet_translate Elements translation tool - + Paquets Snap Snap package - + Traduction en ukrainien Ukrainian translation - + Traduction en norvégien Norwegian Translation - + Traduction en slovène Slovenian translation - + Générateur d'élément lambda Lambda element generator Lambda element generator @@ -358,12 +358,12 @@ Ajuster la taille du tableau au folio - Adjust the size of the table to the folio + Adjust the size of the table to the sheet Ajouter de nouveau folio et tableau si nécessaire. - Add new folio and table if necessary. + Add new sheet and table if necessary. @@ -428,17 +428,17 @@ Configuration - + Contenu Content - + Sélectionner la police des en tête du tableau Select the font at the top of the table - + Sélectionner la police des cellules du tableau Select the font of the table cells @@ -456,6 +456,134 @@ Add the following terminal plan : + + AiAssistantDialog + + + Connecter un assistant IA + Connect an AI assistant + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + An AI assistant (Claude, GitHub Copilot, Gemini…) can open, check and edit your diagrams through QElectroTech's MCP server, which runs on this computer. Copy the text below into your assistant's configuration. <a href="%1">Detailed guide</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>The MCP server is not installed with this version of QElectroTech.</b> The guide explains how to get it. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>Python may not be installed.</b> Only the Microsoft Store “python” shortcut was found: without Python, it opens the Store instead of starting the server. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>Python was not found on this computer</b> (command “%1”). The server needs it. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Run the QElectroTech installer again and tick “Python for the AI assistant”, or install Python from python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Install Python 3 with your system's package manager. + + + + Assistant : + Assistant: + + + + Le dossier de vos schémas + Your diagrams folder + + + + Parcourir… + Browse… + + + + Dossier accessible : + Folder it can use: + + + + Autoriser l'assistant à modifier les schémas + Allow the assistant to edit diagrams + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + The assistant can only read and write in this folder. Without editing allowed, it can only read, compare and export. An assistant reads the text in projects (labels, notes…): text written as an instruction can influence it. Leave editing off for diagrams you received from other people. + + + + Copier + Copy + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + If the file already lists other servers, add only the “qet” entry. + + + + Choisissez d'abord le dossier de vos schémas. + Choose your diagrams folder first. + + + + Dossier accessible à l'assistant + Folder the assistant can use + + + + Copié + Copied + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + In Claude Desktop: Settings → Developer → Edit Config. Then quit and restart Claude. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Save it as .mcp.json in your diagrams folder. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Save it as .vscode/mcp.json in the folder open in VS Code. Copilot uses the tools in agent mode. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Add it to the .cursor/mcp.json file in your home folder. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Add it to the .gemini/settings.json file in your home folder. Gemini CLI asks you to trust the folder the first time. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Add it to the .codex/config.toml file in your home folder. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + In LM Studio: Program tab → Install → Edit mcp.json. + + AlignmentTextDialog @@ -496,6 +624,54 @@ Angle : Angle: + + + Modifier l'angle de depart d'un arc + Change the start angle of an arc + + + + Modifier l'angle d'un arc + Change the angle of an arc + + + + Modifier un arc + Change an arc + + + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + The numbering name cannot be empty. + + + + Une numérotation nommée « %1 » existe déjà. + A numbering named “%1” already exists. + + + + Créer la numérotation %1 + Create numbering %1 + + + + Renommer la numérotation %1 en %2 + Rename numbering %1 to %2 + + + + Modifier la numérotation %1 + Modify numbering %1 + + + + Supprimer la numérotation %1 + Delete numbering %1 + AutoNumberingDockWidget @@ -521,62 +697,140 @@ - - + + Réinitialiser à la valeur de départ Reset to the default value - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Current meter reading. Enter a new value and press ‘Confirm’ to change it. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Increment: the value added to the counter each time a new number is dialled - - - + + + Prochaine valeur qui sera appliquée avec cet incrément The next value to be applied using this increment - + Element Element - + Conducteur Conductor - + Configurer les règles d'auto numérotation Configure auto numbering rules - + Configurer Configure Folio - Folio + Sheet - + + + Appliquer cette numérotation aux éléments sélectionnés + Apply this numbering to the selected elements + + + + Appliquer la numérotation + Apply numbering + + + + Choisissez une numérotation d'éléments du projet. + Choose an element numbering from the project. + + + + Sélectionnez d'abord des éléments dans le folio. + First select elements in the sheet. + + + + (figé) + (frozen) + + + + (autre numérotation) + (other numbering) + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + Nothing to apply: the selected elements already follow the “%1” numbering, or take their name from another element. + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + %n element will receive the “%1” numbering, in sheet and position order. + %n elements will receive the “%1” numbering, in sheet and position order. + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + No element can receive the “%1” numbering without replacing what it already has. + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + Also replace the %n element left as is + Also replace the %n elements left as they are + + + + + %n élément(s) numérotés. + + %n element numbered. + %n elements numbered. + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + %n selected element was left as is. + %n selected elements were left as they are. + + + + Autonumérotation Auto Numbering + + + Sélectionnez d'abord des éléments dans le folio + First select elements in the sheet + AutoNumberingManagementW @@ -603,7 +857,7 @@ Apply to Selected Folios - Apply to Selected Folios + Apply to Selected Sheets @@ -670,7 +924,7 @@ Folio - Folio + Sheet @@ -678,28 +932,78 @@ Existent - + Under Development Under Development - + Installing Installing - + Built Built - + + + + + Renuméroter les éléments + Renumber elements + + + + Renuméroter les éléments (%1) + Renumber elements (%1) + + + + Aucun élément ne suit cette numérotation. + No element follows this numbering. + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + The %n element following this numbering has a frozen name: nothing is renumbered. + The %n elements following this numbering have a frozen name: nothing is renumbered. + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + %n element will be renumbered, starting from the first number, in sheet and position order. + %n elements will be renumbered, starting from the first number, in sheet and position order. + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + %n element renumbered, %1 of them with a new name. + %n elements renumbered, %1 of them with a new name. + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + %n element with a frozen name was not touched, and its number was not given out again. + %n elements with a frozen name were not touched, and their numbers were not given out again. + + + + Auto Numbering Management title window Auto Numbering Management - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -710,7 +1014,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol -Both: both new and existent element labels will be updated. This is the default option. -Update only new: only new created elements will be updated. Existent element labels will be frozen. -Update only existent: only existent elements will be updated. New elements will be assigned their formula but will not update once created. --Disable: both new and existent element labels will not be updated. This is valid for new folios as well. +-Disable: both new and existent element labels will not be updated. This is valid for new sheets as well. Note: these options DO NOT allow or block auto numberings, only their update policy. @@ -737,61 +1041,71 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Format as a part list - + + Bornes sans repère, désignation, fabricant ni référence fabricant + Terminals with no label, designation, manufacturer or manufacturer reference + + + + Laisser de côté les jonctions + Leave out junctions + + + Aperçu Preview - + nomenclature_ parts list_ - + Enregister sous... Save As... - + Fichiers csv (*.csv) Files csv (*.csv) - - + + Erreur Error - + Impossible d'enregistrer la nomenclature dans %1. %2 Unable to save the parts list to %1. %2 - + Position Position - + Position du folio - Folio position + Sheet position - + Quantité numéro d'article Special field with name : designation quantity Designation quantity - + Requête refusée Request refused - + Erreur dans la requête : %1 Error in the request: @@ -825,6 +1139,27 @@ Note: these options DO NOT allow or block auto numberings, only their update pol No + + BackupRestoreDialog + + + Fichiers de restauration + window title + Recovery files + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Recovery files were found,<br>do you want to open them?</b><br>For a project with several recovery versions, the newest is selected by default. + + + + %1 (la plus récente) + recovery generation label + %1 (newest) + + BorderPropertiesWidget @@ -846,6 +1181,16 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Colonnes : Columns: + + + Format : + Format: + + + + Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF. + Sets the columns and rows so the sheet, title block included, has the size of this paper format, at 96 dots per inch like the PDF export. + @@ -865,13 +1210,28 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Dimensions du folio - Folio size + Sheet size + + + + Personnalisé + Custom + + + + Paysage + Landscape + + + + Portrait + Portrait ClickableImageLabel - + Cliquez pour choisir une couleur Click to choose a color @@ -902,8 +1262,8 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Add a variable : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Enter your composite text here, using the available variables @@ -911,13 +1271,13 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Conductor - + Modifier les propriétés d'un conducteur undo caption Edit conductor properties - + Modifier les propriétés de plusieurs conducteurs undo caption Edit the properties of several conductors @@ -926,73 +1286,73 @@ Note: these options DO NOT allow or block auto numberings, only their update pol ConductorColorToolButton - + Noir Black - + Marron Brown - + Gris Gray - + Bleu Blue - + Vert Green - + Rouge Red - + Orange Orange - + Violet Purple - + Blanc White - + Couleur de conducteur Conductor color - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip Applies a color to the selected conductors, and uses it for the next conductors drawn - + Récemment utilisées Recently used - + Autre couleur… Other color… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1001,7 +1361,7 @@ Note: these options DO NOT allow or block auto numberings, only their update pol - + Choisir une couleur de conducteur Choose a conductor color @@ -1019,13 +1379,13 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Apply properties to all conductors of this potential - + Modifier les propriétés d'un conducteur undo caption Edit conductor properties - + Modifier les propriétés de plusieurs conducteurs undo caption Edit the properties of several conductors @@ -1034,27 +1394,36 @@ Note: these options DO NOT allow or block auto numberings, only their update pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Apply properties to all conductors of this potential - + Modifier les propriétés d'un conducteur undo caption Edit conductor properties - + Modifier les propriétés de plusieurs conducteurs undo caption Edit the properties of several conductors - + Conducteur Conductor + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + %n conductor selected: only the fields you change are applied to it. + %n conductors selected: only the fields you change are applied to them. + + ConductorPropertiesWidget @@ -1080,12 +1449,13 @@ Note: these options DO NOT allow or block auto numberings, only their update pol + Texte Text - - + + Unifilaire Single line @@ -1101,6 +1471,7 @@ Note: these options DO NOT allow or block auto numberings, only their update pol + Texte visible Visible text @@ -1140,35 +1511,42 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Position and rotation of the conductor text: - + phase phase - + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Visible text +Locked by this sheet's “Show one potential text per sheet” option, in Sheet properties. + + + Trait plein conductor style: solid line Solid line - + Trait en pointillés conductor style: dashed line Dashed line - + Traits et points conductor style: dashed and dotted line Dots and dashes - + terre ground - + neutre neutral @@ -1178,14 +1556,14 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Form - + Formule du texte : Text Formula : Afficher un texte de potentiel par folio. - Show one text per folio potential. + Show one text per sheet potential. @@ -1209,99 +1587,110 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Conductor section - + cable cable - + bus bus - - + + Nombre de phase Number of phase - + Neutre Neutral - + Phase Phase - + Protective Earth Neutral Protective Earth Neutral - + PEN PEN - + Terre Ground - + TextLabel TextLabel - + Taille : Size : - - + + Style du conducteur Conductor style - + Couleur secondaire : Secondary color : - + px px - + Taille de trait : Line size : - + Couleur du conducteur Conductor color - + Apparence Appearance - - + + Couleur : Color: - + Style : Style: + + + Plusieurs valeurs + several conductors, different values + Several values + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Several conductors selected: the text is changed on one conductor at a time. + ConfigSaveLoaderWidget @@ -1319,128 +1708,155 @@ Note: these options DO NOT allow or block auto numberings, only their update pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Select a group of contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Select the contact group to assign to this slave element : - + # # - + Type Type - + Sous-type Subtype - + Contacts Contacts - + Bornes Terminals - - + + T%1 T%1 - + (déjà assigné) (already assigned) - + (état ne correspond pas) (status does not match) - + (sous-type ne correspond pas) (subtype does not match) - + (nombre de contacts ne correspond pas) (number of contacts does not match) - + OK OK - + Annuler Undo - + Normalement ouvert Switch normally open - + Normalement fermé Switch normally closed - + Inverseur switch - + Autre Other - - + + Inconnu Unknown - + Simple Simple - + Puissance Power switch - + Temporisé travail Switch-on delayed - + Temporisé repos Switch-off delayed - + Temporisé travail & repos Switch-on and off delayed + + CounterWarning + + + Compteur de la numérotation + Numbering counter + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + The next number would be %1, but %n element of the “%2” numbering already has an equal or higher number (up to %3). + The next number would be %1, but %n elements of the “%2” numbering already have an equal or higher number (up to %3). + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + +New elements will skip numbers that are already taken: they will not necessarily receive numbers starting from %1. + +Continue? + + CustomElementGraphicPart @@ -1467,30 +1883,39 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Delete this property + + CustomizeDialog + + + Personnaliser + window title + Customize + + DiagnosticsReportDialog - + Enregistrer... Save... - + Enregistrer le rapport de diagnostic Save the diagnostic report - + Fichiers texte (*.txt);;Tous les fichiers (*) Text files (*.txt);;All files (*) - + Erreur Error - + Impossible d'écrire dans le fichier « %1 ». Unable to write to the file « %1 ». @@ -1498,7 +1923,7 @@ Note: these options DO NOT allow or block auto numberings, only their update pol Diagram - + Modifier la profondeur Change the depth @@ -1537,14 +1962,15 @@ Note: these options DO NOT allow or block auto numberings, only their update pol + Couleur de fond du folio - Folio background color + Sheet background color Choisir la couleur de fond du folio status bar tip - Choose the folio background color + Choose the sheet background color @@ -1638,7 +2064,7 @@ Note: these options DO NOT allow or block auto numberings, only their update pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste Click to place the pasted content, Esc or right-click to cancel @@ -1655,262 +2081,330 @@ Note: these options DO NOT allow or block auto numberings, only their update pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Left click: position the starting point (Ctrl = free position) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Left click: place one end of the arc (Ctrl = free position) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) Left click: position the first corner (Ctrl = center point, free position) - + Clic gauche : positionner le premier point (Ctrl = position libre) Left click: position the first point (Ctrl = free position) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Left click: position the end point (Ctrl = free position); right click: cancel - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Left click: position the opposite corner (Shift = square, Ctrl = from center + free position, Ctrl+Shift = centered square); right click: cancel - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Left click: place the other end and the height of the arc (Shift = half circle, Ctrl = free position); right click: cancel + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Left click: position the opposite corner (Shift = circle, Ctrl = from center + free position, Ctrl+Shift = centered circle); right click: cancel - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Left click: next point; double-click or Enter: finish; right click: undo the last point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + No line here: click a line drawn on the sheet + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Click the second line; right click: cancel + + + + Cliquez sur une autre ligne ; clic droit : annuler + Click another line; right click: cancel + + + + Ces deux lignes sont parallèles : pas de congé possible + These two lines are parallel: no fillet possible + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + One of the lines stops at the corner: nothing to round on that side + + + + Ces deux lignes sont presque alignées : pas de congé possible + These two lines are almost in line: no fillet possible + + + + Congé + Fillet + + + + Rayon : + Radius: + + + + Rayon trop grand pour ces lignes (%1 au plus) + Radius too large for these lines (%1 at most) + + + + Ajouter un congé + Add a fillet + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Fillet: click two lines, or once where they meet; Esc or right click: finish + + DiagramImageItem - + redimensionner resize - + pivoter/incliner rotate/skew - + Cliquer : mode %1 Click: mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Drag a corner/edge: resize (Ctrl = from center, Shift = keep proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Drag a corner: rotate (Shift = 15° steps); drag an edge: skew (Shift = 15° steps); red point: move the rotation center - + -- %1 : mode %2 -- %1: mode %2 - + Cliquer Click - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Drag: resize (Shift = keep proportions, Ctrl = from center) - + Glisser : pivoter (Maj = par pas de 15°) Drag: rotate (Shift = 15° steps) - + Glisser : incliner (Maj = par pas de 15°) Drag: skew (Shift = 15° steps) - + Glisser : déplacer le centre de rotation Drag: move the rotation center - + Redimensionner une image Resize an image - + Faire pivoter une image Rotate an image - + Incliner une image Skew an image - + Déplacer le centre de rotation d'une image Move an image's rotation center - + Modifier une image Edit an image - + Restaurer les proportions d'une image Restore an image's proportions - - + + Enregistrer l'image sous... Save image as... - - + + Enregistrer l'image d'origine sous... Save original image as... - + Image PNG (*.png) PNG image (*.png) - + Image JPEG (*.jpg *.jpeg) JPEG image (*.jpg *.jpeg) - + Image BMP (*.bmp) BMP image (*.bmp) - + Image SVG (*.svg) SVG image (*.svg) - + Tous les fichiers (*) All files (*) - + Transparence non conservée Transparency not preserved - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? This format does not support transparency: the image will be saved as it was before the transparent colour was applied. Continue? - + Échec de l'enregistrement Saving failed - + Impossible d'enregistrer l'image à cet emplacement. Unable to save the image to this location. - + une image image - + Remplacer l'image... Replace the image... - + Couleur transparente... Transparent color... - + Rogner... Crop... - + Miroir horizontal Horizontal mirror - + Miroir vertical Vertical mirror - + Restaurer les proportions Restore proportions - + Selectionner une image... Select an image ... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Error - + Impossible de charger l'image. Unable to load the image. - + Remplacer une image Replace an image - + Miroir horizontal d'une image Horizontal mirror of an image - + Miroir vertical d'une image Vertical mirror of an image - + Définir une couleur transparente Set a transparent color - + Rogner une image Crop an image @@ -1918,102 +2412,131 @@ Note: these options DO NOT allow or block auto numberings, only their update pol DiagramPropertiesDialog - + Propriétés du folio window title - Folio properties + Sheet properties DiagramTextItem - + Maintenir ctrl pour un déplacement libre Hold ctrl to free movement - + <Shift> to move Hold Shift and drag to move this text on its own + + DiagramToolbarSettings + + + Taille des poignées + Handle size + + + + Grille des textes + Text grid + + + + Couleur de fond du folio + Sheet background color + + + + Couleur des conducteurs + Conductor color + + DiagramView - + Coller ici context menu action Paste Here - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip In this area you conceive your diagrams by adding elements and conductors between their terminals. You may also add independent texts. - + Collage multiple Multiple paste - + Créer un template context menu action Create a template - - Renvoi de folio - Folio reference + + Générer une vignette d'armoire + context menu action + Make a cabinet thumbnail - + + Renvoi de folio + Sheet reference + + + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Connect the selected terminals - + Sans titre what to display for untitled diagrams Untitled - + Modèle enregistré Registered template - + Le modèle a été enregistré avec succès sous : %1 The template has been successfully saved as : %1 - + Erreur Error - + Le fichier n'a pas pu être écrit. The file could not be written. - + Choisir la nouvelle couleur de ce conducteur Choose the new color for this conductor - + Modifier les propriétés d'un conducteur undo caption Edit conductor properties @@ -2032,7 +2555,7 @@ Hold Shift and drag to move this text on its own Title - + TextLabel TextLabel @@ -2040,42 +2563,42 @@ Hold Shift and drag to move this text on its own DuplicateOffsetDialog - + Dupliquer Duplicate - + pas de grille no grid - + Espacement : Spacing: - + Haut Top - + Bas Bottom - + Gauche Left - + Droite Right - + Direction : Direction: @@ -2083,17 +2606,17 @@ Hold Shift and drag to move this text on its own DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément Edit an element text - + Redimensionner un texte d'élément Resize an element text @@ -2112,30 +2635,30 @@ Hold Shift and drag to move this text on its own - - - - + + + + ... ... - + Importer une configuration de texte Import a text configuration - + Ajouter un texte Add text - + Ajouter un groupe de textes Add a group of texts - + Supprimer la sélection Delete selection @@ -2307,21 +2830,21 @@ Hold Shift and drag to move this text on its own - + Gauche Left - + Droite Right - + Centre Middle @@ -2389,7 +2912,7 @@ Hold Shift and drag to move this text on its own Form - + Source du texte Source of text @@ -2414,23 +2937,23 @@ Hold Shift and drag to move this text on its own Element information - + Encadrer le texte Frame the text - + Texte composé Composite text - + Police Font - + X X @@ -2440,79 +2963,89 @@ Hold Shift and drag to move this text on its own Width - + + Auto + Auto + + + + px + px + + + Y Y - + Alignement Alignment - + Rotation Rotation - - + + Déplacer un champ texte Move a text field - + Pivoter un champ texte Rotate a text field - + Modifier le texte d'un champ texte Edit the text of a text field - - + + Modifier la police d'un champ texte Change the font of a text field - + Modifier la couleur d'un champ texte Change the color of a text field - + Modifier la conservation de l'angle Modify the conservation of the angle - + Modifier le point de rotation d'un champ texte Change the rotation point of a text field - + Modifier le cadre d'un champ texte Modify the frame of a text field - + Modifier la largeur d'un texte Change the width of a text - + Modifier l'information d'un texte Edit text information - + Modifier la source de texte, d'un texte Change text source, text - + Modifier l'alignement d'un champ texte Modify the alignment of a text field @@ -2525,32 +3058,32 @@ Hold Shift and drag to move this text on its own DynamicTextItemDelegate - + Texte utilisateur User text - + Information de l'élément Element information - + Texte composé Composite text - + Gauche Left - + Centre Middle - + Droite Right @@ -2558,12 +3091,12 @@ Hold Shift and drag to move this text on its own EditorDelegate - + ex. 80.5 e.g. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Decimal number with a dot as separator (e.g. 80.5) @@ -2604,97 +3137,170 @@ Hold Shift and drag to move this text on its own Element - + Numéroter automatiquement un élément undo caption Automatically number an element + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + The numbering name cannot be empty. + + + + Une numérotation nommée « %1 » existe déjà. + A numbering named “%1” already exists. + + + + Cet élément n'est dans aucun folio. + This element is not in any sheet. + + + + Cet élément ne suit aucune numérotation. + This element does not follow any numbering. + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + The “%1” numbering does not have a single number: one cannot be chosen by hand. + + + + Le numéro doit être au moins 1. + The number must be at least 1. + + + + Le numéro %1 n'est pas libre. + Number %1 is not free. + + + + Attribuer le numéro %1 + Assign number %1 + + + + Appliquer la numérotation %1 + Apply numbering %1 + + + + Numéroter les éléments collés (%1) + Number pasted elements (%1) + + + + Créer la numérotation d'éléments %1 + Create element numbering %1 + + + + Renommer la numérotation d'éléments %1 en %2 + Rename element numbering %1 to %2 + + + + Modifier la numérotation d'éléments %1 + Modify element numbering %1 + + + + Supprimer la numérotation d'éléments %1 + Delete element numbering %1 + + ElementDialog - + Ouvrir un élément dialog title Open an element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Choose the element you wish to open. - + Enregistrer un élément dialog title Save an element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Choose the element you wish to save your definition into. - + Ouvrir une catégorie dialog title Open a category - - + + Choisissez une catégorie. dialog content Choose a category. - + Enregistrer une catégorie dialog title Save a category - + Enregistrer un template dialog title Save a template - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Select the location where you want to save your template. - + Titre Title - + Label Label - + Nom du nouveau dossier Name the new folder - + Nom du nouveau template Name of the new template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Element file name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2702,56 +3308,56 @@ Le nom affiché de l'élément se modifie séparément dans les propriété The element's display name is edited separately in the element properties. - + Écraser le template ? message box title Overwrite the template? - + Le template existe déjà. Voulez-vous l'écraser ? message box content The template already exists. Do you want to overwrite it? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content You must select an element or category with a name for the element. - + Sélection inexistante message box title Non-existent selection - + La sélection n'existe pas. message box content The selection does not exist. - - + + Sélection incorrecte message box title Wrong selection - + La sélection n'est pas un élément. message box content The selection is not an element. - + Écraser l'élément ? message box title Overwrite the element? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content The element already exists. Do you want to overwrite it? @@ -2775,12 +3381,18 @@ The element's display name is edited separately in the element properties.< Delete this text - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Choose an item from the materials list + + + ex. 80.5 e.g. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Decimal number with a dot as separator (e.g. 80.5) @@ -2798,104 +3410,222 @@ The element's display name is edited separately in the element properties.< Exclude from automatic numbering - + Informations Information - + Ajouter une propriété personnalisée Add a custom property - + Séparation de potentiel Potential separation - + Exclure de la nomenclature Exclude from the bill of materials + + + Liste de matériaux absente + No materials list + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + There is no materials list file at this location: +%1 + +Create it? + + + + Création impossible + Cannot create + + + + Impossible de créer le fichier : +%1 +%2 + Cannot create the file: +%1 +%2 + + + + Numérotation automatique + Automatic numbering + + + + … + … + + + + Ouvrir les numérotations d'éléments du projet + Open the project's element numberings + + + + Figer le nom + Freeze name + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + A frozen name is not changed by automatic numbering, and its number is not given to another element. + + + + Numéro + Number + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + Only free numbers are offered: an element that must keep its real number can get it back if nobody else has it. + + + + %1 (actuel) + %1 (current) + + + + — (numéro inconnu) + — (unknown number) + + + + %1 → %2 + %1 → %2 + + + + Le nom est figé : dégelez-le pour changer son numéro. + The name is frozen: unfreeze it to change its number. + + + + Le numéro se choisit quand l'élément garde sa numérotation. + The number can be chosen when the element keeps its numbering. + + + + Aucune (nom saisi à la main) + None (name entered by hand) + + + + Formule propre : %1 + Custom formula: %1 + + + + Nom figé + Frozen name + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + This element's name is frozen. +Changing its numbering will replace or erase it. + +Continue? + ElementPickerPopup - - + + Personnaliser la barre… Customize the bar… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. Drag commands and elements into the bar, out of the bar, or from one place to another. Double-clicking moves a command or an element from one list to the other. - - + + Rechercher un élément… Search for an element… - + Éléments : Elements: - + Valeurs par défaut Default values - + Annuler Undo - + Terminé Done - + Dans la barre : In the bar: - + Autres commandes : Other commands: - - - + + + Entrée pour insérer · Échap pour fermer Enter to insert · Esc to close - + Glisser pour changer la largeur de la barre Drag to change the width of the bar - + Personnaliser la barre de raccourcis : %1 Customize the shortcut bar: %1 - + Aucun résultat No results - + Tapez pour rechercher un élément · Échap pour fermer Type to search for an element · Esc to close - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher Empty palette — drag elements into your personal collection, or type to search @@ -2911,8 +3641,8 @@ The element's display name is edited separately in the element properties.< - - + + Type Type @@ -2995,8 +3725,8 @@ The element's display name is edited separately in the element properties.< - - + + Fonction Function @@ -3026,302 +3756,302 @@ The element's display name is edited separately in the element properties.< Values - - - + + + Simple Simple - + Maître Master - + Esclave Slave - + Renvoi de folio suivant - Next folio reference + Next sheet reference - + Renvoi de folio précédent - Previous folio reference + Previous sheet reference - + Bornier Terminal block - + Vignette Thumbnail - + Définition de conducteur Conductor definition - - + + Normalement ouvert Switch normally open - - + + Normalement fermé Switch normally closed - - + + Inverseur switch - + Other Other - + Esclave PLC PLC slave - - + + Puissance Power switch - - + + Temporisé travail Switch-on delayed - - + + Temporisé repos Switch-off delayed - - + + Temporisé travail & repos Switch-on and off delayed - + Bobine coil - + Organe de protection Organ of protection - + Commutateur / bouton Switch / button - + Module PLC PLC module - - + + Générique Generic - + Fusible Fuse - + Séctionnable Sectionable - + Diode Diode - + Phase Phase - + Neutre Neutral - - - - - + + + + + T%1 T%1 - + Autre Other - + Configuration PLC PLC Configuration - + + + - + - - - - + + Adresse Address - - + + Commentaire Annotation - + Réf. croisée Cross-reference - - + + Nb. Nb. - + T1 T1 - + Police des en-têtes Header font - + Configurer la police des en-têtes de colonnes Set the font for column headers - + Police du texte Text font - + Configurer la police du texte dans les cellules Set the text font in the cells - + Afficher les en-têtes sur la feuille Show headers on the sheet - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Show or hide the column headings of the PLC table on the sheet - + Saut %1 après: Jump to %1 after: - + Aucun None - + H. ligne: Line H: - - + + mm mm - + Réf. Ref. - + Nom personnalisé de la colonne (vide = par défaut) Custom column name (blank = default) - + Visible Visible - + Coller depuis le presse-papiers Paste from the clipboard - - + + Police des en-têtes: %1 %2pt Heading font size: %1 %2pt - - + + Police du texte: %1 %2pt Font size: %1 %2pt - + Police des en-têtes de colonnes Column header formatting - + Police du texte des cellules Cell text font - + Terre Ground @@ -3335,7 +4065,7 @@ The element's display name is edited separately in the element properties.< - Élement + Élément Element @@ -3351,7 +4081,7 @@ The element's display name is edited separately in the element properties.< Folio : %1 - Folio : %1 + Sheet : %1 @@ -3477,249 +4207,254 @@ The element's display name is edited separately in the element properties.< go up the selection - + Ajouter la sélection Add selection - + Supprimer la sélection Delete selection - + Descendre la sélection go down the selection - + Pas de filtre No filter - + N'est pas vide Is not empty - + Est vide Is empty - + Contient Contain - + Ne contient pas Does not contain - + Est égal à Is equal to - + N'est pas égale à Is not equal to - + Filtre : Filter : - + Type d'éléments Type of elements - + Simples Simples - + Tous all - + Vignettes Thumbnails - + Contacteurs et relais Contactors and relays - + Boutons et commutateurs Buttons and switches - + Borniers Terminal blocks - + Organes de protection Protection devices - + Automates (MAE/SPS) PLCs (MAE/SPS) - + + Contacts esclaves + Slave contacts + + + Configuration Configuration - + Ouvrir la configuration sélectionné Open the selected configuration - + Sauvegarder la configuration actuelle Save the current configuration - + Importer des rapports depuis un fichier Import reports from a file - + Importer... Import... - + Exporter tous les rapports enregistrés vers un fichier Export all saved reports to a file - + Exporter... Export... - + Requête SQL personnalisée Custom SQL Query - + Requête SQL : SQL request : - + Position Position - - - Titre du folio - Folio title - - Position du folio - Folio position + Titre du folio + Sheet title - Numéro du folio - Folio number + Position du folio + Sheet position - - + + Numéro du folio + Sheet number + + + + Exporter Export - - + + Aucun rapport enregistré à exporter. No saved report to export. - + Exporter les rapports Export reports - - + + Fichiers JSON (*.json) JSON files (*.json) - - - - + + + + Erreur Error - + Impossible d'écrire dans %1. Unable to write to %1. - + Importer des rapports Import reports - + Impossible de lire %1. Unable to read %1. - + %1 ne contient pas des rapports QElectroTech valides. %1 does not contain valid QElectroTech reports. - - + + Importer Import - + Ce fichier ne contient aucun rapport. This file does not contain any report. - + Rapport déjà existant Report already exists - + Un rapport nommé « %1 » existe déjà. Le remplacer ? A report named "%1" already exists. Replace it? - + Impossible d'écrire la configuration locale. Unable to write the local configuration. - + %1 rapport(s) importé(s), %2 ignoré(s). %1 report(s) imported, %2 skipped. @@ -3727,28 +4462,28 @@ The element's display name is edited separately in the element properties.< ElementScene - + Déplacer une primitive Move a primitive - + Éditer les informations sur l'auteur window title Edit author information - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. You can use this field to specify the authors of this element, its license, or any other information you may find useful. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. You may enter the element name in several languages. - + Éditer les noms window title Edit names @@ -3757,101 +4492,101 @@ The element's display name is edited separately in the element properties.< ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. You can add a name per language for the category. - + Nom interne : Internal name : - + L'item n'est pas une catégorie message box title The item is not a category - + L'item demandé n'est pas une categrie. Abandon. message box content The item requested is not a category. Abort. - + Catégorie inexistante message box title Non-existent category - + La catégorie demandée n'existe pas. Abandon. message box content The required category does not exist. Giving up. - + Éditer une catégorie window title Edit category - + Créer une nouvelle catégorie window title Add a new category - + Nom de la nouvelle catégorie default name when creating a new category Name of the new category - + Édition en lecture seule message box title Read only edition - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content You are not allowed to modify this category. Thus it will be edited read-only. - + Nom interne manquant message box title Missing internal name - + Vous devez spécifier un nom interne. message box content You must provide an internal name. - + Nom interne déjà utilisé message box title Internal name already used - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content The internal name you chose is already used by another category. Please choose another one. - + Erreur message box title Error - + Impossible de créer la catégorie message box content Unable to create the category @@ -3860,95 +4595,95 @@ The element's display name is edited separately in the element properties.< ElementsCollectionWidget - + Importer une pièce EPLAN (.edz)… Import an EPLAN part (.edz)… - + Importer une pièce EPLAN Import an EPLAN part - + Pièces EPLAN (*.edz) EPLAN parts (*.edz) - + Import EPLAN Import EPLAN - + Impossible d'importer cette pièce : %1 Could not import this part: %1 - + Ouvrir le dossier correspondant Open the underlying folder - + Éditer l'élément Edit element - + Supprimer l'élément Delete element - + Supprimer le dossier Delete folder - + Recharger les collections Reload collections - + Éditer le dossier Edit folder - + Nouveau dossier New folder - + Nouvel élément New element - + Afficher uniquement ce dossier Show only this folder - + Afficher tous les dossiers Show All Folders - + Propriété du dossier Folder properties - + Supprimer l'élément ? message box title Delete element? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3956,25 +4691,25 @@ The element's display name is edited separately in the element properties.< - + Suppression de l'élément message box title Deleting element - + La suppression de l'élément a échoué. message box content Deleting element failed. - + Supprimer le dossier? message box title Deleting folder? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3982,24 +4717,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Folder Delete - + La suppression du dossier a échoué. message box content Folder deletion failed. - + Avertissement — Importation d'un fichier EPLAN (.edz) Warning — Importing an EPLAN file (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4022,22 +4757,22 @@ By importing this file, you confirm that: • neither QElectroTech, nor its maintainers, nor its contributors can be held liable for any unauthorised use of this data. - + J'ai lu et j'accepte ces conditions. I have read and accept these terms and conditions. - + Importer Import - + Le dossier %1 contient the folder %1 contains - + %n élément(s), répartie(s) %n element, spread @@ -4045,7 +4780,7 @@ By importing this file, you confirm that: - + dans %n dossier(s). across %n folder. @@ -4053,32 +4788,32 @@ By importing this file, you confirm that: - + Chemin de la collection : %1 Path of collection : %1 - + Chemin dans le système de fichiers : %1 Path in the file system : %1 - + Rechercher... Search... - + Collections Collections - + Modèles Templates - + Propriété du dossier %1 Property of the folder %1 @@ -4100,7 +4835,7 @@ By importing this file, you confirm that: Glissez-déposez ce modèle de cartouche sur un folio pour l'y appliquer. Status tip displayed when selecting a title block template - Drag and drop this title block template onto a folio to apply it. + Drag and drop this title block template onto a sheet to apply it. @@ -4148,124 +4883,124 @@ By importing this file, you confirm that: ElementsPanelWidget - + Ouvrir le dossier correspondant Open the underlying directory - + Copier le chemin Copy full path to clipboard - + Basculer vers ce projet Activate this project - + Éditer ce modèle Edit this template - + Supprimer ce modèle Delete this template - + Fermer ce projet Close this project - + Propriétés du projet Project properties - - - Propriétés du folio - Folio properties - - - - Ajouter un folio - Add a folio - - Insérer un folio au-dessus - Insert a folio number above + Propriétés du folio + Sheet properties - Insérer un folio en dessous - Insert a folio number below + Ajouter un folio + Add a sheet + Insérer un folio au-dessus + Insert a sheet number above + + + + Insérer un folio en dessous + Insert a sheet number below + + + Copier et coller Copy and paste - - - Supprimer ce folio - Delete this folio - - - - Remonter ce folio - Move this folio up - - Abaisser ce folio - Move down this folio + Supprimer ce folio + Delete this sheet - Remonter ce folio x10 - Move this folio up x10 + Remonter ce folio + Move this sheet up - Remonter ce folio x100 - Move this folio up x100 + Abaisser ce folio + Move down this sheet - Remonter ce folio au debut - Move this folio to the beginning + Remonter ce folio x10 + Move this sheet up x10 - Abaisser ce folio x10 - Move down this folio x10 + Remonter ce folio x100 + Move this sheet up x100 - Abaisser ce folio x100 - Move down this folio x100 + Remonter ce folio au debut + Move this sheet to the beginning + Abaisser ce folio x10 + Move down this sheet x10 + + + + Abaisser ce folio x100 + Move down this sheet x100 + + + Nouveau modèle New template - - + + Panneau des éléments Elements panel - + Filtrer Filter @@ -4307,11 +5042,16 @@ By importing this file, you confirm that: Diamètres : Diameters: + + + Modifier une ellipse + Change an ellipse + ExportConfigPage - + Export configuration page title Export @@ -4320,101 +5060,101 @@ By importing this file, you confirm that: ExportDialog - + Aperçu Preview - + Dimensions Dimensions - + Impossible d'écrire dans ce fichier message box title Can not write to this file - + Exporter Export - + Nom de fichier Filename - - + + px px - + Noms des fichiers cibles message box title Target files names - + Exporter les folios du projet window title - Export the project folios + Export the project sheets - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - Choose the folios you wish to export and specify their size : + Choose the sheets you wish to export and specify their size : - + Tout cocher Check all - + Tout décocher Uncheck all - + Titre du folio - Folio title + Sheet title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - You must enter a non-empty, unique filename for each folio to export. + You must enter a non-empty, unique filename for each sheet to export. - + Dossier non spécifié message box title Directory missing - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content You must specify the path of the directory in which the images files will be saved. - + Images non incluses dans l'export DXF message box title Images not included in the DXF export - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content The DXF format used here (AC1006) cannot embed images. Images will only be represented by an outline rectangle (position, size, rotation and skew are preserved), without the image content. - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content It appears you do not have the required permissions to write the file %1. @@ -4423,99 +5163,119 @@ By importing this file, you confirm that: ExportPropertiesWidget - + Exporter dans le dossier dialog title Export in the directory - + Dossier cible : Target directory: - + Parcourir Browse - + Format : Format: - + PNG (*.png) PNG (*.png) - + JPEG (*.jpg) JPEG (*.jpg) - + Bitmap (*.bmp) Bitmap (*.bmp) - + SVG (*.svg) SVG (*.svg) - + DXF (*.dxf) DXF (*.dxf) - + Options de rendu groupbox title Rendering options - + Exporter entièrement le folio - Export the whole folio + Export the whole sheet - + Exporter seulement les éléments Export elements only - + Dessiner les noms des bornes Draw the names of the terminals - + Conserver les couleurs des conducteurs Keep conductors colors - + SVG: fond transparent SVG-background transparent - + + DXF : symboles en blocs + DXF: symbols as blocks + + + + Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO + Each symbol becomes a DXF block, selectable with one click in CAD software + + + + DXF : textes des symboles en attributs + DXF: symbol texts as attributes + + + + Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs. + A symbol's texts (label, function...) become attributes of its block. LibreCAD does not show attributes. + + + Dessiner la grille Draw the grid - + Dessiner le cadre Draw the border - + Dessiner le cartouche Draw the title block - + Dessiner les bornes Draw terminals @@ -4535,17 +5295,17 @@ By importing this file, you confirm that: C&réer de nouveaux folios - C&reate new folios + C&reate new sheets Numérotation automatique des folios sélectionnés - Automatic numbering of selected folios + Automatic numbering of selected sheets Nouveaux folios - New folios + New sheets @@ -4565,13 +5325,13 @@ By importing this file, you confirm that: Numérotation automatique de Folio : - Folio Auto Numbering : + Sheet Auto Numbering : Folio Autonumbering title window - Folio Autonumbering + Sheet Autonumbering @@ -4588,12 +5348,12 @@ Si le chiffre défini dans le champ Valeur possède moins de digits que le type Le champ "Incrémentation" n'est pas utilisé. help dialog about the folio autonumerotation - This is where you can define how the new folios will be numbered. + This is where you can define how the new sheets will be numbered. -A numbering is composed of a minimum variable. -You can add or delete a dialing variable through the - and + buttons. A numbering variable includes: a type, a value and an increment. --the "Digit 1", "Digit 01" and "Digit 001" types represent a numeric type defined in the "Value" field, which increments each new folio by the value of the "Incrementation" field. +-the "Digit 1", "Digit 01" and "Digit 001" types represent a numeric type defined in the "Value" field, which increments each new sheet by the value of the "Incrementation" field. - "Digit 01" and "Digit 001", are respectively represented on the diagram by two and three digits minimum. If the digit defined in the Value field has fewer digits than the chosen type, it will be preceded by one or two 0s in order to respect its type. @@ -4658,9 +5418,9 @@ that you create. Text and number inputs are -%prefix: Default Element Prefix -%l: Element Line -%c: Element Column - -%F: Folio Name - -%f or %id: Folio ID - -%total: Total of folios + -%F: Sheet Name + -%f or %id: Sheet ID + -%total: Total of sheets You can also assign any other titleblock variable that you create. Text and number inputs are also available. @@ -4699,63 +5459,73 @@ that you create. Text and number inputs are Apply displacement - - + + Générique Generic - + Fusible Fuse - + Sectionnable Sectionable - + Diode Diod - + Terre Ground - + Phase Phase - + Neutre Neutral - + Sans Without - + Avec With - + Modifier des propriétés de borniers Modify terminal strip properties - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + The project has no terminal strip: create one with the + button + + + Appliquez ou annulez les modifications en cours avant de déplacer Apply or cancel the current changes before moving - + + Sélectionnez dans le tableau les bornes à déplacer + Select the terminals to move in the table + + + Déplacer les bornes sélectionnées vers le bornier choisi Move the selected terminals to the chosen terminal block @@ -4763,27 +5533,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Label - + Référence croisé Cross-reference - + Type Type - + Fonction Function - + led led @@ -4801,47 +5571,48 @@ that you create. Text and number inputs are Use system colors - + Chemin de la collection utilisateur User Collection Path - + Chemin des cartouches utilisateur User Title blocks Path - + Chemin de la collection commune Path of the Common Collection - - - - - - + + + + + + Par defaut By default - - - - - - + + + + + + + Parcourir... Browse... - + (Recharger les collections d'éléments pour appliquer les changements) (Reload the elements collections to apply the changes) - + Projets Projects @@ -4851,40 +5622,40 @@ that you create. Text and number inputs are Use gestures touchpad - + Utiliser les numéros de folio à la place de leur position dans le projet - Use folio numbers instead of their position in the project + Use sheet numbers instead of their position in the project - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Number the title block columns from 0 (1 otherwise) - + Désactivé Disabled - + min minute min - + Mettre en valeur dans le panel les éléments fraîchement intégrés Highlight freshly integrated elements in the panel - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Element may include information about its authors, license, or other useful information. Specify the default value of this textfield for new elements below: - + Appliqué au prochain lancement de QElectroTech Applied to the next launch of QElectroTech @@ -4894,62 +5665,62 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Form - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatic backup of projects (applied at the next launch of QElectroTech) - + Collections Collections - + Accès aux collections Access the collections - + Répertoire de la collection commune Common collection directory - + Répertoire de la collection utilisateur User collection directory - + Répertoire des cartouches utilisateur User title blocks directory - + Gestion des éléments Elements management - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Here you can define the default appearance of the different texts of QElectroTech - + Grille + Clavier Grid + Keyboard - + Grille : 1 - 30 Grid: 1 - 30 - + DiagramEditor xGrid DiagramEditor xGrid - + DiagramEditor yGrid DiagramEditor yGrid @@ -4964,439 +5735,663 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Show the properties of a selected conductor in the Selection properties panel - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + When unticked, no conductors-per-terminal rule applies, whatever the projects' settings. + + + + Appliquer les règles de conducteurs par borne des projets + Apply the projects' conductors-per-terminal rules + + + + Nombre maximal de conducteurs par borne : + Maximum conductors per terminal: + + + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + For every project except those with their own settings. A new conductor that would take a terminal past this number is refused; conductors already drawn are not changed. 4 means two twin ferrules, one on each side of the screw. + + + + Sans limite + No limit + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + A sheet reference is a virtual point: it takes only one conductor, the one that continues on the other sheet. + + + + Un seul conducteur par renvoi de folio + Only one conductor per sheet reference + + + Afficher la grille par défaut (appliqué au prochain lancement) Show the default grid (applied the next time the programme is launched) - + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. - By default, a double-click inserts the element on the folio; editing remains accessible from the context menu. + By default, a double-click inserts the element on the sheet; editing remains accessible from the context menu. - + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer Double-clicking in the collection opens the element editor instead of inserting it - + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Ticked: a single list, best match first. Unticked: the collection tree, filtered by the search. + + + + Afficher les résultats de recherche sous forme de liste triée + Show search results as a sorted list + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. After a click that selects an element or a conductor, the shortcut bar commands appear near the cursor and fade away when the mouse moves away. - + Afficher les commandes près de la sélection Show commands near the selection - + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. Holding the right button and dragging in a direction launches a shortcut bar command. A simple right-click still opens the context menu, on button release. - + Gestes de la souris avec le bouton droit Right-button mouse gestures - + Afficher les guides par défaut (appliqué au prochain lancement) Show default guides (applies from the next time the programme is launched) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Use &Windows (applied at the next launch of QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Use &tabs (applied at the next launch of QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : High pixel density (hdpi) displays scaling method (applied to the next launch of QElectroTech) : - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + Automatically number pasted or duplicated elements that follow a numbering + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + A pasted element receives the next number of its numbering instead of the copied element's name, and the numbering advances. + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) Allow running JavaScript scripts (Project > Run a script, and --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. A script runs with your permissions: it can read and modify the open project and write files. Disabled by default; only run scripts whose origin you know. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Allow an AI assistant to act on the open project (live mode) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + An assistant connected through the MCP server can then run scripts on the open project, as you watch. A warning is shown at every start while this setting is on. Takes effect at the next start; unticking it closes the connection at once. + + + Répertoire de la collection company Company collection directory - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Create or change the prefix of the user collection's folders (qet_labels.xml file) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Configure prefixes… + + + Répertoire des cartouches company Company title-block directory - + Répertoire des Macros utilisateur User Macro Directory - + + Fichier de la liste de matériaux + Materials list file + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Materials list used to fill in a symbol's items + + + + Non configuré + hint shown when no material file is configured yet + Not set + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + Create the list file with its headers + + + + Créer... + Create... + + + Langues Languages - + Textes texts - + Textes d'éléments Elements texts - - - + + + Police : Font: - - + + ° ° - + Longueur : Length : - - + + Rotation : Rotation : - + Textes indépendants Independent texts - + Autres textes Other texts - + La Grille doite etre active pour pouvoir voir les modifications. The Grid must be active to see the changes. - + Grille des textes déplacés à la souris Grid for texts moved with the mouse - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - Fraction of the folio grid. Hold Ctrl while moving to place freely. + Fraction of the sheet grid. Hold Ctrl while moving to place freely. - + Déplacement au clavier : 1 - 30 Keyboard movement: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid DiagramEditor (key: left / right) xGrid - + DiagramEditor (touche : haut / bas) yGrid DiagramEditor (key: up / down) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 Keyboard movement with the ALT key: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid DiagramEditor (key: left / right) xGrid - + DiagramEditor (touche : haut / bas) yGrid DiagramEditor (key: up / down) yGrid - + Affichage Grille View grid - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + When saving a symbol: refuse two terminals with the same name, and report terminals without a name (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Check terminal names when saving + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Point-size in diagram-editor: 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Point-size in element-editor: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Max. parts in Element Editor List - + Ne pas conserver les labels des éléments lors des copier coller Do not store the labels of items in the copy paste Autoriser le dézoom au delà du folio - Allow unzoom beyond the folio + Allow unzoom beyond the sheet - + Arrondi supérieur pour 0.5 et plus Rounding up for 0.5 and more - + Toujours arrondi supérieur Always top rounding - + Toujours arrondi inférieur Always rounded down - + Arrondi supérieur pour 0.75 et plus Rounding up for 0.75 and more - + Pas d'arrondi No rounding - + Désactivée Disabled - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. Enabled by the QET_ENABLE_SCRIPTING environment variable; this setting has no effect while it is set. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + Not set (default: %1) + + + Général configuration page title General - + Système System - + Arabe Arabic - + Brézilien Brazilian - + Catalan Catalan - + Tchèque Czech - + Allemand German - + Danois Danish - + Grec Greek - + Anglais English - + Espagnol Spanish - + Français French - + Croate Croatian - + Italien Italian - + Japonais Japanese - + Coréen Korean - + Polonais Polish - + Portugais Portuguese - + Roumains Romanian - + Russe Russian - + Slovène Slovenian - + Pays-Bas Dutch - + Norvege Norwegian - + Belgique-Flemish Belgium-Flemish - + Turc Turkish - + Hongrois Hungarian - + Mongol Mongolian - + Ukrainien Ukrainian - + Chinois Chinese - + Suédois Swedish - + Chemin de la collection company Company collection path - + Chemin des cartouches company Company title-blocks - + Chemin des macros utilisateur User macro path - + + Répertoire introuvable + Folder not found + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + The user collection folder: +%1 +does not exist and could not be created. + + + + Aucun sous-dossier + No subfolder + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + The user collection: +%1 +has no subfolder, so there is no prefix to configure. + + + + Fichier de préfixes illisible + Prefix file cannot be read + + + + Fichier de préfixes endommagé + Prefix file damaged + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + The file %1 is not a valid XML file: +%2 + + + + Corriger le fichier + Fix the file + + + + Reconstruire + Rebuild + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Nothing has been changed yet. + +“Fix the file”: this window closes without changing anything. Open the file in a text editor at the place shown, fix it, then run this command again. + +“Rebuild”: the folder tree is made again, but all the current prefixes are lost. The current file is kept as qet_labels.xml.bak before it is replaced. + + + + Fichier : %1 + File: %1 + + + + Sélectionner le fichier de la liste de matériaux + Select the materials list file + + + + + Fichiers csv (*.csv) + CSV files (*.csv) + + + + Créer le fichier de la liste de matériaux + Create the materials list file + + + + Création impossible + Cannot create + + + + Impossible de créer le fichier : +%1 +%2 + Cannot create the file: +%1 +%2 + + + To high values might lead to crashes of the application. Values that are too high might cause the application to crash - + Fonctionnalité expérimental Experimental feature - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5423,13 +6418,13 @@ Any setting other than “No rounding” may cause rendering errors in the proje Ceci est un projet QElectroTech, c'est-à-dire un fichier d'extension .qet regroupant plusieurs folios. Il embarque également les éléments et modèles de cartouches utilisés dans ces folios. "What's this" tip - This is a QElectroTech project, ie. a .qet file containing several folios. It also embeds elements and title block templates used in the folios. + This is a QElectroTech project, ie. a .qet file containing several sheets. It also embeds elements and title block templates used in the sheets. Folio sans titre Fallback label when a diagram has no title - Untitled folio + Untitled sheet @@ -5453,116 +6448,220 @@ Any setting other than “No rounding” may cause rendering errors in the proje Ceci est un modèle de cartouche, qui peut être appliqué à un folio. "What's this" tip - This is a title block template, which can be applied to a folio. + This is a title block template, which can be applied to a sheet. - + %1 [non utilisé dans le projet] %1 [unused in the project] + + GesturesConfigPage + + + Faites glisser avec le bouton droit sur un folio : un anneau de commandes s'ouvre, relâchez vers celle à lancer. Tant que vous ne changez pas l'anneau d'un contexte, il montre les commandes de la barre de raccourcis. Les gestes s'activent ou se désactivent dans la page Général. + Drag with the right mouse button on a sheet: a ring of commands opens, release towards the one to run. Until you change the ring for a context, it shows the commands of the shortcut bar. Gestures are turned on or off in the General page. + + + + 8 directions + 8 directions + + + + 4 directions + 4 directions + + + + Placer → + Place → + + + + Vider la direction + Clear the direction + + + + Comme la barre de raccourcis + Same as the shortcut bar + + + + Commandes disponibles + Available commands + + + + Anneau, la direction choisie en surbrillance + Ring, the chosen direction highlighted + + + + Directions : + Directions: + + + + Contexte : + Context: + + + + Gestes de la souris + configuration page title + Mouse gestures + + + + (direction vide) + (empty direction) + + + + Anneau personnalisé pour ce contexte. + Custom ring for this context. + + + + Cet anneau suit la barre de raccourcis. + This ring follows the shortcut bar. + + GraphicsTablePropertiesEditor + Form - Table properties + Table properties + Affichage - Display + Display + Nom du tableau - Table name + Table name + Aucun None + Toutes - All + All + Lignes à afficher : - Lines to display : + Lines to display : + Y : - Y : + Y : + Tableau suivant - Next table + Next table + X : - X : + X : + Tableau précédent - Previous table + Previous table + Tableau précédent : - Previous table : + Previous table : + Géometrie et lignes - Geometry and lines + Geometry and lines + Appliquer la géometrie à tous les tableaux liée à celui-ci - Apply geometry to all tables linked to this one + Apply geometry to all tables linked to this one + Ajuster le tableau au folio - Fit table to folio + Fit table to sheet + TextLabel - TextLabel + TextLabel + En tête - Header + Header + + Marge - Margin + Margin + Aligement : - Alignment : + Alignment : + + Gauche - Left + Left + + Centré - Center + Center + + Droite - Right + Right + + Police - Font + Font + Tableau - Table + Table + Alignement : - Alignment: + Alignment: + Contenu - Content + Content @@ -5700,7 +6799,7 @@ Any setting other than “No rounding” may cause rendering errors in the proje - + Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. Locked: changing the width or height adjusts the other to keep proportions. Click to unlock. @@ -5752,33 +6851,48 @@ Any setting other than “No rounding” may cause rendering errors in the proje Lock Position - + + Adapter l’image au thème sombre + Adapt the picture to the dark theme + + + + Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés. + Adapts the colors for the dark display only. The original picture, exports and printouts stay unchanged. + + + Modifier la largeur d'une image Change the width of an image - + Modifier la hauteur d'une image Change the height of an image - + Modifier l'angle d'une image Change the angle of an image - - + + Modifier l'inclinaison d'une image Change the skew of an image - + Modifier le libellé d'une image Edit an image label - + + Modifier l'adaptation d'une image au thème sombre + Change a picture's dark theme adaptation + + + Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. Unlocked: width and height can be changed independently. Click to lock. @@ -5786,42 +6900,42 @@ Any setting other than “No rounding” may cause rendering errors in the proje ImageTransparentColorDialog - + Couleur transparente Transparent color - + Image source Source image - + Aperçu Preview - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Tolerance for this color - + Retirer cette couleur Remove this color - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Click on the image to add a color. Adjust each color's tolerance with its slider, or click × to remove it. - + Cliquez sur l'image pour choisir une couleur Click on the image to choose a color @@ -5880,101 +6994,140 @@ Any setting other than “No rounding” may cause rendering errors in the proje IndiTextPropertiesWidget + Form - Form + Form + X : - X : + X : + Éditeur avancé - Advanced Editor + Advanced Editor + Taille : - Size : + Size : + Angle : - Angle: + Angle: + + + px - px + px + ° - ° + ° + Y : - Y : + Y : + + Largeur : + Width: + + + + Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique + Text width; the text wraps at this width. Auto: no automatic line wrap + + + + Auto + Auto + + + Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html. Veuillez utiliser l'éditeur avancé pour cela. - The contents, the size and the font of the text can not be modified because formatted in html. + The contents, the size and the font of the text can not be modified because formatted in html. Please use the advanced editor for this. + Texte - Text + Text - - - + + + + Police Font + Cliquez ici pour annuler le formatage html - Click here to cancel html formatting + Click here to cancel html formatting - - + + Déplacer un champ texte Move a text field - + Pivoter un champ texte Rotate a text field - + Modifier un champ texte Edit the text field - + Modifier la taille d'un champ texte Change the size of a text field - + Modifier la police d'un champ texte Change the font of a text field - + + Modifier la largeur d'un champ texte + Change the width of a text field + + + Pivoter plusieurs champs texte Rotate multiple text fields - + Modifier la taille de plusieurs champs texte Change the size of multiple text fields - + Modifier la police de plusieurs champs texte Change the font of several text fields - + + Modifier la largeur de plusieurs champs texte + Change the width of several text fields + + + Modifier les propriétés d'un texte Modify the properties of a text @@ -5993,6 +7146,11 @@ Please use the advanced editor for this. error message Unable to get this template's XML description + + + Une erreur s'est produite avec le modèle %1 : %2 + An error occurred with the template %1: %2 + Erreur @@ -6038,30 +7196,30 @@ Please use the advanced editor for this. JumpToElementDialog - + Atteindre un élément window title Navigate to an element - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… Name, label or information of the element, or cell (e.g. B13 or 3-B13)… - + Case %1 Cell %1 - + Folio %1, case %2 - Folio %1, cell %2 + Sheet %1, cell %2 - + Folio %1 (%2), case %3 - Folio %1 (%2), cell %3 + Sheet %1 (%2), cell %3 Nom, label ou information de l'élément… @@ -6195,13 +7353,13 @@ Please use the advanced editor for this. N° de folio - Folio no. + Sheet no. Label de folio - Folio label + Sheet label @@ -6209,7 +7367,7 @@ Please use the advanced editor for this. Titre de folio - Folio title + Sheet title @@ -6297,7 +7455,7 @@ Please use the advanced editor for this. Report de folio - Folio reference + Sheet reference @@ -6310,6 +7468,140 @@ Please use the advanced editor for this. Unlink + + LiveServer + + + Mode direct + Live mode + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + Live mode is on: a connected AI assistant will be able to run scripts on the open project. + +Each action is undone with one Ctrl+Z, and the “Stop” button in the status bar closes the connection. + +This setting is in Configure QElectroTech > General > Projects. + + + + &Continuer + &Continue + + + + &Pas pour cette session + &Not this session + + + + &Désactiver + &Turn off + + + + Ne plus demander au démarrage + Don't ask again at start + + + + Le mode direct s'ouvrira à chaque démarrage. Pour être de nouveau averti, désactivez-le puis réactivez-le dans Configurer QElectroTech > Général > Projets. + Live mode will open at every start. To be warned again, turn it off and back on in Configure QElectroTech > General > Projects. + + + + + script + script + + + + Impression + Print + + + + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + + The assistant wants to print %n folio of “%1” on “%2”. + The assistant wants to print %n folios of “%1” on “%2”. + + + + + &Imprimer + &Print + + + + &Annuler + &Cancel + + + + + Assistant : %1 + Assistant: %1 + + + + L'assistant veut exécuter un script + The assistant wants to run a script + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + “%1” on the open project. Once it has run, Ctrl+Z undoes it. + + + + &Exécuter + &Run + + + + &Refuser + &Decline + + + + &Toujours + &Always + + + &Toujours pour cette session + &Always this session + + + + MacroRecorder + + + Macro du %1 + Macro of %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + project closed during the recording: no after.qet + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + I recorded a macro in QElectroTech: “%1”, %n step (id %2, folder %3). +With the qet MCP server: read it with qet_recording_read, write a script that does the same thing in general (for example on the selected elements rather than on those exact ones), check it with qet_recording_check until it matches, then offer it as a button with qet_script_install. + I recorded a macro in QElectroTech: “%1”, %n steps (id %2, folder %3). +With the qet MCP server: read it with qet_recording_read, write a script that does the same thing in general (for example on the selected elements rather than on those exact ones), check it with qet_recording_check until it matches, then offer it as a button with qet_script_install. + + + MarginsEditDialog @@ -6351,7 +7643,7 @@ Please use the advanced editor for this. <html><head/><body><p>Unlink the selected item</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Link the selected item</p></body></html> @@ -6364,18 +7656,18 @@ Please use the advanced editor for this. N° de folio - Folio no. + Sheet no. Label de folio - Folio label + Sheet label Titre de folio - Folio title + Sheet title @@ -6463,7 +7755,7 @@ Do you still want to link this slave contact? Terminals - + Coller depuis le presse-papiers Paste from the clipboard @@ -6473,6 +7765,162 @@ Do you still want to link this slave contact? Cross-reference (master) + + MaterialEntryDialog + + + Nouvelle entrée + New entry + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Fill in the item to add. Fields left empty stay empty in the file. + + + + Enregistrer + Save + + + + Annuler + Cancel + + + + Aucun renseignement + Nothing filled in + + + + Saisissez au moins un renseignement pour créer une entrée. + Fill in at least one field to create an entry. + + + + MaterialList + + + + Bloc auxiliaire + Auxiliary block + + + + Aucun récepteur pour le répertoire de matériaux. + Nothing to receive the materials list. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + The file has no header: columns are missing. + + + + Le fichier existe déjà et n'est pas vide. + The file already exists and is not empty. + + + + MaterialSelectionDialog + + + Liste de matériaux + Materials list + + + + Rechercher : + Search: + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + Every word typed must appear somewhere in the row + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + Search all columns + + + + Entrées : 0 + Entries: 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + Add a new item to the list + + + + Nouvelle entrée + New entry + + + + Appliquer + Apply + + + + Annuler + Cancel + + + + Lecture impossible + Cannot read + + + + Impossible de lire le fichier : +%1 +%2 + Cannot read the file: +%1 +%2 + + + + Entrées : %1 + Entries: %1 + + + + Entrées : %1 sur %2 + Entries: %1 of %2 + + + + Aucune sélection + Nothing selected + + + + Sélectionnez d'abord un article dans la liste. + Select an item in the list first. + + + + Écriture impossible + Cannot write + + + + Impossible d'écrire dans le fichier : +%1 +%2 + Cannot write to the file: +%1 +%2 + + MultiPasteDialog @@ -6522,10 +7970,15 @@ Do you still want to link this slave contact? Self-numbering of conductors - + Multi-collage Multi-paste + + + Numéroter les éléments collés + Number pasted elements + NameListDialog @@ -6535,7 +7988,7 @@ Do you still want to link this slave contact? Dialog - + Variables de cartouche Title block variables @@ -6563,7 +8016,7 @@ Do you still want to link this slave contact? Add a line - + Copier dans le presse papier Copy to clipboard @@ -6571,63 +8024,63 @@ Do you still want to link this slave contact? NewDiagramPage - + Folio - Folio + Sheet - + Conducteur Conductor - + Reports de folio - Folio references + Sheet references - + Références croisées Cross-references - + Guides Guides - + Définir les règles de numérotation automatique par défaut pour les nouveaux projets : Set the default automatic numbering rules for new projects: - + Conducteurs Conductors - + Eléments Elements - + Folios - Folios + Sheets - + Numérotation auto Auto Numbering - + Nouveau folio configuration page title - New folio + New sheet - + Nouveau projet configuration page title New project @@ -6636,90 +8089,90 @@ Do you still want to link this slave contact? NewElementWizard - + Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. You don't have to specify the *.elmt extension. It will be added automatically. - + nouvel_element new_element - + &Suivant > &Next > - + Créer un nouvel élément : Assistant window title Create a new element: wizard - + Étape 1/3 : Catégorie parente wizard page title Step 1 of 3: Parent category - + Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Select a category which to save the new element in. - + Étape 2/3 : Nom du fichier wizard page title Step 2 of 3: Filename - + Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Enter the name of the file for the new element. - + Étape 3/3 : Noms de l'élément wizard page title Step 3 of 3: Element names - + Indiquez le ou les noms de l'élément. wizard page subtitle Enter one or more names for the element. - + Nom du nouvel élément default name when creating a new element New element name - - - + + + Erreur message box title Error - + Vous devez sélectionner une catégorie. message box content You must select a category. - + Vous devez entrer un nom de fichier message box content You must enter a filename - + Un élément portant le même nom existe déjà An element with the same name already exists @@ -6816,7 +8269,7 @@ Do you still want to link this slave contact? N° folio - Folio no. + Sheet no. @@ -6824,7 +8277,7 @@ Do you still want to link this slave contact? Folio - Folio + Sheet @@ -6832,7 +8285,7 @@ Do you still want to link this slave contact? Chiffre 1 - Folio - number format 1 - Folio + number format 1 - Sheet @@ -6840,7 +8293,7 @@ Do you still want to link this slave contact? Chiffre 01 - Folio - number format 01 - Folio + number format 01 - Sheet @@ -6848,7 +8301,7 @@ Do you still want to link this slave contact? Chiffre 001 - Folio - number format 001 - Folio + number format 001 - Sheet @@ -6902,13 +8355,13 @@ Do you still want to link this slave contact? PartDynamicTextField - + Champ de texte dynamique element part name Dynamic text field - + Déplacer un champ texte Move a text field @@ -6929,6 +8382,14 @@ Do you still want to link this slave contact? Edit a line + + PartPlcTable + + + Modifier une table PLC + Change a PLC table + + PartPolygon @@ -6957,6 +8418,14 @@ Do you still want to link this slave contact? Delete a point from a polygon + + PartRectangle + + + Modifier un rectangle + Change a rectangle + + PartTerminal @@ -6968,25 +8437,47 @@ Do you still want to link this slave contact? PartText - + Déplacer un texte Move a text - + Modifier un champ texte Edit the text field + + PasteNumberingImport + + + Numérotation absente de ce projet + Numbering missing from this project + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + The pasted elements follow %n numbering that does not exist in this project: %1. + +Import it? The elements will then receive the next numbers, starting from 1. Otherwise they will be pasted without numbering. + The pasted elements follow %n numberings that do not exist in this project: %1. + +Import them? The elements will then receive the next numbers, starting from 1. Otherwise they will be pasted without numbering. + + + PdfPagesDialog - + Sélectionner une page Select a page - + Ce document PDF contient %n page(s) This PDF document contains %n page @@ -6994,32 +8485,32 @@ Do you still want to link this slave contact? - + Page à importer : Page to import: - + Résolution : Resolution: - + 150 DPI (écran) 150 DPI (screen) - + 300 DPI (impression) 300 DPI (print) - + 600 DPI (haute qualité) 600 DPI (high quality) - + Aperçu : Preview : @@ -7125,12 +8616,12 @@ Do you still want to link this slave contact? Closed polygon - + Ajouter un point Add a point - + Supprimer ce point Delete this point @@ -7183,26 +8674,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Please select the properties to be applied to new potential. - - - + + + Fonction : %1 Function : %1 - - - + + + Tension/protocole : %1 Voltage / Protocol : %1 - - + + %n conducteurs composent le potentiel suivant : %n conductor make up the following potential : @@ -7210,71 +8701,174 @@ Voltage / Protocol : %1 - - - + + + Numéro : %1 Number: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Please select an electrical potential from the list to use for the new potential - - - + + + Couleur du conducteur : %1 Conductor color : %1 - - - + + + Section du conducteur : %1 Conductor section : %1 - + Ajouter au câble: %1 Add to cable: %1 - + Ajouter au bus: %1 Add to bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Edit the properties of several conductors - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM - The new potential formula contains variables incompatible with folio references. + The new potential formula contains variables incompatible with sheet references. Please enter a compatible formula for this potential. The following variables are incompatible: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + User collection prefixes + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Each folder of the collection has a prefix: it is added in front of the label of the symbols in the folder. +An empty field means the folder takes the prefix of its parent folder. + + + + Dossier + column header of the folder tree + Folder + + + + Préfixe + column header of the prefix column + Prefix + + + + Tout déplier + Expand all + + + + Tout replier + Collapse all + + + + Entrées sans dossier + Entries without a folder + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n entry of qet_labels.xml matches no folder of the collection: +keep it or delete it? + %n entries of qet_labels.xml match no folder of the collection: +keep them or delete them? + + + + + Conserver + Keep + + + + Supprimer + Delete + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + no prefix: does not take the parent's + + + + + hériter du dossier parent + placeholder of an empty prefix field + take the parent folder's + + + + Enregistrement impossible + Cannot save + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + The file %1 could not be saved: +%2 + + + + Fichier endommagé remplacé + Damaged file replaced + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + The file %1 could not be read: it has been replaced. +Its copy was kept as: +%2 + + PrintConfigPage - + Impression configuration page title Printing @@ -7283,221 +8877,526 @@ The following variables are incompatible: ProjectAutoNumConfigPage - + Numérotation auto Auto Numbering - + Management Management - - + + Conducteurs Conductors - - + + N° + No. + + + + Nom + Name + + + + Folio + Sheet + + + + Élément + Element + + + + Figé + Frozen + + + + Attribuer un numéro libre… + Assign a free number… + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + Give the selected element a number nobody has: it keeps its numbering, only its number changes. + + + + Eléments Elements - - + + Folios - Folios + Sheets - + Numérotation auto des folios - Folio Auto Numbering + Sheet Auto Numbering - + Importer depuis un autre projet... Import from another project... - + Reprendre les numérotations automatiques enregistrées dans un autre projet Reuse the automatic numbering saved in another project - - - - - - - - Sans nom - No name + + figé + frozen - + + — libre — + — free — + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + no element has this number (deleted or renumbered) + + + + Aucun élément ne suit cette numérotation + No element follows this numbering + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + %n element follows this numbering, %1 with a frozen name + %n elements follow this numbering, %1 with a frozen name + + + + + ; %n numéro(s) sans élément + + ; %n number without an element + ; %n numbers without an element + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + This numbering has several numbers (or one number per sheet): one cannot be chosen by hand. + + + + Attribuer un numéro libre + Assign a free number + + + + Le nom de cet élément est figé : dégelez-le d'abord. + This element's name is frozen: unfreeze it first. + + + + Aucun numéro n'est libre. + No number is free. + + + + %1 → %2 + %1 → %2 + + + + Numéro libre pour l'élément « %1 » (%2) : + Free number for element “%1” (%2): + + + + + Nom de la numérotation : + Numbering name: + + + + + Modifier la numérotation + Modify numbering + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + %n element follows this numbering and will change formula and name. + %n elements follow this numbering and will change formula and name. + + + + + + + + Nouvelle numérotation + New numbering + + + + + Renommer la numérotation + Rename numbering + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + The “%1” numbering cannot be modified: %n element with a frozen name follows it. +Unfreeze it first (see the list), or just rename the numbering. + The “%1” numbering cannot be modified: %n elements with a frozen name follow it. +Unfreeze them first (see the list), or just rename the numbering. + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + %n numbering followed by elements with a frozen name was not replaced. + %n numberings followed by elements with a frozen name were not replaced. + + + + + %n élément(s) ont changé de formule. + + %n element changed formula. + %n elements changed formula. + + + + + + Supprimer la numérotation + Delete numbering + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + %n element follows the “%1” numbering, so it cannot be deleted. +Give it another numbering or a fixed name first. + %n elements follow the “%1” numbering, so it cannot be deleted. +Give them another numbering or a fixed name first. + + + + + Aucun folio ne nomme cette numérotation + No sheet names this numbering + + + + %n folio(s) nomment cette numérotation + + %n sheet names this numbering + %n sheets name this numbering + + + + + Aucun folio ne suit cette numérotation + No sheet follows this numbering + + + + %n folio(s) suivent cette numérotation + + %n sheet follows this numbering + %n sheets follow this numbering + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + %n sheet follows the “%1” numbering, so it cannot be deleted. +Give it another numbering first. + %n sheets follow the “%1” numbering, so it cannot be deleted. +Give them another numbering first. + + + + Sans nom + No name + + + Importer les numérotations d'un projet Import numbering from a project - + Projet QElectroTech (*.qet) Project QElectroTech (*.qet) - - + + Import impossible Import not possible - + Impossible d'ouvrir %1 Unable to open %1 - + %1 n'est pas un projet QElectroTech valide. %1 is not a valid QElectroTech project. - - + + Aucune numérotation No numbering - - + + Ce projet ne contient aucune numérotation automatique. This project does not contain any automatic numbering. - + Numérotations à importer Numbering to import - + Numérotations trouvées dans %1 : Numbering found in %1: - + %1 : %2 (existe déjà) %1: %2 (already exists) - + Remplacer les numérotations de même nom Replace numbering with the same name - + + Importer des numérotations + Import numberings + + + Import terminé Import complete - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. %1 numbering(s) imported, %2 kept unchanged. - + %1 numérotation(s) importée(s). %1 numbering(s) imported. - - - - - - - - - Nom de la nouvelle numérotation - Name the new numbering + Name the new numbering ProjectDBModel - + Position Position - + Position du folio - Folio position + Sheet position ProjectDBModelPropertiesWidget + Form - Form + Form + Requête - Request + Request + Recharger - Reload + Reload ProjectMainConfigPage - + Général configuration page title General - + Titre du projet : label when configuring Project title : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - This title is made available to all child folios as %projecttitle. + This title is made available to all child sheets as %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - You may define below custom properties that will be made available to all folios of the project (typically to use within title blocks). + You may define below custom properties that will be made available to all sheets of the project (typically to use within title blocks). - + Temps passé sur ce projet : label when configuring Time spent on this project: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Track the time spent on this project (recorded locally in this file only) - + Réinitialiser button label Reset + + + Croisements de conducteurs : + label when configuring + Conductor crossings: + - + Sans saut + wire crossings + No hop + + + + Saut sur les conducteurs horizontaux + wire crossings + Hop on horizontal conductors + + + + Saut sur les conducteurs verticaux + wire crossings + Hop on vertical conductors + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Draws a small arc where two conductors cross without being connected. Only the drawing changes: no element is added and no conductor is cut. + + + + Garder horizontaux les textes des symboles pivotés + checkbox label + Keep the texts of rotated elements horizontal + + + + Les textes dessinés dans un symbole et les noms de ses bornes restent lisibles quand le symbole est pivoté : leur cadre tourne avec le symbole, pas le texte. Décochez pour qu'ils tournent avec le symbole, comme avant. + tooltip + Texts drawn in an element and the names of its terminals stay readable when the element is rotated: their frame turns with the element, not the text. Uncheck to make them turn with the element, as before. + + + + Conducteurs par borne + group box title + Conductors per terminal + + + + Utiliser les réglages de l'application + checkbox label + Use the application settings + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + The settings in Configure QElectroTech > General apply. Untick to give this project its own settings, saved in the project. + + + + Nombre maximal de conducteurs par borne : + label when configuring + Maximum conductors per terminal: + + + + Sans limite + wires per terminal + No limit + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + A new conductor that would take a terminal past this number is refused. Conductors already drawn are not changed. 4 means two twin ferrules, one on each side of the screw. + + + + Un seul conducteur par renvoi de folio + checkbox label + Only one conductor per sheet reference + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + A sheet reference is a virtual point: it takes only one conductor, the one that continues on the other sheet. + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + These rules are turned off for every project (Configure QElectroTech > General). + + + + %1 h %2 min hours and minutes of time spent on a project %1 h %2 min @@ -7513,7 +9412,7 @@ The following variables are incompatible: Folios à imprimer : - Folios to print : + Sheets to print : @@ -7541,137 +9440,137 @@ The following variables are incompatible: In date of : - + Option de rendu Rendering option - + Dessiner le cadre Draw the border - + Dessiner le cartouche Draw the title block - + Conserver les couleurs des conducteurs Keep conductors colors - + Dessiner les bornes Draw terminals - + Dessiner les noms des bornes Draw the names of the terminals - + Inscrire les informations des composants Enter the component details - + Option d'impression Printing option - + Adapter le folio à la page - Fit folio to page + Fit sheet to page - + Utiliser toute la feuille Use the whole page - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - If this option is checked, the folio will be enlarged or shrunk to fill the entire printable surface of one and only one page. " + If this option is checked, the sheet will be enlarged or shrunk to fill the entire printable surface of one and only one page. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. If this option is checked, the margins of the sheet will be ignored and its entire surface will be used for printing. This may not be supported by your printer. - + toolBar toolBar - + Ajuster la largeur Fit to width - + Ajuster la page Fit to page - + Zoom arrière Zoom Out - + Zoom avant Zoom In - + Paysage Landscape - + Portrait Portrait - + Première page First page - + Page précédente Previous page - + Page suivante Next page - + Dernière page Last page - + Afficher une seule page Show single page - + Afficher deux pages Display facing pages - + Afficher un aperçu de toutes les pages Display all pages - + mise en page Page layout @@ -7705,7 +9604,7 @@ The following variables are incompatible: Folio sans titre - Untitled folio + Untitled sheet @@ -7752,13 +9651,13 @@ Do you want to save changes? Supprimer le folio ? message box title - Delete this folio ? + Delete this sheet ? Êtes-vous sûr de vouloir supprimer ce folio du projet ? message box content - Are you sure you want to delete this folio from the project? + Are you sure you want to delete this sheet from the project? @@ -7786,7 +9685,7 @@ Do you want to save changes? Ajouter un folio - Add a folio + Add a sheet @@ -7812,7 +9711,7 @@ Do you want to save changes? Ce projet ne contient aucun folio label displayed when a project contains no diagram - This project does not contain any folio + This project does not contain any sheet @@ -7829,7 +9728,7 @@ Do you want to save changes? <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des onglets de folio :</p> - <p align="center"><b>Opening the project ...</b><br/>Creating folio tabs :</p> + <p align="center"><b>Opening the project ...</b><br/>Creating sheet tabs :</p> @@ -7849,161 +9748,213 @@ Do you want to save changes? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET title blocks - + Cartouches company title of the company's title block templates collection Company title-blocks - + Cartouches utilisateur title of the user's title block templates collection User title blocks - + + Enregistrer la configuration sous... + dialog title + Save settings as... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + QElectroTech settings (*.conf) + + + + + Erreur + message box title + Error + + + + Impossible d'enregistrer la configuration dans « %1 ». + Cannot save the settings to “%1”. + + + + Charger une configuration... + dialog title + Load settings... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + “%1” is not a settings file saved by QElectroTech. + + + + Charger une configuration + message box title + Load settings + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + These settings will replace your current ones, except the window layout and the list of recent files. + +QElectroTech will then close. Start it again to use the new settings. + +Do you want to continue? + + + &Quitter &Quit - + &Masquer &Hide - + &Restaurer &Show - + &Masquer tous les éditeurs de schéma &Hide diagram editor - + &Restaurer tous les éditeurs de schéma &Show diagram editors - + &Masquer tous les éditeurs d'élément &Hide element editor - + &Restaurer tous les éditeurs d'élément &Show element editor - + &Masquer tous les éditeurs de cartouche systray submenu entry &Hide title block template editor - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Show title block template editors - + &Nouvel éditeur de schéma &New diagram editor - + &Nouvel éditeur d'élément &New element editor - + Ferme l'application QElectroTech Closes QElectroTech - + Réduire QElectroTech dans le systray Reduces QElectroTech into the systray - + Restaurer QElectroTech Restore QElectroTech - + Éditeurs de schémas Diagram editors - + Éditeurs d'élément Element editors - + Éditeurs de cartouche systray menu entry Title block template editors - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>The following restore file has been found,<br>Do you want to open it ?</b><br> + <b>The following restore file has been found,<br>Do you want to open it ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>The following restore files have been found,<br>Do you want to open them ?</b> <br> + <b>The following restore files have been found,<br>Do you want to open them ?</b> <br> - Fichier de restauration - Restore file + Restore file - + Rapport de plantage Crash report - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech did not close correctly the last time it was run. Here are the last messages logged before it closed — you can save them to include them in a bug report. - + Rapport de diagnostic Diagnostic report - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. This contains the latest log entries for this session. Please check the contents before attaching it to a public bug report. - + Usage : Usage: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8020,7 +9971,7 @@ Available options: - + [options] [fichier]... @@ -8029,114 +9980,114 @@ Available options: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define the elements collection directory - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Define the title block templates collection directory - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define configuration directory - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Define data directory - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define the language files directory - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Loading... Initializing the elements collection cache - + Chargement... Éditeur de schéma splash screen caption - Loading... Folios editor + Loading... Sheets editor - + Chargement... Ouverture des fichiers splash screen caption Loading... Opening files - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Diagram - + Electrique Normal example text - translate length, not meaning Electric - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configure QElectroTech - + Chargement... splash screen caption Loading... - + Chargement... icône du systray splash screen caption Loading... Systray icon - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8145,105 +10096,106 @@ Available options: QETDiagramEditor - + Afficha&ge Displ&ay - + Affiche ou non le panel d'appareils Show or hide the elements panel - + Ajouter une colonne Add a column - + &Cascade &Cascade - + C&oller &Paste - + Cop&ier &Copy - + Co&uper Cu&t - + Désélectionner tout Select none - + &Édition &Edit - + Enlever une colonne Remove a column - + &Enregistrer &Save - + Enregistrer sous Save as - + E&xporter &Export - + Fe&nêtres Wi&ndows - + + &Fermer &Close - + &Fichier &File - + Imprimer Print - + Inverser la sélection Invert selection - + Mode Selection Select - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - This panel lists the various changes applied to the current folio. Clicking a change gets the folio back to its state right after it was applied. + This panel lists the various changes applied to the current sheet. Clicking a change gets the sheet back to its state right after it was applied. Couleur de fond blanc/gris @@ -8253,988 +10205,1297 @@ Available options: Affiche la couleur de fond du folio en blanc ou en gris Status tip of white/grey background button - Displays the background color of the folio in white or gray + Displays the background color of the sheet in white or gray - + Afficher la grille Display the grid - + Affiche ou masque la grille des folios - Display or hide the grid of folio + Display or hide the grid of sheet - + Propriétés du folio - Folio properties + Sheet properties - + Ajouter un folio - Add a folio + Add a sheet - - - + + + Supprimer le folio - Delete this folio + Delete this sheet - + Mode Visualisation Move - + &Mosaïque &Tile - - - - - - - + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Diagram editors - + Exporter en pdf Export in pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - Export one or more folios of the current project + Export one or more sheets of the current project - + Afficher les guides View the guides - + Affiche ou masque les guides Shows or hides the guides - + Exporter au format CSV Export to CSV - + Gestionnaire de borniers (DEV) Terminal block manager (DEV) - + Lancer le plugin de création de borniers Launch the terminal block creation plugin - + Exporter la liste des noms de conducteurs Export the list of names of wires - + Exporter le plan de câblage Export the wiring diagram - + Numérotation automatique des bornes Automatic numbering of terminals - + Exporter la base de donnée interne du projet Export the internal project database - + &Nouveau &New - + Crée un nouveau projet status bar tip Creates a new project - + Ouvre un projet existant status bar tip Opens an existing project - + Ferme le projet courant status bar tip Closes the current project - + Enregistre le projet courant et tous ses folios status bar tip - Saves the current project and all its folios + Saves the current project and all its sheets - + Enregistre le projet courant avec un autre nom de fichier status bar tip Saves the current project with a different file name - + Ajouter une ligne Add row Add row - + Enlever une ligne Remove row Remove a row - + Ajoute une colonne au folio status bar tip - Add a column to the folio + Add a column to the sheet - + Enlève une colonne au folio status bar tip - Remove a column from the folio + Remove a column from the sheet - + Agrandit le folio en hauteur status bar tip - Expands the folio height + Expands the sheet height - + Rétrécit le folio en hauteur status bar tip - Shrinks the folio height + Shrinks the sheet height - + Enlève les éléments sélectionnés du folio status bar tip - Removes selected elements from the folio + Removes selected elements from the sheet - + Sélectionne tous les éléments du folio status bar tip - Selects all elements on the folio + Selects all elements on the sheet - + Désélectionne tous les éléments du folio status bar tip - Deselect all elements on the folio + Deselect all elements on the sheet - + Agrandit le folio status bar tip - Expand the folio + Expand the sheet - + Rétrécit le folio status bar tip - Shrinks the folio + Shrinks the sheet - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - Adjusts the zoom to display all the contents of folio regardless of context + Adjusts the zoom to display all the contents of sheet regardless of context - + Adapte le zoom exactement sur le cadre du folio status bar tip - Adjusts the zoom on exactly the part of the folio + Adjusts the zoom on exactly the part of the sheet - + Ajouter une ligne Draw line Add line - + Ajouter un rectangle Add a rectangle - + Ajouter une ellipse Add an ellipse - + Ajouter une polyligne Add a polygon - + Exporte le folio courant dans un autre format status bar tip - Exports the current folio to another format + Exports the current sheet to another format - + Imprime un ou plusieurs folios du projet courant status bar tip - Prints one or more folio of the current project + Prints one or more sheet of the current project - + + Profondeur toolbar title Depth - + Groupe Group - + Place les éléments du presse-papier sur le folio status bar tip - Pastes elements from the clipboard into the folio + Pastes elements from the clipboard into the sheet - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - Edits the properties of the folio (size, title block information, conductor properties...) + Edits the properties of the sheet (size, title block information, conductor properties...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - Allows to view the folio without modifying it + Allows to view the sheet without modifying it - + + Outils Tools - + &Ouvrir &Open - + Ouvrir un fichier Open a file - + Pas de zoom Reset zoom - + Pivoter Rotate - + &Quitter &Quit - + Supprimer Delete - + Tout sélectionner Select All - + Zoom adapté Fit in view - + Zoom arrière Zoom Out - + Zoom avant Zoom In - + Annuler Undo - + Refaire Redo - + Réinitialiser les conducteurs Reset conductors - + Affiche ou non la barre d'outils principale Display or hide the main toolbar - + Affiche ou non la barre d'outils Affichage Display or hide the Display toolbar - + Affiche ou non la barre d'outils Schéma Display or hide the Diagram toolbar - + + Affichage Display - + + Schéma Diagram - + Ajouter un champ de texte Add a textfield - + Aucune modification No modification - + Affiche ou non la liste des modifications Display or hide the undo list - + Éditer l'item sélectionné Edit the selected item - + Grouper les textes sélectionnés Group selected texts - + Pivote les éléments et textes sélectionnés status bar tip Rotate selected elements and texts - + Pivote les textes sélectionnés à un angle précis status bar tip Rotate selected texts to a specific angle - + Chercher/remplacer Search / Replace - + &Projet &Project - + &Récemment ouverts &Latest files - - + + Projet %1 enregistré dans le repertoire: %2. Project %1 registered in the directory: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. The file you try to open does not seem readable and can not be opened. Please check the file permissions. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. The project you try to open does not seem writable. It will be opened read-only. - + en utilisant des onglets using tabs - + en utilisant des fenêtres using windows - + Afficher les projets Display projects - + Propriétés du projet Project properties - + Nettoyer le projet Clean project - - + + Échec de l'ouverture du projet message box title Unable to open project - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content The file %1 does not appear to be a QElectroTech project file. Thus it cannot be opened. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Undo - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Click an action to get back in the changes you made to your diagram - + Orienter les textes Choose texts orientation - + Retrouver dans le panel Find in the panel - + Ajouter une image Add a picture - + Ajouter un sommaire Add a summary - + Zoom sur le contenu Zoom content - + Ferme l'application QElectroTech status bar tip Closes QElectroTech - + Annule l'action précédente status bar tip Undoes the previous action - + Restaure l'action annulée status bar tip Restores the undone action - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Puts selected elements into the clipboard - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copies selected elements - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Inverts selection of elements - + Retrouve l'élément sélectionné dans le panel status bar tip Find the selected item in the panel - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Reset the conductors path ignoring the user changes - + Création automatique de conducteur(s) Tool tip of auto conductor Automatic creation conductor (s) - + Projets dock title Projects - + Collections Collections - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Using the automatic creation of conductor (s) when possible - + Restaure le zoom par défaut status bar tip Restores default zoom level - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Shows the various opened projects in windows - + + Coller au point d'origine + Paste at the original position + + + + + Coller les informations de l'élément + Paste element information + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Places the clipboard's items at their original position and moves the cursor to that point + + + + Copie les informations renseignées de l'élément du presse-papier sur les éléments sélectionnés + status bar tip + Copies the filled-in information of the element on the clipboard to the selected elements + + + Dupli&quer &Duplicate - + Copie la sélection, décalée de l'espacement configuré status bar tip Copies the selection, offset by the configured spacing - + Configurer la duplication... Configure duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip Choose the spacing and direction used by Duplicate - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Automatic disconnection of conductor(s) - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Automatically cut existing conductors when placing an element - + Grille des textes Text grid - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. Snap grid for texts moved with the mouse. Hold Ctrl while moving to place freely. - + Désactivée Disabled - + Garder les en-têtes visibles Keep headers visible - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - Keeps the folio's column numbers and row letters visible at the edge of the view + Keeps the sheet's column numbers and row letters visible at the edge of the view - + Afficher les limites des cases Show cell boundaries - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - Draws the boundaries of the folio's columns and rows on the diagram, on screen only + Draws the boundaries of the sheet's columns and rows on the diagram, on screen only - + + Afficher + Show + + + + Textes des éléments + Element texts + + + + Textes des conducteurs + Conductor texts + + + + Champs de texte + Text fields + + + + Formes + Shapes + + + + Images + Pictures + + + + Tableaux + Tables + + + + Références croisées + Cross-references + + + + Voir Affichage > Afficher + See Display > Show + + + Ajouter une nomenclature Add a nomenclature - + Liste de câblage (base de données) Wiring list (database) - - - + + + Recharger les dessins des éléments Reload element drawings - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) Redraws each placed element from its current definition, without having to close and reopen the project (action cannot be undone) - + Exécuter un script... Run a script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) Runs a JavaScript script on the current project (see qet.* in the script for the available API) - + + Enregistrer une macro + Record a macro + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Records what you do on the project, for an AI assistant to make a script of; click again to stop + + + + Gérer les scripts… + Manage scripts… + + + + Écrire un script et en faire un bouton avec une icône + Write a script and make it a button with an icon + + + + Ouvrir le dossier des scripts + Open the scripts folder + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Every .js file in this folder that starts with a // ==QETScript== header becomes a button + + + Présente les différents projets ouverts des onglets status bar tip Shows the various opened projects in tabs - + Permet de sélectionner les éléments status bar tip Allows to select elements - + Pivoter le groupe Rotate the group - + + Miroir horizontal + Horizontal mirror + + + + Miroir vertical + Vertical mirror + + + + + Grouper + Group + + + + Dégrouper + Ungroup + + + Insérer le dernier élément Insert the last element - + Place à nouveau le dernier élément inséré status bar tip Places the last inserted element again - + Rechercher une commande… Search for a command… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip Type part of a command name and press Enter to launch it - + Insérer un élément… Insert an element… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip Opens the element picker at the cursor position - + Barre de raccourcis Shortcut bar - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip Opens, at the cursor position, the commands useful for the selection, and the element picker - + Répéter la dernière commande Repeat the last command - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - Relaunches the last drawing tool or element insertion (Enter on the folio) + Relaunches the last drawing tool or element insertion (Enter on the sheet) - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Rotates the selection as a group around its centre, rather than each element in place - + + Retourne les éléments sélectionnés de gauche à droite + status bar tip + Flips the selected elements from left to right + + + + Retourne les éléments sélectionnés de haut en bas + status bar tip + Flips the selected elements from top to bottom + + + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Groups the selected elements, texts, shapes and images: they are selected, moved and copied together + + + + Défait les groupes sélectionnés + status bar tip + Breaks up the selected groups + + + Aligner sur la grille Align to grid - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip Puts the selected elements, images and texts back on the grid - + + Aligner à gauche + Align left + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Aligns the left edges of the selected items + + + + Centrer horizontalement + Centre horizontally + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Aligns the selected items on one vertical line, by their origin point for elements + + + + Aligner à droite + Align right + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Aligns the right edges of the selected items + + + + Aligner en haut + Align top + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Aligns the top edges of the selected items + + + + Centrer verticalement + Centre vertically + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Aligns the selected items on one horizontal line, by their origin point for elements + + + + Aligner en bas + Align bottom + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Aligns the bottom edges of the selected items + + + Sélectionner tous les conducteurs Select all conductors - + Sélectionner tous les champs de texte Select all text fields - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - Selects all conductors on the folio, deselects the rest + Selects all conductors on the sheet, deselects the rest - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - Selects all text fields on the folio, deselects the rest + Selects all text fields on the sheet, deselects the rest - + + Centrer sur le curseur + Centre on the cursor + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Centres the sheet on the point under the mouse cursor, without changing the zoom + + + Ajouter un PDF Add a PDF - + + Ajouter un arc + Add an arc + + + Ajouter une courbe Add a curve - + + Ajouter un congé + Add a fillet + + + Ajouter un plan de bornes Add a terminal plan - + Ajoute un champ de texte sur le folio actuel - Adds a text field to the current folio + Adds a text field to the current sheet - + Ajoute une image sur le folio actuel - Add an image to the current folio + Add an image to the current sheet - + Ajoute une page PDF sur le folio actuel - Adds a PDF page to the current folio + Adds a PDF page to the current sheet - + Ajoute une ligne sur le folio actuel - Add a line to the current folio + Add a line to the current sheet - + Ajoute un rectangle sur le folio actuel - Adds a rectangle on the current folio + Adds a rectangle on the current sheet - + Ajoute une ellipse sur le folio actuel - Add an ellipse to the current folio + Add an ellipse to the current sheet - + + Ajoute un arc sur le folio actuel + Adds an arc on the current sheet + + + Ajoute une polyligne sur le folio actuel - Adds a polyline to the current folio + Adds a polyline to the current sheet - + Ajoute une courbe de Bézier sur le folio actuel - Adds a Bézier curve to the current folio + Adds a Bézier curve to the current sheet - + + Arrondit le coin entre deux lignes du folio actuel + Rounds the corner between two lines of the current sheet + + + Ajoute un plan de bornier sur le folio actuel - Adds a terminal plan to the current folio + Adds a terminal plan to the current sheet - + Atteindre un élément Navigate to an element - + Recherche et sélectionne rapidement un élément du folio status bar tip - Quickly search for and select an element in the folio + Quickly search for and select an element in the sheet - + + Ajouter Add - + + Scripts + toolbar title + Scripts + + + A&jouter &Add - + + Sélection + Selection + + + Aligner Align - + Lignes et colonnes Rows and columns - + + Profondeur + Depth + + + + + Scripts + Scripts + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech project(*.qet);;XML Files (*.xml);;All files (*) - - + + Impossible d'ouvrir le fichier message box title Unable to open file - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. It appears the %1 file which you are trying to open does not exist or does not exist anymore. - + Ouverture du projet en lecture seule message box title Opening the file read-only - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9243,7 +11504,7 @@ Hold Ctrl while moving to place freely. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9252,38 +11513,82 @@ Hold Ctrl while moving to place freely. - + Polices du projet message box title Project fonts - + + Folio %1 : %2 + Sheet %1: %2 + + + + Conducteurs non chargés + message box title + Conductors not loaded + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n conductor could not be joined to its terminals and was not loaded. The element's definition in the project was probably replaced by another one with different terminals. + +If you save the project, this conductor will disappear from the file. Close it without saving to keep the file as it is. + %n conductors could not be joined to their terminals and were not loaded. The element's definition in the project was probably replaced by another one with different terminals. + +If you save the project, these conductors will disappear from the file. Close it without saving to keep the file as it is. + + + + Suppression de borne impossible Unable to delete the terminal - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer The deletion cannot be performed because the selection contains one or more terminals that are bridged and/or belong to a multi-level terminal. Unbridge and/or remove the levels from the affected terminals so that they can be deleted - + %n objet(s) remis sur la grille %n item put back on the grid %n items put back on the grid + + + %n objet(s) aligné(s) + + %n item aligned + %n items aligned + + - + La sélection est déjà sur la grille The selection is already on the grid + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Select at least two unlocked elements, images, texts, shapes or groups + + + + La sélection est déjà alignée, à la grille près + The selection is already aligned, to the nearest grid step + - + (%n objet(s) verrouillé(s) laissé(s) en place) (%n locked object left in place) @@ -9291,100 +11596,100 @@ Unbridge and/or remove the levels from the affected terminals so that they can b - + Éditer l'élement edit element Edit the element - + Éditer le champ de texte edit text field Edit the text field - + Éditer l'image edit image Edit the image - + Éditer le conducteur edit conductor Edit conductor - + Éditer l'objet sélectionné edit selected item Edit the selected object - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content An error occurred while opening file %1. - + Active le projet « %1 » Activates the project « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - Are you sure you want to delete this folio? + Are you sure you want to delete this sheet? - + Supprimer les folios - Delete the folios + Delete the sheets - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - Are you sure you want to delete the selected %1 folios ? + Are you sure you want to delete the selected %1 sheets ? - + Supprimer %1 folios - Delete %1 folios + Delete %1 sheets - - - - - - - + + + + + + + Déplacer les folios - Move the folios + Move the sheets - + Erreur message box title Error - + Répéter : insérer « %1 » Repeat: insert "%1" - + Répéter : %1 Repeat: %1 - + folio %1 - folio %1 + sheet %1 - + %n élément(s) redessiné(s). %n element redrawn. @@ -9392,7 +11697,7 @@ Unbridge and/or remove the levels from the affected terminals so that they can b - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. %n element for which no definition could be found or which were illegible: their current design has been retained. @@ -9400,7 +11705,7 @@ Unbridge and/or remove the levels from the affected terminals so that they can b - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). %n element not redrawn: its size, grip point or terminals have changed (a terminal was added, removed or moved). @@ -9408,18 +11713,18 @@ Unbridge and/or remove the levels from the affected terminals so that they can b - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. To update them, they must be deleted then reinserted. Warning: this operation removes the conductors already connected to these elements, which will need to be redrawn. - - + + Exécuter un script Run a script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9432,46 +11737,152 @@ A script runs with your permissions: it can read and modify the open project and Enable scripts? This setting can be changed in Configure QElectroTech > General > Projects. - + + Retenu après un redémarrage + Remembered after a restart + + + Scripts JavaScript (*.js);;Tous les fichiers (*) JavaScript scripts (*.js);;All files (*) - - + + Ignoré : %1 + Ignored: %1 + + + + + Arrêter + Stop + + + + Arrêter l'enregistrement de la macro + Stop recording the macro + + + + ● Enregistrement : %n étape(s) + + ● Recording: %n step + ● Recording: %n steps + + + + + Macro enregistrée + Macro recorded + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + “%1”: %n step. + +To make a script of it, ask your AI assistant: the button below copies the request, just paste it into its window. + “%1”: %n steps. + +To make a script of it, ask your AI assistant: the button below copies the request, just paste it into its window. + + + + + &Copier la demande pour l'assistant + &Copy the request for the assistant + + + + &Ouvrir le dossier + &Open the folder + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Request copied: paste it into the assistant's window + + + + Couper la connexion de l'assistant pour le reste de la session + Close the assistant's connection for the rest of the session + + + + Mode direct : assistant connecté + Live mode: assistant connected + + + + Mode direct : en attente d'un assistant + Live mode: waiting for an assistant + + + + + Assistant + Assistant + + + + Demander avant d'exécuter un script écrit par l'assistant + Ask before running a script the assistant wrote + + + Pour cette session seulement : chaque démarrage redemande + For this session only: every start asks again + + + + Mode direct : %1 %2 à %3 + Live mode: %1 %2 at %3 + + + + %n type(s) d'objets masqué(s) + + %n kind of item hidden + %n kinds of items hidden + + + + + Textes %1 Texts %1 - + Dispose les fenêtres en mosaïque status bar tip Arranges windows in a tile pattern - + Dispose les fenêtres en cascade status bar tip Arranges windows in a cascade pattern - + Projet suivant Next project - + Projet précédent Previous project - + Active le projet suivant status bar tip Activates the next project - + Active le projet précédent status bar tip Activates the previous project @@ -9480,27 +11891,27 @@ Enable scripts? This setting can be changed in Configure QElectroTech > Gener QETElementEditor - + &Nouveau &New - + &Ouvrir &Open - + &Enregistrer &Save - + Enregistrer sous Save as - + Tout sélectionner Select All @@ -9510,334 +11921,334 @@ Enable scripts? This setting can be changed in Configure QElectroTech > Gener QElectroTech - Element Editor - + &Aide &Help - + Annulations Undo - + Parties Parts - + Informations Informations - + Outils Tools - + Affichage Display - + Élément Element - + Annulation Cancellation - + Exporter en SVG Export as SVG - + &Fermer cet éditeur &Close this editor - + Fermer cet éditeur Close this editor - + Désélectionner tout Select none - + C&oller dans la zone &Paste in the area - + Un fichier A file - + Un élément An element - + Inverser la sélection Invert selection - + &Supprimer &Delete - + À &propos de QElectroTech A&bout QElectroTech - + Affiche des informations sur QElectroTech Displays information about QElectroTech - + Manuel en ligne Online manual - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Launches the default browser to the online manual QElectroTech - + Chaine Youtube Youtube channel - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Launches the default browser on the Youtube channel of QElectroTech - + Soutenir le projet par un don Support the project with a donation - + Soutenir le projet QElectroTech par un don Support the QElectroTech project with a donation - + À propos de &Qt About &Qt - + Affiche des informations sur la bibliothèque Qt Displays information about Qt library - + Rotation Rotation - + Fine-Rotation Fine-Rotation - + Mirror Mirror - + Flip Flip - + Importer un dxf Import a dxf - + importer un élément à redimensionner Import an element to resize - + Ajouter une ligne Add a line - + Ajouter une ellipse Add an ellipse - + Ajouter un polygone Add a polygon - + Ajouter du texte Add text - + Ajouter un arc de cercle Add an arc - + Ajouter une borne Add a terminal - + Annuler Undo - + Refaire Redo - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Without terminal, the element can not be connected to other elements via conductors. - + Aucune modification No modification - + Recharger Reload - + Zoom avant Zoom In - + Zoom arrière Zoom Out - + Zoom adapté Fit in view - + Pas de zoom Reset zoom - + &Ouvrir depuis un fichier Open from &file - + Enregistrer dans un fichier Save to a file - + Éditer les informations sur l'auteur Edit author information - + Parties toolbar title Parts - + Profondeur toolbar title Depth - + Éditer le nom et les traductions de l'élément Edit name and information of the element - + Éditer les propriétés de l'élément Edit element properties - + Ajouter un champ texte dynamique Add a dynamic text field - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Double-click to finish the shape, Right click to cancel the last point - + &Fichier &File - + &Édition &Edit - + Afficha&ge Displ&ay - + Coller depuis... Paste from... - + [Modifié] window title tag [Changed] - + [lecture seule] window title tag [Read only] - + Éditeur d'éléments status bar message Elements Editor - - + + %n partie(s) sélectionnée(s). %n selected part. @@ -9845,29 +12256,29 @@ Enable scripts? This setting can be changed in Configure QElectroTech > Gener - + Trop de primitives, liste non générée: %1 Too many primitives, list not generated: %1 - + Absence de borne warning title Missing terminal - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - <br><b>Error</b>:<br>Folio references must have a single terminal.<br><b>Solution</b>:<br>Check that the element has only one terminal + <br><b>Error</b>:<br>Sheet references must have a single terminal.<br><b>Solution</b>:<br>Check that the element has only one terminal - + La vérification de cet élément a généré message box content The verification of this element generated - + %n erreur(s) errors @@ -9876,32 +12287,32 @@ Enable scripts? This setting can be changed in Configure QElectroTech > Gener - + et and - + Erreurs Errors - + Absence de borne Missing terminal - + Ajouter un texte d'élément non éditable dans les schémas Add non-editable element text in diagrams - + Ajouter un texte d'élément pouvant être édité dans les schémas Add element text that can be edited in diagrams - + %n avertissement(s) warnings @@ -9910,288 +12321,350 @@ Enable scripts? This setting can be changed in Configure QElectroTech > Gener - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Le fichier %1 n'existe pas. message box content The file %1 does not exist. - + Afficher menu entry Display - - + + Impossible d'ouvrir le fichier %1. message box content Unable to open the file %1. - - + + Ce fichier n'est pas un document XML valide message box content This file is not a valid XML document - - + + Erreur toolbar title Error - - + + Édition en lecture seule message box title Read only edition - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content You are not allowed to modify this element. Thus it will be edited read-only. - - + + Erreur message box title Error - + Impossible d'écrire dans ce fichier message box content Unable to write to this file - + Impossible d'enregistrer l'élément message box content Unable to save the element - + Nombre de bornes incorrect Incorrect number of terminals - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Error</b>:<br>Conductor definitions can only have one terminal.<br><b>Solution</b>:<br>Verify that the element has only one terminal - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + Duplicate terminal names + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Error</b>:<br>Several terminals have the same name: %1.<br><b>Solution</b>:<br>Give each terminal a unique name, for example N.1 and N.2. The terminals concerned are selected. + + + + Bornes sans nom + Terminals without a name + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n terminal without a name. Without unique terminal names, the wiring list (what connects to what) cannot name each terminal, so it cannot be used to wire the cabinet in the workshop. + <br>%n terminals without a name. Without unique terminal names, the wiring list (what connects to what) cannot name each terminal, so it cannot be used to wire the cabinet in the workshop. + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Element editors - + + Mettre l'élément à l'échelle... + Scale the element... + + + + Afficher le cadre de fond + Show the background frame + + + + Taille du cadre de fond... + Background frame size... + + + + Taille du cadre de fond + Background frame size + + + + + px + px + + + + Largeur + Width + + + + Hauteur + Height + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Export as SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG SVG image (*.svg) - + Échec de l'export Export failed - + Impossible d'écrire dans le fichier « %1 ». Unable to write to the file « %1 ». - + Avertissement Warning - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Importing a large dxf can take time please wait while importing... - + Importer un élément à redimensionner Import an element to resize - + Éléments QElectroTech (*.elmt) QElectroTech elements (*.elmt) - + Impossible d'ouvrir le fichier message box title Unable to open file - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. It appears the %1 file which you are trying to open does not exist or does not exist anymore. - - - + + + Echec de l'enregistrement Registration failed - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides The recording failed, the conditions are not valid - + Ouvrir un fichier dialog title Open a file - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech elements (*.elmt);;XML files (*.xml);;All files (*) - + Recharger l'élément dialog title Reload element - + Avertissements Warnings - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content This element has been modified since last save. If you reload it, these changes will be lost. Do you really want to reload this element? - + Enregistrer sous dialog title Save as - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elements (*.elmt) - + Enregistrer l'élément en cours ? dialog title Save current element? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Do you wish to save the element %1? - - - - + + + + Élément inexistant. message box title Non-existent element. - - + + L'élément n'existe pas. message box content The element does not exist. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content The chosen virtual path does not match an element. - + Co&uper Cu&t - + Cop&ier &Copy - + C&oller &Paste - + Ajouter un rectangle Add a rectangle @@ -10199,137 +12672,194 @@ the conditions are not valid QETMainWindow - + &Configurer QElectroTech &Configure QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Allows to specify various parameters for QElectroTech - + À &propos de QElectroTech A&bout QElectroTech - + Affiche des informations sur QElectroTech status bar tip Displays information about QElectroTech - + Manuel en ligne Online manual - + Chaine Youtube Youtube channel - - + + Télécharger une nouvelle version (dev) Download a new version (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Launches the default browser to the online manual QElectroTech - - + + Enregistrer la configuration sous... + Save settings as... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Saves QElectroTech's settings to a file + + + + + + + + + + + + + + + + + Général General - + + &Personnaliser... + &Customize... + + + + Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre + status bar tip + Toolbars, shortcut bar, keyboard and mouse gestures, in one window + + + + Charger une configuration... + Load settings... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Replaces QElectroTech's settings with those of a file, then closes QElectroTech + + + + Connecter un assistant IA... + Connect an AI assistant... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Shows the setup that lets an AI assistant use QElectroTech + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Launches the default browser on the Youtube channel of QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Launches the default browser to the online repository Nightly QElectroTech - + Soutenir le projet par un don Support the project with a donation - + Soutenir le projet QElectroTech par un don status bar tip Support the QElectroTech project with a donation - + À propos de &Qt About &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Displays information about Qt library - + Enregistrer un rapport de diagnostic... Save a diagnostic report... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Generates a report containing the latest log entries, to be included in a bug report - + &Configuration window menu &Settings - + &Aide window menu &Help - + Sortir du &mode plein écran Leave F&ullScreen Mode - + Affiche QElectroTech en mode fenêtré status bar tip Displays QElectroTech in windowed mode - + Passer en &mode plein écran F&ullScreen Mode - + Affiche QElectroTech en mode plein écran status bar tip Displays QElectroTech in full screen mode - + Afficher menu entry Display @@ -10338,58 +12868,58 @@ the conditions are not valid QETProject - + Avertissement message box title Warning - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Project « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Project %1 - + Projet sans titre displayed title for a project-less, file-less project Untitled project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [read-only] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modified] - + Renumber elements Renumber elements - + Renumber elements (%1) Renumber elements (%1) - + Système de contacts modifié Modified contact system - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10400,13 +12930,13 @@ Existing slave elements will not be automatically assigned. You will need to lin Do you wish to continue? - + Une erreur s'est produite durant l'intégration du modèle. error message An error occurred during the template integration. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10415,7 +12945,7 @@ Vous utilisez actuellement QElectroTech en version %2 You are currently using QElectroTech in version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10424,32 +12954,32 @@ Que désirez vous faire ? What do you wish to do ? - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. The project you are trying to open is partially compatible with your version %1 of QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? In order to make it fully compatible please open this same project with version 0.8, or 0.80 of QElectroTech and save the project and open it again with this version. What do you wish to do ? - + Avertissement message box title Warning - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - <p align="center"><b>Opening the project ...</b><br/>Creation of folios</p> + <p align="center"><b>Opening the project ...</b><br/>Creation of sheets</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Opening the project ...</b><br/>Setting up cross references</p> @@ -10475,170 +13005,168 @@ What do you wish to do ? QETTitleBlockTemplateEditor - + Enregistrer le modèle en cours ? dialog title Save current template? - + Voulez-vous enregistrer le modèle %1 ? dialog content - %1 is a title block template name Do you wish to save the template %1? - + nouveau_modele template name suggestion when duplicating the default one new_template - + Dupliquer un modèle de cartouche input dialog title Duplicate a title block template - + Pour dupliquer ce modèle, entrez le nom voulu pour sa copie input dialog text In order to duplicate this template, please enter a name for its copy - + &Nouveau menu entry &New - + &Ouvrir menu entry &Open - + Ouvrir depuis un fichier menu entry Open from a file - + &Enregistrer menu entry &Save - + Enregistrer sous menu entry Save as - + Enregistrer vers un fichier menu entry Save to a file - + &Quitter menu entry &Quit - + Gérer les logos menu entry Manage logos - + Zoom avant menu entry Zoom In - + Zoom arrière menu entry Zoom out - + Zoom adapté menu entry Fit in view - + Pas de zoom menu entry Reset zoom - + Enregistrer sous dialog title Save as - + Modèles de cartouches QElectroTech (*%1) filetypes allowed when saving a title block template file - %1 is the .titleblock extension QElectroTech title block templates (*%1) - + &Fusionner les cellules menu entry &Merge cells - + Co&uper menu entry Cu&t - + Cop&ier menu entry &Copy - + C&oller menu entry &Paste - + Éditer les informations complémentaires menu entry Edit extra information - + Ajouter une &ligne menu entry Add a &row - + Ajouter une &colonne menu entry Add a &column - + &Séparer les cellules menu entry &Split cells - - @@ -10656,144 +13184,146 @@ What do you wish to do ? + + Éditeur de cartouche Title block template editors - + &Fichier menu title &File - + &Édition menu title &Edit - + Afficha&ge menu title Displ&ay - + Outils toolbar title Tools - + Édition toolbar title Edit - + Affichage toolbar title Display - + Aucune modification label displayed in the undo list when empty No modification - + Annulations dock title Undo - + Propriétés de la cellule dock title Cell properties - + [Modifié] window title tag [Changed] - + [Lecture seule] window title tag [Read only] - + %1 %2 part of the window title - %1 is the filepath or template name, %2 is the [Changed] or [Read only] tag %1 %2 - + QElectroTech - Éditeur de modèle de cartouche titleblock template editor: base window title QElectroTech - Title block template editor - + %1 - %2 window title: %1 is the base window title, %2 is a template name %1 - %2 - - + + Erreur message box title Error - + Impossible d'enregistrer le modèle « %1 ». message box content - %1 is a title block template name Unable to save the template ‘%1’. - + Ouvrir un modèle File > open dialog window title Open a title block template - + Ouvrir un fichier dialog title Open a file - + Modèles de cartouches QElectroTech (*%1);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening a title block template file - %1 is the .titleblock extension QElectroTech title block templates (*%1);;XML files (*.xml);; All files (*) - + Enregistrer le modèle sous dialog window title Save template as - + Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name The name ‘%1’ is invalid: it must not contain the following characters: \ / : * ? " < > | - + Éditer les informations complémentaires window title Edit extra information - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs du cartouche, sa licence, ou tout autre renseignement que vous jugerez utile. You can use this field to specify the authors of this template, its license, or any other information you may find useful. @@ -10818,23 +13348,23 @@ What do you wish to do ? QObject - + Exporter vers le presse-papier Export to clipboard - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license could not be found - however, you know it by heart, don't you? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? The text file containing the GNU/GPL license exists but could not be opened - however, you know it by heart, don't you? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Warning: the element has been saved with a more recent version of QElectroTech. @@ -10854,44 +13384,44 @@ What do you wish to do ? a graphic element - + supprimer %1 undo caption - %1 is a sentence listing the removed content delete %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste paste %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut cut %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content move %1 - + modifier le texte undo caption modify text - + modifier un conducteur undo caption modify a conductor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reset %1 @@ -10903,10 +13433,10 @@ What do you wish to do ? modify the title block - + modifier les dimensions du folio undo caption - change the folio size + change the sheet size @@ -10915,83 +13445,89 @@ What do you wish to do ? deletion - + déplacement undo caption move - + modification noms undo caption modify names - + amener au premier plan undo caption bring forward - + rapprocher undo caption raise - + éloigner undo caption lower - + envoyer au fond undo caption Send to back - + modification informations complementaires undo caption Modification complementary information - + redimensionnement %1 undo caption -- %1 is the resized primitive type name scale %1 - + redimensionnement de %1 primitives undo caption -- %1 always > 1 scale %1primitives - + Modifier les propriétées de l'élément Modify item properties - - + + Pivoter la selection undo caption Rotate the selection - + Miroir de sélection undo caption Mirror selection - + Retourner la sélection undo caption Flip selection + + + mise à l'échelle de l'élément + undo caption + scale the element + arc @@ -11098,7 +13634,7 @@ What do you wish to do ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11107,7 +13643,7 @@ What do you wish to do ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11116,7 +13652,7 @@ What do you wish to do ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11125,7 +13661,7 @@ What do you wish to do ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11134,7 +13670,7 @@ What do you wish to do ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11143,7 +13679,7 @@ What do you wish to do ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11152,7 +13688,7 @@ What do you wish to do ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11161,7 +13697,7 @@ What do you wish to do ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11170,75 +13706,75 @@ What do you wish to do ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Unable to open file %1 with write access, encountered error %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file An error occurred while writing file %1, error %2 encountered. - + Amener au premier plan Bring to front - + Rapprocher Raise - + Éloigner Lower - + Envoyer au fond Send backward - + Ramène la ou les sélections au premier plan Bring the selection (s) to front - + Rapproche la ou les sélections Approach the selection (s) - + Éloigne la ou les sélections Move away the selection (s) - + Envoie en arrière plan la ou les sélections Send in the backward the selection (s) - - - - + + + + Profondeur Depth - + Borne tooltip Terminal - + couper des parties undo caption cut parts @@ -11250,27 +13786,27 @@ What do you wish to do ? rectangle - + Folio sans titre - Untitled folio + Untitled sheet - + schema diagram - + Conserver les proportions Keep aspect ratio - + Réinitialiser les dimensions Reset size - + Aperçu Preview @@ -11425,6 +13961,7 @@ What do you wish to do ? + Titre Title @@ -11501,12 +14038,13 @@ What do you wish to do ? Terminal - + Texte Text + Modifier les informations de l'élément : %1 Edit information of the element : %1 @@ -11588,30 +14126,30 @@ What do you wish to do ? Position du folio - Folio position + Sheet position Numéro de folio - Folio number + Sheet number - + Collection QET QET Collection - + Collection Company Company collection - + Collection utilisateur User Collection - + Macros Macros @@ -11620,12 +14158,12 @@ What do you wish to do ? Macros - + Collection inconnue Unknown collection - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. The file "%1" is missing or unreadable: the translated name of this folder could not be read, so its folder name is displayed instead. @@ -11640,8 +14178,13 @@ the translated name of this folder could not be read, so its folder name is disp Collection Collection + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + This group cannot be moved: the position of one of its elements is locked. + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11713,7 +14256,7 @@ the translated name of this folder could not be read, so its folder name is disp %1 groups of texts - + %n texte(s) %n text @@ -11721,13 +14264,13 @@ the translated name of this folder could not be read, so its folder name is disp - - + + Pivoter %1 Rotate %1 - + Orienter les textes sélectionnés window title Choose orientation for selected texts @@ -11776,38 +14319,38 @@ Do you want to replace it ? Import the text configuration : %1 - + %p% effectué (%v sur %m) %p% done (%v on %m) - - + + chargement %p% (%v sur %m) load %p% (%v on %m) Chercher/remplacer les propriétés de folio - Find / replace folio properties + Find / replace sheet properties - + Chercher/remplacer les propriétés d'éléments. Find / replace element properties. - + Chercher/remplacer les propriétés de conducteurs. Search / replace conductors properties. - + Rechercher / remplacer avancé Search / replace advanced - + Chercher/remplacer des textes independants Search / replace independent texts @@ -11845,17 +14388,17 @@ Do you want to replace it ? Nombre de folio - Number of folios + Number of sheets Numéro du folio précédent - Number of the previous folio + Number of the previous sheet Numéro du folio suivant - Number of the following folio + Number of the following sheet @@ -11904,45 +14447,45 @@ Do you want to replace it ? - - - + + + Type Type - - - + + + Adresse Address - - - - + + + + Commentaire Annotation - - - - + + + + Réf. croisée Cross-reference + + + + - - - - Fonction Function @@ -12272,27 +14815,27 @@ Do you want to replace it ? Saved file path - + Création de conducteurs Creation of conductors - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Error launching qet_tb_generator plugin @@ -12507,12 +15050,12 @@ Do you want to replace it ? Change the color of a terminal bridge - + Ouvrir un element Open an item - + Importer un fichier dxf Import a dxf file @@ -12522,15 +15065,15 @@ Do you want to replace it ? Default layout - - + - - - - - - + + + + + + + this is an error in the code this is an error in the code @@ -12616,7 +15159,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Please download it by following the link and unzip it in the installation folder - + Automatic terminal numbering Automatic terminal numbering @@ -12630,19 +15173,19 @@ Please download it by following the link and unzip it in the installation folder Ajouter un folio undo command text - Add a folio + Add a sheet Déplacer un folio undo command text - Moving a folio + Moving a sheet Supprimer un folio undo command text - Delete a folio + Delete a sheet @@ -12699,7 +15242,7 @@ Please download it by following the link and unzip it in the installation folder - + %n groupe(s) de textes %n group of texts @@ -12708,8 +15251,8 @@ Please download it by following the link and unzip it in the installation folder - - + + Déplacer %1 Move %1 @@ -12838,98 +15381,111 @@ Please download it by following the link and unzip it in the installation folder - + Aligner %n objet(s) sur la grille Align %n object to the grid Align %n objects to the grid + + + Aligner %n objet(s) + + Align %n item + Align %n items + + - + Ajouter %1 insert %1 - + Modifier les propriétés du conducteur Edit the conductor properties - + Modifier un texte Edit a text - + Modifier la couleur d'un texte Change the color of a text - + Pivoter un texte Rotate a text - + Modifier le trait d'une forme Edit line of a form - + Modifier le remplissage d'une forme Edit filling a form - + Pivoter une forme Rotate a shape - - + + Modifier la forme d'%1 Change the shape of %1 - + Fermer/Ouvrir %1 Close/Open %1 - + Redimensionner une image Resize an image - + Pivoter une image Rotate an image - + Modifier un texte d'élément Edit element text - + Numéroter automatiquement un élément Automatically number an element - + + Renuméroter les éléments (%1) + Renumber elements (%1) + + + Rechercher et remplacer Search and replace - - - + + + Script Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12941,6 +15497,73 @@ A script has access to the entire project and can write files, so this feature i To enable it: Configure QElectroTech > General > Projects, or set the QET_ENABLE_SCRIPTING=1 environment variable for headless execution (CI, batch processing). + + + Assistant : %1 + Assistant: %1 + + + + Script : %1 + Script: %1 + + + + Grouper %n objet(s) + + Group %n item + Group %n items + + + + + Dégrouper %n objet(s) + + Ungroup %n item + Ungroup %n items + + + + + (Aucune action) + spacemouse config: unbound button + (No action) + + + + Figer le nom de l'élément + Freeze element name + + + + Dégeler le nom de l'élément + Unfreeze element name + + + + Folio + Sheet + + + + Grouper un ensemble de bornes + Group a set of terminals + + + + Dégrouper un ensemble de bornes + Ungroup a set of terminals + + + + Miroir horizontal + Horizontal mirror + + + + Miroir vertical + Vertical mirror + QTextOrientationWidget @@ -12960,371 +15583,439 @@ To enable it: Configure QElectroTech > General > Projects, or set the QET_ QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. The information to be displayed is greater than the maximum quantity that can be displayed by the tables. Please add a new table or adjust the existing tables to show all information. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. The information to be displayed is greater than the maximum quantity that can be displayed by the table. Please add a new table or adjust the existing table to display all information. - + Limitation de tableau Table limitation - + Modifier la géometrie d'un tableau Modify the geometry of a table + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + syntax error at line %1, column %2: +%3 + + + + Aucun répertoire de collection n'a été donné. + No collection folder was given. + + + + l'élément racine <%1> n'est pas <labels>. + the root element <%1> is not <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + the file could not be opened: %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Prefix (label) file of the user collection. +Each folder is given a prefix: the symbols of a folder take that +folder's prefix, unless they carry a label of their own. A folder +without a prefix takes its parent folder's. +QElectroTech creates and changes this file (Settings: +Configure prefixes…), but it can still be edited by hand. + + + + Aucun fichier de préfixes à enregistrer. + No prefix file to save. + + + + Le répertoire %1 n'a pas pu être créé. + The folder %1 could not be created. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + The file %1 could not be copied beside itself before being replaced: +nothing has been changed. + + QetShapeItem - + une shape an shape - + une ligne a line - - + + Ajouter un point Add a point - + Supprimer ce point Delete this point - + Déformer une courbe Deform a curve - + Nœud le plus proche Nearest node - + Lisse Smooth - + Symétrique Symmetric - + Anguleux Corner - + Supprimer le nœud le plus proche Delete the nearest node - + Convertir en polyligne Convert to polyline - + Convertir en courbe de Bézier Convert to Bézier curve - + Miroir horizontal Horizontal mirror - + Miroir vertical Vertical mirror - + Taille Size - + Coins arrondis Rounded corners - + Édition des nœuds Node editing - + Rotation/Inclinaison Rotation/Skew - + Cliquer : mode %1 Click: mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Drag a corner/edge: resize (Ctrl = from center, Shift = proportions, Alt = detach into a polyline) - + ; point turquoise : arc ; turquoise point: arc - + Glisser une extrémité : la déplacer Drag an endpoint: move it - + Glisser un point : le déplacer Drag a point: move it - + Glisser le point violet : arrondir les coins Drag the purple point: round the corners - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Drag a handle or the curve: deform (Alt = break the tangent); Alt+drag a corner point: create handles; right click: nearest node menu - + une extrémité an endpoint - + un coin a corner - + un point a point - + Glisser %1 : rotation (Maj = 15°) Drag %1: rotation (Shift = 15°) - + ; un bord : inclinaison ; an edge: skew - + ; point rouge : glisser pour repositionner le centre de rotation ; red point: drag to reposition the rotation center - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Ctrl while dragging = free position, no grid snapping) - + — Cliquer : mode %1 — Click: mode %1 - + Glisser : déplacer ce point Drag: move this point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Drag: resize (Ctrl = from center + free position, Shift = proportions - + , Alt = détacher en polyligne , Alt = detach into a polyline - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Drag: rotation (Ctrl = free position, Shift = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Drag: skew (Ctrl = free position, Shift = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Drag: reposition the rotation center (Ctrl = free position) - + Glisser : arrondir les coins (Ctrl = position libre) Drag: round the corners (Ctrl = free position) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Drag: adjust the arc (Ctrl = free position, Shift = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Drag: deepen or flatten the arc, its ends stay in place (Ctrl = free position) + + + Glisser : déplacer le point (Ctrl = position libre Drag: move the point (Ctrl = free position - + , Alt = créer des poignées , Alt = create handles - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Drag: deform the curve (Ctrl = free position, Alt = break the tangent) - + Ajouter un point à un polygone Add a point to a polygon - + Supprimer un point d'un polygone Delete a point from a polygon - + Ajouter un point à une courbe Add a point to a curve - + Supprimer un point d'une courbe Delete a point from a curve - + Convertir %1 en courbe de Bézier Convert %1 to a Bézier curve - + Convertir %1 en polyligne Convert %1 to a polyline - + Miroir impossible : inclinaison trop extrême pour cette forme Mirror not possible: skew too extreme for this shape - + Miroir horizontal de %1 Horizontal mirror of %1 - + Miroir vertical de %1 Vertical mirror of %1 - + Modifier le type d'un nœud Change the type of a node - + Redimensionner %1 Resize %1 - + Faire pivoter %1 Rotate %1 - + Incliner %1 Skew %1 - + Deplacer le centre de rotation Move the rotation center - + Arrondir les coins d'%1 Round the corners of %1 - + Modifier l'angle d'un arc Change the angle of an arc - - + + Modifier la courbure d'un arc + Change the curve of an arc + + + + Modifier la forme d'%1 Change the shape of %1 - + Modifier la courbure d'%1 Change the curvature of %1 - + Modifier %1 Edit %1 - + un rectangle rectangle - + une éllipse an ellipse - + un arc an arc - + une polyligne polyline - + une courbe a curve @@ -13406,7 +16097,7 @@ Please add a new table or adjust the existing table to display all information.< TextLabel - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? The element « %1 » already exists. What do you wish to do? @@ -13414,31 +16105,75 @@ Please add a new table or adjust the existing table to display all information.< RenumberElementsDialog - + Renumber element(s) Renumber element(s) - + Scope Scope - + All schemes All schemes - + One scheme One scheme - + Scheme: Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + %n element keeps the name it has. + %n elements keep the name they have. + + + + + %n élément(s) restent comme ils sont. + + %n element stays as it is. + %n elements stay as they are. + + + + + Folio + Sheet + + + + Élément + Element + + + + Nom actuel + Current name + + + + Nouveau nom + New name + + + + (figé) + (frozen) + + ReplaceConductorDialog @@ -13462,9 +16197,9 @@ Please add a new table or adjust the existing table to display all information.< - - - + + + Ne pas modifier Do not change @@ -13584,97 +16319,97 @@ Please add a new table or adjust the existing table to display all information.< phase - - + + Nombre de phase Number of phase - + Neutre Neutral - + neutre neutral - + Terre Ground - + terre ground - + TextLabel TextLabel - + PushButton PushButton - + Apparence Appearance - + Taille : Size : - - + + Couleur : Color: - + Style : Style: - - + + Modifier Edit - + Couleur secondaire : Secondary color : - + Taille de trait : Line size : - + px px - + Trait plein conductor style: solid line Solid line - + Trait en pointillés conductor style: dashed line Dashed line - + Traits et points conductor style: dashed and dotted line Dots and dashes @@ -13683,7 +16418,7 @@ Please add a new table or adjust the existing table to display all information.< ReplaceElementDialog - + Ne pas modifier Do not change @@ -13725,10 +16460,10 @@ Please add a new table or adjust the existing table to display all information.< - - - - + + + + Ne pas modifier Do not change @@ -13765,7 +16500,7 @@ Please add a new table or adjust the existing table to display all information.< Folio : - Folio: + Sheet: @@ -13788,12 +16523,12 @@ Please add a new table or adjust the existing table to display all information.< Set to current date - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Available as% plant for title block templates</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13801,38 +16536,38 @@ Les variables suivantes sont utilisables : - %autonum : Folio Auto Numeration Available as % folio for titleblock models The following variables can be used: --%id: current number of folios in the project --%total: total number of folios in the project --%autonum: folio auto numbering +-%id: current number of sheets in the project +-%total: total number of sheets in the project +-%autonum: sheet auto numbering - + Disponible en tant que %locmach pour les modèles de cartouches Available as variable %locmach for title blocks template - + Titre : Title: - - - - - - - + + + + + + + Supprimer ce texte Delete this text - + Personnalisées Custom - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. You may define here your own name/value associations so the title block takes them into account. @@ -13849,7 +16584,7 @@ E.g. associating the name "volta" with the value "1745" will Label de report de folio - Folio reference label + Sheet reference label @@ -13861,16 +16596,238 @@ Créer votre propre texte en vous aidant des variables suivantes : %LM : la localisation %l : le numéro de ligne %c : le numéro de colonne - You can define a custom label for folio references. + You can define a custom label for sheet references. Create your own text using the following variables: -%f: the folio position in the project -%F: the folio number +%f: the sheet position in the project +%F: the sheet number %M: the installation %LM: the location %l: the row number %c: the column number + + ScaleElementDialog + + + Mettre l'élément à l'échelle + Scale the element + + + + Facteur : + Factor: + + + + Mettre aussi les textes à l'échelle + Also scale the texts + + + + %n borne(s) de cet élément ne sont pas sur la grille, et aucun facteur ne les y amène. + + %n terminal of this element is not on the grid, and no factor brings it there. + %n terminals of this element are not on the grid, and no factor brings them there. + + + + + %n borne(s) de cet élément ne sont pas sur la grille. Seuls les facteurs qui les y amènent sont proposés. + + %n terminal of this element is not on the grid. Only the factors that bring it there are offered. + %n terminals of this element are not on the grid. Only the factors that bring them there are offered. + + + + + Seuls les facteurs qui gardent les bornes sur la grille sont proposés. L'élément est mis à l'échelle autour de son point de saisie. + Only the factors that keep the terminals on the grid are offered. The element is scaled around its grab point. + + + + ScriptManagerDialog + + + + + Gérer les scripts + Manage scripts + + + + &Nouveau + &New + + + + Supp&rimer + &Delete + + + + Le texte du bouton + The button's text + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + empty: the name's initials; builtin:<name>: an icon of the theme + + + + Choisir une image (SVG ou PNG)… + Choose an image (SVG or PNG)… + + + + Toujours + Always + + + + Avec une sélection + With a selection + + + + Avec un conducteur sélectionné + With a conductor selected + + + + Nom : + Name: + + + + Icône : + Icon: + + + + Info-bulle : + Tooltip: + + + + Raccourci : + Shortcut: + + + + Actif : + Enabled: + + + + &Tester + &Test + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Saves, then runs the script on the current project (Ctrl+Z undoes the run) + + + + &Enregistrer + &Save + + + + Ouvrir le &dossier + Open the &folder + + + + &Fermer + &Close + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Script (the qet object; qet.currentFolio() is the sheet shown): + + + + Pas de bouton : %1 + No button: %1 + + + + Pas de bouton pour ce fichier : %1 + No button for this file: %1 + + + + Nouveau script + New script + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() is the sheet shown; one click is undone +// with a single Ctrl+Z. List of calls: qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Text", 40, 40); + + + + + Pas encore enregistré + Not saved yet + + + + Le script doit avoir un nom. + The script needs a name. + + + + Non enregistré : %1 + Not saved: %1 + + + + Impossible d'écrire %1 + Cannot write %1 + + + + Supprimer le script + Delete the script + + + + Supprimer « %1 » et son bouton ? + Delete “%1” and its button? + + + + Icône du script + Script icon + + + + Images (*.svg *.png) + Images (*.svg *.png) + + + + Impossible de copier %1 + Cannot copy %1 + + + + Le script affiché n'est pas enregistré. Enregistrer ? + The script shown is not saved. Save it? + + SearchAndReplaceWidget @@ -13884,44 +16841,44 @@ Create your own text using the following variables: Go to the next match - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Show advanced options</p></body></html> - + Aller à la correspondance précédente Go to previous match - + Quitter Quit - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Define properties to replace in elements</p></body></html> - + Champ texte de folio - Folio text field + Sheet text field - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Define properties to replace in conductors</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - <html><head/><body><p>Define properties to replace in folios</p></body></html> + <html><head/><body><p>Define properties to replace in sheets</p></body></html> - + Folio - Folio + Sheet @@ -13944,42 +16901,42 @@ Create your own text using the following variables: Case sensitive - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Replace the selected match</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Replace checked matches</p></body></html> - + avancé advanced - + Élément Element - + Conducteur Conductor - + Remplacer : Replace : - + Remplacer Replace - + Tout remplacer Replace all @@ -13989,105 +16946,105 @@ Create your own text using the following variables: Find : - + Actualiser Actualize - + Correspondance : Correspondence: - + Folios - Folios + Sheets - + Champs texte Text fields - + Eléments Elements - + Eléments simple Simple elements - + Eléments maître Master elements - + Eléments esclave Slave elements - + Eléments report de folio - Folio reference elements + Sheet reference elements - + Eléments bornier Terminal elements - + Sélectionner les éléments de ce folio - Select the elements of this folio + Select the elements of this sheet - + Sélectionner les conducteurs de ce folio - Select the conductors of this folio + Select the conductors of this sheet - + Sélectionner les textes de ce folio - Select the texts of this folio + Select the texts of this sheet - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [edited] - + Conducteurs Conductors - + Inconnue Unknown @@ -14100,17 +17057,17 @@ Create your own text using the following variables: Form - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Delete a variable numbering</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Add a variable numbering</p></body></html> - + Définition Definition @@ -14130,38 +17087,66 @@ Create your own text using the following variables: Delete numbering - Précédent - Previous + Previous - Suivant - Next + Next - + Type Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + For a number: the next number to be assigned. For text: the fixed text. + + + Valeur Value - + Incrémentation Incrementing - - Folio Autonumérotation - title window - Folio Auto Numbering + + Annuler + Cancel - + + Revenir à la définition enregistrée + Revert to the saved definition + + + + Monter cette variable + Move this variable up + + + + Descendre cette variable + Move this variable down + + + + Supprimer cette variable + Delete this variable + + + + Folio Autonumérotation + title window + Sheet Auto Numbering + + + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14175,12 +17160,12 @@ Si le chiffre défini dans le champ Valeur possède moins de digits que le type Le champ "Incrémentation" n'est pas utilisé. help dialog about the folio autonumerotation - This is where you can define how the new folios will be numbered. + This is where you can define how the new sheets will be numbered. -A numbering is composed of a minimum variable. -You can add or delete a dialing variable through the - and + buttons. A numbering variable includes: a type, a value and an increment. --the "Digit 1", "Digit 01" and "Digit 001" types represent a numeric type defined in the "Value" field, which increments each new folio by the value of the "Incrementation" field. +-the "Digit 1", "Digit 01" and "Digit 001" types represent a numeric type defined in the "Value" field, which increments each new sheet by the value of the "Incrementation" field. - "Digit 01" and "Digit 001", are respectively represented on the diagram by two and three digits minimum. If the digit defined in the Value field has fewer digits than the chosen type, it will be preceded by one or two 0s in order to respect its type. @@ -14189,7 +17174,7 @@ The "Incrementation" field is not used. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14220,20 +17205,20 @@ If the digit defined in the Value field has fewer digits than the chosen type, i -Type "Text", represents a fixed text. The "Incrementation" field is not used. --The "folio" type represents the number of the current folio. +-The "sheet" type represents the number of the current sheet. The other fields are not used. --The "Folio" type represents the name of the current folio. +-The "Sheet" type represents the name of the current sheet. The other fields are not used. - + Element Autonumérotation title window Element Auto Numbering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14264,14 +17249,24 @@ If the digit defined in the Value field has fewer digits than the chosen type, i -Type "Text", represents a fixed text. The "Incrementation" field is not used. --The "folio" type represents the number of the current folio. +-The "sheet" type represents the number of the current sheet. The other fields are not used. --The "Folio" type represents the name of the current folio. +-The "Sheet" type represents the name of the current sheet. The other fields are not used. - + + Nouvelle numérotation… + New numbering… + + + + Renommer la numérotation… + Rename numbering… + + + Conducteur Autonumérotation title window Numbering conductors @@ -14578,7 +17573,7 @@ The other fields are not used. Folio, rien de sélectionné - Folio, nothing selected + Sheet, nothing selected @@ -14594,52 +17589,90 @@ The other fields are not used. ShortcutsConfigPage - + Filtrer les raccourcis… Filter shortcuts… - + Tous all - + Attribués uniquement Awarded exclusively - + Non attribués uniquement Unallocated only - + Conflits uniquement Conflicts only - + + Toutes les catégories + All categories + + + + Appuyez sur une combinaison de touches pour voir quelle commande l'utilise + Press a key combination to see which command uses it + + + + Effacer la touche recherchée + Clear the searched key + + + + Rechercher par touche : + Search by key: + + + + Action Action - + + Raccourci Shortcut - + + + Menu + Menu + + + Tout réinitialiser Reset everything - + + Copier la liste + Copy list + + + + Copie les raccourcis affichés, à coller dans un tableur ou un document + Copies the shortcuts shown, to paste into a spreadsheet or a document + + + Réinitialiser ce raccourci Reset this shortcut - + %n action(s) %n action @@ -14647,17 +17680,117 @@ The other fields are not used. - + Ce raccourci est aussi utilisé par : %1 This shortcut is also used by : %1 - + + Catégorie + Category + + + Raccourcis configuration page title Shortcuts + + SpaceMouseConfigPage + + + Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) à une action de QElectroTech. Le numéro de bouton dépend de votre appareil et de son pilote -- reportez-vous à sa documentation, ou essayez successivement les valeurs à partir de 0. + spacemouse config page intro + Link a button number on your 3D mouse (SpaceMouse, SpacePilot...) to a QElectroTech action. The button number depends on your device and its driver -- see its documentation, or try the values one by one starting from 0. + + + + N° bouton + Button no. + + + + Action + Action + + + + Ajouter une association + Add a link + + + + Boutons + Buttons + + + + Les petits mouvements en dessous de ce seuil sont ignorés. Augmentez-le si la vue dérive quand vous ne touchez pas la souris. + Small movements below this threshold are ignored. Raise it if the view drifts when you are not touching the mouse. + + + + Pousser / tirer le capuchon + Push / pull the cap + + + + Tourner le capuchon + Twist the cap + + + + Inverser le déplacement horizontal + Reverse horizontal movement + + + + Inverser le déplacement vertical + Reverse vertical movement + + + + Inverser le zoom + Reverse zoom + + + + Vitesse de déplacement : + Pan speed: + + + + Vitesse du zoom : + Zoom speed: + + + + Zoomer en : + Zoom by: + + + + Zone morte : + Dead zone: + + + + Mouvement + Movement + + + + Supprimer cette association + Remove this link + + + + Souris 3D + configuration page title + 3D mouse + + StyleEditor @@ -16665,12 +19798,12 @@ The other fields are not used. Information to display - + Configuration Configuration - + Requête SQL : SQL request : @@ -16680,6 +19813,18 @@ The other fields are not used. Position + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + This terminal already has %n conductor, the project's limit. Add a terminal to connect one more conductor. + This terminal already has %n conductors, the project's limit. Add a terminal to connect one more conductor. + + + TerminalEditor @@ -16715,8 +19860,8 @@ The other fields are not used. - - + + T%1 T%1 @@ -16797,25 +19942,25 @@ The other fields are not used. Show/hide the label border - - + + Modifier la couleur du label Change the label colour - + Modifier l'étiquette du maître Edit the master label - - - + + + Modifier le nom de la borne Change the name of the terminal - + Modifier l'index de l'étiquette du maître Change the master label index @@ -17014,58 +20159,58 @@ The other fields are not used. Disposition - + Ponter les bornes Bridging the terminals - + Déponter les bornes Unbridge the terminals - + Propriétés Properties - + Nom : Name: - + Commentaire : Comment : - + Description Description - + Installation : Plant: - + Localisation : Location : - + Type : Type: - + Degrouper les bornes Ungroup the terminals - - + + Générique Generic @@ -17080,62 +20225,62 @@ The other fields are not used. Make the move - + Couleur pont : Bridge color : - + Fusible Fuse - + Sectionnable Sectionable - + Diode Diode - + Terre Ground - + Déplacer dans : Move to : - + Phase Phase - + Neutre Neutral - + Position automatique Automatic position - + Étage : Stage : - + Grouper les bornes Group the terminals - + Fonction : Function : @@ -17150,7 +20295,7 @@ The other fields are not used. With - + LED : LED : @@ -17178,32 +20323,32 @@ The other fields are not used. toolBar - + Ajouter un bornier Add a terminal block - + Ajouter un bornier au projet Add a terminal strip to the project - + Supprimer le bornier Remove terminal block - + Supprimer le bornier du projet Delete terminal strip from project - + Recharger Reload - + Recharger les borniers Reload the terminals @@ -17433,12 +20578,12 @@ The other fields are not used. Terminal strip explorer - + Projet sans titre Untitled project - + Bornes indépendante Independent terminals @@ -17528,6 +20673,22 @@ The other fields are not used. Modify the alignment of a text field + + TextResizeCommand + + + Redimensionner un texte + Resize a text + + + + TextResizeHandles + + + Glisser pour changer la largeur du texte, double-cliquer pour une largeur automatique + Drag to change the text width, double-click for automatic width + + ThirdPartyBinaryInstallDialog @@ -17541,7 +20702,7 @@ The other fields are not used. Download - + Dossier installation Installation folder @@ -17549,37 +20710,37 @@ The other fields are not used. TitleBlockDimensionWidget - + Largeur : default dialog label Width: - + Absolu a traditional, absolute measure Absolute - + Relatif au total a percentage of the total width Relative to total - + Relatif au restant a percentage of what remains from the total width Relative to remaining - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17588,32 +20749,33 @@ The other fields are not used. TitleBlockPropertiesWidget - + Modèle par défaut Default template - + Éditer ce modèle menu entry Edit this template - + Dupliquer et éditer ce modèle menu entry Duplicate and edit this template - + Title block templates actions Title block templates actions - - + + + Créer un Folio Numérotation Auto - Create an auto folio numbering + Create an auto sheet numbering @@ -17626,47 +20788,47 @@ The other fields are not used. Form - + Folio : - Folio: + Sheet: - + Auteur : Author: - + Indice Rev: Rev index: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Available as% plant for title block templates</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Available as variable %filename for title blocks - + Pas de date No date - + Date courante Current date - + Appliquer la date actuelle Set to current date - + Principales Main @@ -17676,22 +20838,22 @@ The other fields are not used. Title block information - + Disponible en tant que %locmach pour les modèles de cartouches Available as variable %locmach for title blocks - + Disponible en tant que %date pour les modèles de cartouches Available as variable %date for title blocks - + Date fixe : Fixed date: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17699,67 +20861,67 @@ Les variables suivantes sont utilisables : - %autonum : Folio Auto Numeration Available as % folio for titleblock models The following variables can be used: --%id: current number of folios in the project --%total: total number of folios in the project --%autonum: folio auto numbering +-%id: current number of sheets in the project +-%total: total number of sheets in the project +-%autonum: sheet auto numbering - + Titre : Title: <html><head/><body><p>Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.</p></body></html> - <html> <head/><body><p>Sets the title block at the bottom (horizontal) or right (vertically) of the folio.</p></body></html> + <html> <head/><body><p>Sets the title block at the bottom (horizontal) or right (vertically) of the sheet.</p></body></html> - + Fichier : File: - + Date : Date: - + Disponible en tant que %author pour les modèles de cartouches Available as variable %author for title blocks - + Disponible en tant que %title pour les modèles de cartouches Available as variable %title for title blocks - + Installation : Plant: - + Disponible en tant que %indexrev pour les modèles de cartouches Available as variable %indexrev for title blocks - + Page Num: Page no.: - + Localisation: Location : - + Personnalisées Custom - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. You may define here your own name/value associations so the title block takes them into account. E.g. associating the name "volta" with the value "1745" will replace %{volta} by 1745 within the title block. @@ -17768,13 +20930,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -17805,7 +20967,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Attention : les bordures des cellules vides n'apparaissent pas lors du rendu final sur le folio. - Warning: the edges of empty cells do not appear in the final render the folio. + Warning: the edges of empty cells do not appear in the final render the sheet. @@ -17906,12 +21068,12 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Par défaut, les variables suivantes sont disponibles :<ul><li>%{author} : auteur du folio</li><li>%{date} : date du folio</li><li>%{title} : titre du folio</li><li>%{filename} : nom de fichier du projet</li><li>%{plant} : nom de l'installation (=) dans laquelle se trouve le folio</li><li>%{locmach} : nom de la localisation (+) dans laquelle se trouve le folio</li><li>%{indexrev} : indice de révision du folio</li><li>%{version} : version du logiciel</li><li>%{folio} : numéro du folio</li><li>%{folio-id} : position du folio dans le projet</li><li>%{folio-total} : nombre total de folios dans le projet</li><li>%{previous-folio-num} : numéro du folio précédent</li><li>%{next-folio-num} : numéro du folio suivant</li><li>%{projecttitle} : titre du projet</li><li>%{projectpath} : chemin du projet</li><li>%{projectfilename} : nom du fichier</li><li>%{saveddate} : date d'enregistrement du fichier format local</li><li>%{saveddate-eu} : date d'enregistrement du fichier format dd-MM-yyyy</li><li>%{saveddate-us} : date d'enregistrement du fichier format yyyy-MM-dd</li><li>%{savedtime} : heure d'enregistrement du fichier</li><li>%{savedfilename} : nom du fichier enregistré</li><li>%{savedfilepath} : chemin du fichier enregistré</li></ul> - By default, the following variables are available: <ul><li>%{author}: author of the folio</li><li>%{date}: folio date</li><li>%{title}: folio title</li><li>%{filename}: filename of file</li> <li>%{plant}: name of the installation (=) in which the folio is located</li><li>%{locmach}: name of the location (+) where the folio is located</li><li>%{indexrev}: folio revision index</li><li>%{version}: version number</li><li>%{folio}: folio number</li><li>%{folio-id}: position of folio in the project</li><li>%{folio-total }: total number of folios in the project</li><li>%{previous-folio-num}: number of the previous folio</li><li>%{next-folio-num}: number of the next folio< / li><li>%{projecttitle}: title of the project</li><li>%{projectpath}: path of the project</li><li>%{projectfilename}: filename of the projectfile</li><li >%{saveddate}: date of saving the file in local format</li><li>%{saveddate-eu}: date of saving the file in format DD-MM-YYYY</li> <li>%{ saveddate-us}: date of saving the file in format YYYY-MM-DD</li><li>%{savedtime}: time of saving the file</li><li>%{savedfilename}: name of the file saved</li><li>%{savedfilepath}: path of the saved file</li></ul> + By default, the following variables are available: <ul><li>%{author}: author of the sheet</li><li>%{date}: sheet date</li><li>%{title}: sheet title</li><li>%{filename}: filename of file</li> <li>%{plant}: name of the installation (=) in which the sheet is located</li><li>%{locmach}: name of the location (+) where the sheet is located</li><li>%{indexrev}: sheet revision index</li><li>%{version}: version number</li><li>%{folio}: sheet number</li><li>%{folio-id}: position of sheet in the project</li><li>%{folio-total }: total number of sheets in the project</li><li>%{previous-folio-num}: number of the previous sheet</li><li>%{next-folio-num}: number of the next sheet< / li><li>%{projecttitle}: title of the project</li><li>%{projectpath}: path of the project</li><li>%{projectfilename}: filename of the projectfile</li><li >%{saveddate}: date of saving the file in local format</li><li>%{saveddate-eu}: date of saving the file in format DD-MM-YYYY</li> <li>%{ saveddate-us}: date of saving the file in format YYYY-MM-DD</li><li>%{savedtime}: time of saving the file</li><li>%{savedfilename}: name of the file saved</li><li>%{savedfilepath}: path of the saved file</li></ul> Chaque cellule d'un cartouche affiche une valeur, optionnellement précédée d'un label. Tous deux peuvent être traduits en plusieurs langues.<br/>Comme ce que vous éditez actuellement est un <em>modèle</em> de cartouche, ne saisissez pas directement des données brutes : insérez plutôt des variables sous la forme %{nom-de-variable}, qui seront ensuite remplacées par les valeurs adéquates sur le folio. - Each cell of a title block displays a value, optionally preceded by a label. Both can be translated to several languages.<br/>Since what you are currently editing is a title block <em>template</em>, avoid entering raw data directly: prefer inserting variables like %{variable-name}, which will be replaced afterwards with adequate values in the folio. + Each cell of a title block displays a value, optionally preceded by a label. Both can be translated to several languages.<br/>Since what you are currently editing is a title block <em>template</em>, avoid entering raw data directly: prefer inserting variables like %{variable-name}, which will be replaced afterwards with adequate values in the sheet. @@ -18274,53 +21436,222 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Title blocks of project "%1" + + ToolbarCommandsConfigPage + + + Choisissez les commandes de chaque barre d'outils de l'éditeur de schémas. Glissez une commande de la liste de gauche vers la barre, ou double-cliquez dessus ; Suppr la retire. + Choose the commands of each toolbar of the diagram editor. Drag a command from the list on the left to the bar, or double-click it; Delete removes it. + + + + Nouvelle barre… + New bar… + + + + Renommer… + Rename… + + + + Supprimer la barre + Delete the bar + + + + Valeurs par défaut + Defaults + + + + Rechercher une commande + Search for a command + + + + Ajouter → + Add → + + + + Séparateur + Separator + + + + ← Retirer + ← Remove + + + + Monter + Move up + + + + Descendre + Move down + + + + Commandes disponibles + Available commands + + + + Dans la barre, dans l'ordre + In the bar, in order + + + + Barre d'outils : + Toolbar: + + + + Contenu des barres + configuration page title: what each toolbar holds + Toolbar contents + + + + Nouvelle barre d'outils + New toolbar + + + + + Nom de la barre d'outils : + Toolbar name: + + + + Renommer la barre d'outils + Rename the toolbar + + + + ─── Séparateur ─── + ─── Separator ─── + + + + ToolbarsConfigPage + + + Par défaut + Default + + + + Petites (16 px) + Small (16 px) + + + + Moyennes (24 px) + Medium (24 px) + + + + Grandes (32 px) + Large (32 px) + + + + Très grandes (48 px) + Very large (48 px) + + + + Icône seule + Icon only + + + + Texte à côté de l'icône + Text beside the icon + + + + Texte sous l'icône + Text under the icon + + + + Verrouiller les barres d'outils (elles ne peuvent plus être déplacées) + Lock the toolbars (they can no longer be moved) + + + + Taille des icônes : + Icon size: + + + + Boutons : + Buttons: + + + + Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils. + To show or hide a toolbar, right-click on a toolbar. + + + + Barres d'outils + configuration page title + Toolbars + + WiringListDialog - + Liste de câblage window title Wiring list - + Fil column title Wire - + Composant 1 column title Component 1 - + Borne 1 column title Terminal 1 - + Composant 2 column title Component 2 - + Borne 2 column title Terminal 2 - + Folio column title - Folio + Sheet - - + + %n conducteur(s) listé(s). wiring list summary @@ -18329,7 +21660,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18341,96 +21672,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Error - + Impossible de lire la structure en mémoire du projet. Unable to read the project's in-memory structure. - + Exporter le plan de câblage Export the wiring diagram - + Fichiers CSV (*.csv) CSV files (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Unable to open the file for writing. - + Page Wiring list CSV header Page - + Composant 1 Wiring list CSV header Component 1 - + Borne 1 Wiring list CSV header Terminal 1 - + Composant 2 Wiring list CSV header Component 2 - + Borne 2 Wiring list CSV header Terminal 2 - + Tension / Protocole Wiring list CSV header Voltage / Protocol - + Couleur du fil Wiring list CSV header Wire color - + Section du fil Wiring list CSV header Wire section - + Fonction Wiring list CSV header Function - + + Câble + Wiring list CSV header + Cable + + + Export réussi Export successful - + Le plan de câblage a été exporté avec succès ! The wiring diagram has been successfully exported ! + + WiringRulesWarning + + + Avertissement + Warning + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + <b>The conductors-per-terminal rules are an experimental feature.</b><br><br>They count conductors as QElectroTech represents them today. They may change, and your settings may need redoing, if wires and conductors become separate objects in a future version.<br><br>All these rules can be turned off in Configure QElectroTech > General. + + XRefPropertiesWidget @@ -18474,72 +21824,82 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Default - Fit to XRef height - + + Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre. + When the texts of two cross-references overlap, the one of the higher element is placed above the other. + + + + Empiler les références dont les textes se chevauchent + Stack references whose texts overlap + + + XRef slave position XRef slave position - + Distance label - slave : Distance label - slave : - + Distance in pixels between the label and the slave cross reference Distance in pixels between the label and the slave cross reference - + Afficher les numéros de bornes dans les Xrefs Display terminal numbers in Xrefs - + Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître Show in the contact comb all slave contacts defined by the master, even those not yet connected, in the order defined by the master - + Afficher tous les esclaves définis par le maître Show all slaves defined by the master - + Affiche&r en contacts &View contacts - + Afficher en croix View cross - + Label des références croisées Label cross reference - + Maitre Master - + %f-%l%c %f-%l%c - + Esclave Slave - + (%f-%l%c) (%f-%l%c) - + Créer votre propre texte en vous aidant des variables suivantes : %f : le numéro de folio %F: le label de folio @@ -18548,35 +21908,35 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol %M: Installation %LM: Localisation Create your own text using the following variables: -%f: the folio number -%F: the folio label +%f: the sheet number +%F: the sheet label %l: the row number %c: the column number %M: the installation %LM: the location - + Option d'affichage en croix Option display cross - + Afficher les contacts de puissance dans la croix Show the power contacts in the cross - + Préfixe des contacts de puissance : Prefix of power contacts : - + Préfixe des contacts temporisés : Prefix delayed contacts : - + Préfixe des contacts inverseurs : Prefix changeover contacts : @@ -18644,27 +22004,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. The query is empty. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). Only a single SELECT query is allowed (the ';' character may only appear at the very end). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. Only read-only queries (SELECT or WITH ... SELECT) are allowed. - + Exporter la base de données interne du projet Export the internal project database - + sans_nom untitled @@ -18672,7 +22032,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Text Color @@ -18680,7 +22040,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Insert HTML entity @@ -18688,27 +22048,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Edit text - + Rich Text Rich Text - + Source Source - + &OK &OK - + &Cancel &Cancel @@ -18716,69 +22076,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Bold - - - + + + Éditeur de texte Text editor - + Texte en italique Italic - + Texte souligé Underline - + Left Align Left Align - + Center Center - + Right Align Right Align - + Justify Justify - + Superscript Superscript - + Subscript Subscript - + Insérer un lien Insert link - + Insert &Image Insert &Image - + Simplify Rich Text Simplify Rich Text @@ -18813,7 +22173,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Folio - Folio + Sheet diff --git a/lang/qet_es.ts b/lang/qet_es.ts index 4deb48c3e..9cfc8f28c 100644 --- a/lang/qet_es.ts +++ b/lang/qet_es.ts @@ -54,272 +54,272 @@ Histórico - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, una aplicación para la realización de esquemas eléctricos. - + Les développeurs de QElectroTech about tab, developers line Los desarrolladores de QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contacto : <a href=\"mailto:qet@lists.tuxfamily.org\">qet@lists.tuxfamily.org</a> - + Idée originale Idea original - - + - - + + + Développement Desarrollo - + Convertisseur DXF Conversor DXF - + Plugin Bornier Herramienta borneros - + Collection Bibliotecas - + Traduction en espagnol Traducción al español - + Traduction en russe Traducción al ruso - + Traduction en portugais Traducción al portugués - + Traduction en tchèque Traducción al checo - + Traduction en polonais Traducción al polaco - + Traduction en allemand Traducción al alemán - + Traduction en roumain Traducción al rumano - + Traduction en italien Traducción al italiano - + Traduction en arabe Traducción al árabe - + Traduction en croate Traducción al croata - + Traduction en catalan Traducción al catalán - + Traduction en grec Traducción al griego - + Traduction en néerlandais Traducción al holandés - + Traduction en flamand Traducción en flamenco - + Traduction en danois Traducción al Danés - + Traduction en brézilien Traducción al brasileño - + Traduction en Turc Traducción en turco - + Traduction en hongrois Traducción al húngaro - + Traduction en serbe Traducción al serbio - + Traduction en ukrainien Traducción al ucraniano - + Traduction en norvégien Traducción al noruego - + Traduction en japonais Traducción al japones - + Traduction en coréen Traducción al coreano - + Traduction en mongol Traducción al mongol - + Traduction en slovène Traducción al esloveno - + Paquets Fedora et Red Hat Empaquetado Fedora y Red Hat - + Paquets Mageia Empaquetado Mageia - + Paquets Debian Empaquetado Debian - + Paquets Gentoo Empaquetado Gentoo - + Paquets OS/2 Empaquetado OS/2 - + Paquets FreeBSD Empaquetado FreeBSD - + Paquets MAC OS X Empaquetado MAC OS X - + Paquets Archlinux AUR Empaquetado Archilinux AUR - + Icônes Iconos - + Documentation Documentación - + Collection d'éléments Biblioteca de elementos - + Paquets Snap Empaquetado Snap - + Redimensionneur d'éléments Element scaler Escalado de elementos - + Générateur d'élément lambda Lambda element generator Generador de elementos lambda - + Convertisseur d'élément DXF Dxf2elmt Conversor de elementos DXF - + Outil de traduction d'éléments Qet_translate Herramienta conversor de elementos @@ -428,17 +428,17 @@ Configuración - + Contenu Contenido - + Sélectionner la police des en tête du tableau Seleccionar la fuente para el encabezado de la tabla - + Sélectionner la police des cellules du tableau Seleccionar la fuente para las celdas de la tabla @@ -456,6 +456,134 @@ Adjuntar el plano de borneros siguiente : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Ángulo: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ Restablecer el valor inicial - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Valor actual del contador. Introduzca un nuevo valor y confirme para modificarlo. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Incremento: valor que se suma al contador en cada nueva numeración - - - + + + Prochaine valeur qui sera appliquée avec cet incrément Próximo valor que se aplicará con este incremento - + Element Elemento - + Conducteur Conductor - + Configurer les règles d'auto numérotation Configurar las reglas de numeración automatica - + Configurer Configurar @@ -573,10 +734,88 @@ Folio - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Autonumeración + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Existente - + Under Development Bajo Desarrollo - + Installing Instalando - + Built Construido - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Gestión de numeración automática - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,56 +1031,56 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Vista previa - + nomenclature_ Nomenclatura_ - + Enregister sous... Guardar como... - + Fichiers csv (*.csv) Archivo CSV (*.csv) - - + + Erreur Error - + Impossible d'enregistrer la nomenclature dans %1. %2 No se puede guardar la lista de materiales en %1. %2 - + Position Posición - + Position du folio Posición del folio - + Quantité numéro d'article Special field with name : designation quantity Campo especial con nombre: designacion cantidad - + Requête refusée Consulta rechazada - + Erreur dans la requête : %1 Error en la consulta: @@ -825,6 +1114,27 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo No + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -872,7 +1182,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo ClickableImageLabel - + Cliquez pour choisir une couleur Haga clic para elegir un color @@ -904,8 +1214,8 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Agregar una variable: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Ingrese su texto compuesto aquí, usando las variables disponibles @@ -913,13 +1223,13 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Conductor - + Modifier les propriétés d'un conducteur undo caption Modificar las propiedades de un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Modificar las propiedades de varios conductores @@ -928,73 +1238,73 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo ConductorColorToolButton - + Noir Negro - + Marron Marrón - + Gris Gris - + Bleu Azul - + Vert Verde - + Rouge Rojo - + Orange Naranja - + Violet Violeta - + Blanc Blanco - + Couleur de conducteur Color del conductor - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip Aplica un color a los conductores seleccionados y lo utiliza para los próximos conductores que se dibujen - + Récemment utilisées Utilizados recientemente - + Autre couleur… Otro color… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1003,7 +1313,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo - + Choisir une couleur de conducteur Elegir un color de conductor @@ -1021,13 +1331,13 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Aplicar las propiedades a todos los conductores de este potencial - + Modifier les propriétés d'un conducteur undo caption Modificar las propiedades de un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Modificar las propiedades de varios conductores @@ -1036,24 +1346,33 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Aplicar las propiedades a todos los conductores de este potencial + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption Modificar las propiedades de un conductor - + Modifier les propriétés de plusieurs conducteurs undo caption Modificar las propiedades de varios conductores - + Conducteur Conductor @@ -1082,12 +1401,13 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo + Texte Texto - - + + Unifilaire Monolínea @@ -1103,6 +1423,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo + Texte visible Texto visible @@ -1137,35 +1458,52 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Posición y rotación del texto del conductor: - + phase fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Línea continua - + Trait en pointillés conductor style: dashed line Línea en puntos - + Traits et points conductor style: dashed and dotted line Líneas y puntos - + terre tierra - + neutre neutro @@ -1175,7 +1513,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Formulario - + Formule du texte : Fórmula del texto: @@ -1211,97 +1549,97 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Editar la numeración - + cable Cable - + bus Bus - - + + Nombre de phase Número de fases - + Neutre neutro - + Phase Fase - + Protective Earth Neutral Protección tierra neutral - + PEN Protección tierra neutral PEN - + Terre Tierra - + TextLabel Etiqueta de texto - + Taille : Tamaño: - - + + Style du conducteur Estilo del conductor - + Couleur secondaire : Color secundario: - + px px - + Taille de trait : Tamaño de línea: - + Couleur du conducteur Color del conductor - + Apparence Apariencia - - + + Couleur : Color: - + Style : Estilo: @@ -1322,128 +1660,152 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Seleccionar un grupo de contactos - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Seleccione el grupo de contactos que se asignará a este elemento esclavo: - + # # - + Type Tipo - + Sous-type Subtipo - + Contacts Contactos - + Bornes Bornes - - + + T%1 T%1 - + (déjà assigné) (ya asignado) - + (état ne correspond pas) (el estado no coincide) - + (sous-type ne correspond pas) (el subtipo no coincide) - + (nombre de contacts ne correspond pas) (el número de contactos no coincide) - + OK Aceptar - + Annuler Cancelar - + Normalement ouvert Normalmente abierto - + Normalement fermé Normalmente cerrado - + Inverseur Conmutador - + Autre Otro - - + + Inconnu Desconocido - + Simple Simple - + Puissance Potencia - + Temporisé travail Temporizado a la conexión - + Temporisé repos Temporizado a la desconexión - + Temporisé travail & repos Temporizado a la conexión y a la desconexión + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1473,27 +1835,27 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagnosticsReportDialog - + Enregistrer... Guardar... - + Enregistrer le rapport de diagnostic Guardar el informe de diagnóstico - + Fichiers texte (*.txt);;Tous les fichiers (*) Archivos de texto (*.txt);;Todos los archivos (*) - + Erreur Error - + Impossible d'écrire dans le fichier « %1 ». No se puede escribir en el archivo «%1». @@ -1501,7 +1863,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Diagram - + Modifier la profondeur Editar la profundidad @@ -1641,7 +2003,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste Haga clic para colocar el contenido pegado; Esc o clic derecho para cancelar @@ -1658,262 +2020,330 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Clic izquierdo: colocar el punto inicial (Ctrl = posición libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) Clic izquierdo: colocar la primera esquina (Ctrl = punto central, posición libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) Clic izquierdo: colocar el primer punto (Ctrl = posición libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Clic izquierdo: colocar el punto final (Ctrl = posición libre); clic derecho: cancelar - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Clic izquierdo: colocar la esquina opuesta (Mayús = cuadrado, Ctrl = desde el centro + posición libre, Ctrl+Mayús = cuadrado centrado); clic derecho: cancelar - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Clic izquierdo: colocar la esquina opuesta (Mayús = círculo, Ctrl = desde el centro + posición libre, Ctrl+Mayús = círculo centrado); clic derecho: cancelar - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Clic izquierdo: punto siguiente; doble clic o Intro: terminar; clic derecho: deshacer el último punto + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner redimensionar - + pivoter/incliner girar/inclinar - + Cliquer : mode %1 Clic: modo %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Arrastrar una esquina o un borde: redimensionar (Ctrl = desde el centro, Mayús = mantener las proporciones) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Arrastrar una esquina: girar (Mayús = en pasos de 15°); arrastrar un borde: inclinar (Mayús = en pasos de 15°); punto rojo: desplazar el centro de rotación - + -- %1 : mode %2 -- %1: modo %2 - + Cliquer Clic - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Arrastrar: redimensionar (Mayús = mantener las proporciones, Ctrl = desde el centro) - + Glisser : pivoter (Maj = par pas de 15°) Arrastrar: girar (Mayús = en pasos de 15°) - + Glisser : incliner (Maj = par pas de 15°) Arrastrar: inclinar (Mayús = en pasos de 15°) - + Glisser : déplacer le centre de rotation Arrastrar: desplazar el centro de rotación - + Redimensionner une image Redimensionar una imagen - + Faire pivoter une image Girar una imagen - + Incliner une image Inclinar una imagen - + Déplacer le centre de rotation d'une image Desplazar el centro de rotación de una imagen - + Modifier une image Modificar una imagen - + Restaurer les proportions d'une image Restaurar las proporciones de una imagen - - + + Enregistrer l'image sous... Guardar imagen como... - - + + Enregistrer l'image d'origine sous... Guardar imagen original como... - + Image PNG (*.png) Imagen PNG (*.png) - + Image JPEG (*.jpg *.jpeg) Imagen JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) Imagen BMP (*.bmp) - + Image SVG (*.svg) Imagen SVG (*.svg) - + Tous les fichiers (*) Todos los archivos (*) - + Transparence non conservée No se conservará la transparencia - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? Este formato no admite transparencia: la imagen se guardará tal como estaba antes de aplicar el color transparente. ¿Continuar? - + Échec de l'enregistrement Error al guardar - + Impossible d'enregistrer l'image à cet emplacement. No se puede guardar la imagen en esta ubicación. - + une image una imagen - + Remplacer l'image... Sustituir imagen... - + Couleur transparente... Color transparente... - + Rogner... Recortar... - + Miroir horizontal Reflejar horizontalmente - + Miroir vertical Reflejar verticalmente - + Restaurer les proportions Restaurar las proporciones - + Selectionner une image... Seleccione una imagen ... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Archivos de imagen (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Error - + Impossible de charger l'image. Imposible cargar la imagen. - + Remplacer une image Sustituir una imagen - + Miroir horizontal d'une image Reflejar una imagen horizontalmente - + Miroir vertical d'une image Reflejar una imagen verticalmente - + Définir une couleur transparente Definir un color transparente - + Rogner une image Recortar una imagen @@ -1921,7 +2351,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagramPropertiesDialog - + Propriétés du folio window title Propiedades del folio @@ -1930,12 +2360,12 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagramTextItem - + Maintenir ctrl pour un déplacement libre Mantener ctrl para un desplazamiento libre - + <Shift> to move @@ -1945,78 +2375,84 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DiagramView - + Coller ici context menu action Pegar aquí - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Esto es la zona en la cual concibe sus esquemas añadiendo elementos y colocando conductores entre sus terminales. También es posible añadir texto independiente. - + Collage multiple Collage múltiple - + Créer un template context menu action Crear una plantilla - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio Referencia entre folios - + X: %1 Y: %2 X: %1 T: %2 - + Connecter les bornes sélectionnées Conectar los terminales seleccionados - + Sans titre what to display for untitled diagrams Sin titulo - + Modèle enregistré Plantilla guardada - + Le modèle a été enregistré avec succès sous : %1 La plantilla se ha guardado correctamente en: %1 - + Erreur Error - + Le fichier n'a pas pu être écrit. No se ha podido escribir el archivo. - + Choisir la nouvelle couleur de ce conducteur Elegir el nuevo color de este conductor - + Modifier les propriétés d'un conducteur undo caption Modificar las propiedades de un conductor @@ -2035,7 +2471,7 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Titulo - + TextLabel Etiqueta de texto @@ -2043,42 +2479,42 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DuplicateOffsetDialog - + Dupliquer Duplicar - + pas de grille pasos de cuadrícula - + Espacement : Separación: - + Haut Arriba - + Bas Abajo - + Gauche Izquierda - + Droite Derecha - + Direction : Dirección: @@ -2086,17 +2522,17 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DynamicElementTextItem - + Texte Texto - + Éditer un texte d'élément Editar texto del elemento - + Redimensionner un texte d'élément Redimensionar un texto de elemento @@ -2115,30 +2551,30 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo - - - - + + + + ... ... - + Importer une configuration de texte Importar una configuración de texto - + Ajouter un texte Añadir un texto - + Ajouter un groupe de textes Añadir un grupo de textos - + Supprimer la sélection Suprimir la selección @@ -2310,21 +2746,21 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo - + Gauche Izquierda - + Droite Derecha - + Centre Centro @@ -2464,65 +2900,65 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Rotación - - + + Déplacer un champ texte Mover un campo de texto - + Pivoter un champ texte Girar un campo de texto - + Modifier le texte d'un champ texte Editar, Modificar o Cambiar Editar el texto de un campo de texto - - + + Modifier la police d'un champ texte Cambia la fuente de un campo de texto - + Modifier la couleur d'un champ texte Modificar el color de un campo de texto - + Modifier la conservation de l'angle Modificar la conservación del ángulo - + Modifier le point de rotation d'un champ texte Modificar el punto de rotación de un campo de texto - + Modifier le cadre d'un champ texte Modificar el marco de un campo de texto - + Modifier la largeur d'un texte Modificar el ancho de un texto - + Modifier l'information d'un texte Modificar la información de un texto - + Modifier la source de texte, d'un texte Modificar la fuente de texto, de un texto - + Modifier l'alignement d'un champ texte Modificar la alineación de un campo de texto @@ -2530,32 +2966,32 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo DynamicTextItemDelegate - + Texte utilisateur Texto del usuario - + Information de l'élément Información del elemento - + Texte composé Texto compuesto - + Gauche Izquierda - + Centre Centrado - + Droite Derecha @@ -2563,12 +2999,12 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo EditorDelegate - + ex. 80.5 p. ej., 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Número decimal con un punto como separador (p. ej., 80.5) @@ -2609,121 +3045,194 @@ Nota: Estas opciones NO permiten o bloquean las Numeraciones automáticas, solo Element - + Numéroter automatiquement un élément undo caption Numerar automáticamente un elemento + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Abrir un elemento - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Elige el elemento que quieres abrir. - + Enregistrer un élément dialog title Guarda un elemento - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Elija el elemento en el cual quiere guardar su definición. - + Ouvrir une catégorie dialog title Abrir una categoría - - + + Choisissez une catégorie. dialog content Elija una categoría. - + Enregistrer une catégorie dialog title Guarda una categoría - + Enregistrer un template dialog title Guardar una plantilla - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Elija la ubicación donde desea guardar la plantilla. - + Titre Título - + Label Etiqueta - + Nom du nouveau dossier Nombre de la nueva carpeta - + Nom du nouveau template Nombre de la nueva plantilla - + Écraser le template ? message box title ¿Sobrescribir la plantilla? - + Le template existe déjà. Voulez-vous l'écraser ? message box content La plantilla ya existe. ¿Desea sobrescribirla? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Debe seleccionar un elemento o una categoría con un nombre para el elemento. - + Sélection inexistante message box title Selección inexistente - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Nombre de archivo del elemento - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2731,32 +3240,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété El nombre visible del elemento se modifica por separado en sus propiedades. - + La sélection n'existe pas. message box content La selección no existe. - - + + Sélection incorrecte message box title Selección incorrecta - + La sélection n'est pas un élément. message box content La selección no es un elemento. - + Écraser l'élément ? message box title ¿Sobrescribir el elemento? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content El elemento ya existe. Quiere sobrescribirlo? @@ -2780,12 +3289,18 @@ El nombre visible del elemento se modifica por separado en sus propiedades.Eliminar este texto - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 p. ej., 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Número decimal con un punto como separador (p. ej., 80.5) @@ -2803,104 +3318,214 @@ El nombre visible del elemento se modifica por separado en sus propiedades.Excluir de la numeración automática - + Informations Información - + Ajouter une propriété personnalisée Añadir una propiedad personalizada - + Séparation de potentiel Separación de potencial - + Exclure de la nomenclature Excluir de la lista de materiales + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… Personalizar la barra… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. Arrastre los comandos y los elementos a la barra, fuera de ella o de una posición a otra. Un doble clic mueve un comando o un elemento de una lista a otra. - - + + Rechercher un élément… Buscar un elemento… - + Éléments : Elementos: - + Valeurs par défaut Valores predeterminados - + Annuler Cancelar - + Terminé Terminado - + Dans la barre : En la barra: - + Autres commandes : Otros comandos: - - - + + + Entrée pour insérer · Échap pour fermer Intro para insertar · Esc para cerrar - + Glisser pour changer la largeur de la barre Arrastrar para cambiar la anchura de la barra - + Personnaliser la barre de raccourcis : %1 Personalizar la barra de accesos directos: %1 - + Aucun résultat Sin resultados - + Tapez pour rechercher un élément · Échap pour fermer Escriba para buscar un elemento · Esc para cerrar - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher Paleta vacía: arrastre elementos a su colección personal o escriba para buscar @@ -2916,8 +3541,8 @@ El nombre visible del elemento se modifica por separado en sus propiedades. - - + + Type Tipo @@ -3000,8 +3625,8 @@ El nombre visible del elemento se modifica por separado en sus propiedades. - - + + Fonction Función @@ -3031,306 +3656,306 @@ El nombre visible del elemento se modifica por separado en sus propiedades.Valores - - - + + + Simple Simple - + Maître Maestro - + Esclave Esclavo - + Renvoi de folio suivant Referencia del folio siguiente - + Renvoi de folio précédent Referencia del folio anterior - + Bornier Bloque de terminales Terminal - + Vignette Viñeta - + Définition de conducteur Definición de conductor - - + + Normalement ouvert Normalmente abierto - - + + Normalement fermé Normalmente cerrado - - + + Inverseur Inversor - + Other Otro - + Esclave PLC Esclavo de PLC - - + + Puissance Potencia - - + + Temporisé travail Temporizador de trabajo Tiempo de trabajo - - + + Temporisé repos Tiempo de reposo Tiempo de apagado - - + + Temporisé travail & repos Tiempo de trabajo & reposo - + Bobine Bobina - + Organe de protection Protección del cuerpo Unidad de protección - + Commutateur / bouton Conmutador / botón - + Module PLC Módulo de PLC - - + + Générique Genérico - + Fusible Fusible - + Séctionnable Seccionable - + Diode Diodo - + Phase Fase - + Neutre Neutro - - - - - + + + + + T%1 T%1 - + Autre Otro - + Configuration PLC Configuración del PLC - + + + - + - - - - + + Adresse Dirección - - + + Commentaire Comentario - + Réf. croisée Ref. cruzada - - + + Nb. N.º - + T1 T1 - + Police des en-têtes Fuente de los encabezados - + Configurer la police des en-têtes de colonnes Configurar la fuente de los encabezados de columna - + Police du texte Fuente del texto - + Configurer la police du texte dans les cellules Configurar la fuente del texto de las celdas - + Afficher les en-têtes sur la feuille Mostrar los encabezados en la hoja - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Mostrar u ocultar los encabezados de columna de la tabla del PLC en la hoja - + Saut %1 après: Salto %1 después de: - + Aucun Ninguno - + H. ligne: Altura de fila: - - + + mm mm - + Réf. Ref. - + Nom personnalisé de la colonne (vide = par défaut) Nombre personalizado de la columna (vacío = predeterminado) - + Visible Visible - + Coller depuis le presse-papiers Pegar desde el portapapeles - - + + Police des en-têtes: %1 %2pt Fuente de los encabezados: %1 %2pt - - + + Police du texte: %1 %2pt Fuente del texto: %1 %2pt - + Police des en-têtes de colonnes Fuente de los encabezados de columna - + Police du texte des cellules Fuente del texto de las celdas - + Terre Tierra @@ -3344,7 +3969,7 @@ El nombre visible del elemento se modifica por separado en sus propiedades. - Élement + Élément Elemento @@ -3486,249 +4111,249 @@ El nombre visible del elemento se modifica por separado en sus propiedades.Subir la selección - + Ajouter la sélection Añadir la selección - + Supprimer la sélection Suprimir la selección - + Descendre la sélection Bajar la selección - + Pas de filtre Sin filtro - + N'est pas vide No esta en vacío - + Est vide Está vacío - + Contient Contiene - + Ne contient pas No contiene - + Est égal à Es igual a - + N'est pas égale à No es igual a - + Filtre : Filtro : - + Type d'éléments Tipo de elemento - + Simples Simples - + Organes de protection Aparatos de protección - + Tous Todos - + Boutons et commutateurs Selectores y pulsadores - + Borniers Borneros - + Vignettes Viñetas - + Contacteurs et relais Contactores y relés - + Automates (MAE/SPS) Autómatas (MAE/SPS) - + Configuration Configuración - + Ouvrir la configuration sélectionné Abrir la configuración selecionada - + Sauvegarder la configuration actuelle Guardar la configuración actual - + Importer des rapports depuis un fichier Importar informes desde un archivo - + Importer... Importar... - + Exporter tous les rapports enregistrés vers un fichier Exportar todos los informes guardados a un archivo - + Exporter... Exportar... - + Requête SQL personnalisée Consulta SQL personalizada - + Requête SQL : Consulta SQL : - + Position Posición - + Titre du folio Título del folio - + Position du folio Posición del folio - + Numéro du folio Número de folio - - + + Exporter Exportar - - + + Aucun rapport enregistré à exporter. No hay informes guardados para exportar. - + Exporter les rapports Exportar informes - - + + Fichiers JSON (*.json) Archivos JSON (*.json) - - - - + + + + Erreur Error - + Impossible d'écrire dans %1. No se puede escribir en %1. - + Importer des rapports Importar informes - + Impossible de lire %1. No se puede leer %1. - + %1 ne contient pas des rapports QElectroTech valides. %1 no contiene informes válidos de QElectroTech. - - + + Importer Importar - + Ce fichier ne contient aucun rapport. Este archivo no contiene ningún informe. - + Rapport déjà existant El informe ya existe - + Un rapport nommé « %1 » existe déjà. Le remplacer ? Ya existe un informe llamado «%1». ¿Sustituirlo? - + Impossible d'écrire la configuration locale. No se puede guardar la configuración local. - + %1 rapport(s) importé(s), %2 ignoré(s). %1 informe(s) importado(s), %2 omitido(s). @@ -3736,28 +4361,28 @@ El nombre visible del elemento se modifica por separado en sus propiedades. ElementScene - + Déplacer une primitive Mover una primitiva - + Éditer les informations sur l'auteur window title Edita la información sobre el autor - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Puede utilizar este campo en blanco para indicar los autores de los elementos, su licencia, o cualquier otra información que considere útil. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Puede especificar el nombre del elemento en varios idiomas. - + Éditer les noms window title Edita los nombres @@ -3766,101 +4391,101 @@ El nombre visible del elemento se modifica por separado en sus propiedades. ElementsCategoryEditor - + Nom interne : Nombre interno : - + Vous pouvez spécifier un nom par langue pour la catégorie. Puede especificar un nombre por idioma para la categoría. - + Catégorie inexistante message box title La categoría no existe - + L'item n'est pas une catégorie message box title El elemento no es una categoría - + L'item demandé n'est pas une categrie. Abandon. message box content El elemento solicitado no es una categoría. Abandonar. - + La catégorie demandée n'existe pas. Abandon. message box content La categoría solicitada no existe. Abortar. - + Éditer une catégorie window title Edita una categoría - + Créer une nouvelle catégorie window title Crea una nueva categoría - + Nom de la nouvelle catégorie default name when creating a new category Nombre de la nueva categoría - + Édition en lecture seule message box title Edición en solo lectura - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Usted no tiene los privilegios para editar esta categoría. Se abrirá en sólo lectura. - + Nom interne manquant message box title Falta nombre interno - + Vous devez spécifier un nom interne. message box content Debe especificar un nombre interno. - + Nom interne déjà utilisé message box title Nombre interno ya usado - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content El nombre interno que eligió ya está siendo utilizado por una categoría existente. Por favor elija otro. - + Erreur message box title Error - + Impossible de créer la catégorie message box content Imposible de crear la categoría @@ -3869,74 +4494,74 @@ El nombre visible del elemento se modifica por separado en sus propiedades. ElementsCollectionWidget - + Ouvrir le dossier correspondant Abrir la carpeta correspondiente - + Éditer l'élément Editar el elemento - + Supprimer l'élément Eliminar el elemento - + Supprimer le dossier Eliminar la carpeta - + Recharger les collections Recargar las colecciones Recargar la colección - + Éditer le dossier Editar la carpeta - + Nouveau dossier Nueva carpeta - + Nouvel élément Nuevo elemento - + Importer une pièce EPLAN (.edz)… Importar un componente de EPLAN (.edz)… - + Afficher uniquement ce dossier Mostrar solo esta carpeta - + Afficher tous les dossiers Mostrar todas las carpetas - + Propriété du dossier Propiedades de la carpeta - + Supprimer l'élément ? message box title ¿Borrar el elemento? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3944,25 +4569,25 @@ El nombre visible del elemento se modifica por separado en sus propiedades. - + Suppression de l'élément message box title Borrado del elemento - + La suppression de l'élément a échoué. message box content El borrado del elemento falló. - + Supprimer le dossier? message box title Eliminar la carpeta? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3970,24 +4595,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Eliminar la carpeta - + La suppression du dossier a échoué. message box content El borrado de la carpeta falló. - + Avertissement — Importation d'un fichier EPLAN (.edz) Advertencia: importación de un archivo de EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4014,44 +4639,44 @@ Al importar este archivo, confirma que: • ni QElectroTech, ni sus responsables de mantenimiento, ni sus colaboradores pueden ser considerados responsables de un uso de estos datos que incumpla dichas condiciones. - + J'ai lu et j'accepte ces conditions. He leído y acepto estas condiciones. - + Importer Importar - + Importer une pièce EPLAN Importar un componente de EPLAN - + Pièces EPLAN (*.edz) Componentes de EPLAN (*.edz) - + Import EPLAN Importación de EPLAN - + Impossible d'importer cette pièce : %1 No se puede importar este componente: %1 - + Le dossier %1 contient La carpeta %1 contiene - + %n élément(s), répartie(s) %n elemento, repartido @@ -4059,7 +4684,7 @@ Al importar este archivo, confirma que: - + dans %n dossier(s). en %n de carpeta. @@ -4067,32 +4692,32 @@ Al importar este archivo, confirma que: - + Chemin de la collection : %1 Ruta de la colección: %1 - + Chemin dans le système de fichiers : %1 Ruta de acceso al sistema de archivos: %1 - + Rechercher... Buscar... - + Collections Colecciones - + Modèles Plantillas - + Propriété du dossier %1 Propiedades de la carpeta %1 @@ -4162,125 +4787,125 @@ Al importar este archivo, confirma que: ElementsPanelWidget - + Basculer vers ce projet Cambia a este proyecto - + Fermer ce projet Cierra este proyecto - + Propriétés du projet Propiedades del proyecto - + Éditer ce modèle Edita este modelo - + Supprimer ce modèle Elimina este modelo - + Ouvrir le dossier correspondant Abrir la carpeta correspondiente - + Copier le chemin Copia la ruta Copiar la ruta - + Propriétés du folio Propiedades del folio - + Ajouter un folio Añadir un folio - + Insérer un folio au-dessus Insertar un folio encima - + Insérer un folio en dessous Insertar un folio debajo - + Copier et coller Copiar y pegar - + Supprimer ce folio Eliminar el folio - + Remonter ce folio Avanzar la posición del folio - + Abaisser ce folio Retrasar la posición del folio - + Remonter ce folio x10 Avanzar el folio 10 posiciones - + Remonter ce folio x100 Avanzar el folio 100 posiciones - + Remonter ce folio au debut Avanzar la posición del folio al inicio del proyecto - + Abaisser ce folio x10 Retrasar 10 posiciones el folio - + Abaisser ce folio x100 Retrasar 100 posiciones el folio - + Nouveau modèle Nuevo modelo - - + + Panneau des éléments Panel de elementos - + Filtrer Filtro @@ -4326,7 +4951,7 @@ Al importar este archivo, confirma que: ExportConfigPage - + Export configuration page title Exportar @@ -4335,101 +4960,101 @@ Al importar este archivo, confirma que: ExportDialog - + Dimensions Tamaño - + Aperçu Vista previa - + Impossible d'écrire dans ce fichier message box title Imposible escribir en el archivo - + Exporter Exportar - + Nom de fichier Nombre de archivo - - + + px px - + Noms des fichiers cibles message box title Nombres de los archivos de destino - + Exporter les folios du projet window title Exportar los folios del proyecto - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Elija los folios que quiere exportar y sus dimensiones: - + Tout cocher Marca todos - + Tout décocher Desmarca todos - + Titre du folio Título del folio - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Debe entrar un nombre de archivo único no vacío para cada folio para exportar. - + Dossier non spécifié message box title Archivo no especificado - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Debe especificar la ruta a la carpeta donde los archivos de imágenes se guardarán. - + Images non incluses dans l'export DXF message box title Imágenes no incluidas en la exportación DXF - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content El formato DXF utilizado aquí (AC1006) no permite incluir imágenes. Las imágenes se representarán únicamente mediante un rectángulo de contorno (se conservan la posición, el tamaño, la rotación y la inclinación), sin el contenido de la imagen. - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Al parecer usted no tiene los permisos necesarios para escribir en el archivo %1. @@ -4714,63 +5339,73 @@ Las entradas de texto y números Aplicar el desplazamiento - - + + Générique Genérico - + Fusible Fusible - + Sectionnable Seccionable - + Diode Diode - + Terre Tierra - + Phase Fase - + Neutre Neutro - + Sans Sin - + Avec Con - + Modifier des propriétés de borniers Modificar las propiedades de los borneros - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer Aplique o cancele los cambios pendientes antes de mover - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi Mover los bornes seleccionados al bornero elegido @@ -4778,27 +5413,27 @@ Las entradas de texto y números FreeTerminalModel - + Label Etiqueta - + Référence croisé Referencia cruzada - + Type Tipo - + Fonction Función - + led Indicador LED @@ -4816,47 +5451,48 @@ Las entradas de texto y números Utiliza los colores del sistema - + Chemin de la collection utilisateur Ruta de la colección de usuario - + Chemin des cartouches utilisateur Ruta de los rótulos de usuario - + Chemin de la collection commune Ruta de la colección común - - - - - - + + + + + + Par defaut Por defecto - - - - - - + + + + + + + Parcourir... Navegar... - + (Recharger les collections d'éléments pour appliquer les changements) (Actualizar las colecciones de elementos para aplicar cambios) - + Projets Proyectos @@ -4866,41 +5502,41 @@ Las entradas de texto y números Utiliza los gestos del touchpad - + Utiliser les numéros de folio à la place de leur position dans le projet Utilizar números de folio en lugar de su posición en el proyecto - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Numere las columnas del proyecto a partir de 0 (1 de lo contrario) - + Désactivé Desactivado - + min minute minuto - + Mettre en valeur dans le panel les éléments fraîchement intégrés Resalta los elementos recién integrados en el panel - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Cada elemento incorpora información sobre sus autores, su licencia, o cualquier otra información que considere útil en un campo libre. Aquí puede especificar el valor predeterminado de este campo para los elementos que creará: - + Appliqué au prochain lancement de QElectroTech Aplica en el proximo lanzamiento de Qelectrotech @@ -4910,62 +5546,62 @@ Aquí puede especificar el valor predeterminado de este campo para los elementos Formulario - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Copia de seguridad automática de los proyectos (aplica en el próximo lanzamiento de QElectroTech) - + Collections Colecciones - + Accès aux collections Acceso a las colecciones - + Répertoire de la collection commune Directorio de la biblioteca de elementos QET - + Répertoire de la collection utilisateur Directorio de la biblioteca de elementos del usuario - + Répertoire des cartouches utilisateur Directorio de cajetines del usuario - + Gestion des éléments Gestión de elementos - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Aquí puede definir la apariencia predeterminada de los diferentes textos de QElectroTech - + Grille + Clavier Rejilla + Teclado - + Grille : 1 - 30 Rejilla: 1 - 30 - + DiagramEditor xGrid DiagramaEditor xGrid - + DiagramEditor yGrid DiagramaEditor yGrid @@ -4980,219 +5616,334 @@ Aquí puede especificar el valor predeterminado de este campo para los elementos Mostrar las propiedades del conductor seleccionado en el panel Propiedades de la selección - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + + + + + Appliquer les règles de conducteurs par borne des projets + + + + + Nombre maximal de conducteurs par borne : + + + + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + + + + + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + Afficher la grille par défaut (appliqué au prochain lancement) Mostrar la cuadrícula de forma predeterminada (se aplicará en el próximo inicio) - + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. De forma predeterminada, un doble clic inserta el elemento en el folio; la edición sigue disponible en el menú contextual. - + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer El doble clic en la colección abre el editor de elementos en lugar de insertar el elemento - + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. Al seleccionar un elemento o un conductor con un clic, los comandos de la barra de accesos directos aparecen junto al cursor y desaparecen al alejar el ratón. - + Afficher les commandes près de la sélection Mostrar los comandos junto a la selección - + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. Mantener pulsado el botón derecho y arrastrar en una dirección ejecuta un comando de la barra de accesos directos. Un clic derecho normal sigue abriendo el menú contextual al soltar el botón. - + Gestes de la souris avec le bouton droit Gestos del ratón con el botón derecho - + Afficher les guides par défaut (appliqué au prochain lancement) Mostrar las guías de forma predeterminada (se aplicará en el próximo inicio) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Usar ven&tanas (aplicado en el próximo lanzamiento de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Usar pestañas (aplica en el próximo lanza&miento de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Método para escalar pantallas con alta densidad de píxeles (hdpi) (aplicado al próximo lanzamiento de QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) Permitir la ejecución de scripts JavaScript (Proyecto > Ejecutar un script y --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abierto y escribir archivos. Desactivado de forma predeterminada; ejecute únicamente scripts cuyo origen conozca. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Directorio de la biblioteca de elementos de la empresa - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Directorio de cajetines de la empresa - + Répertoire des Macros utilisateur Directorio de macros del usuario - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Idiomas - + Textes Textos - + Textes d'éléments Textos de elementos - - - + + + Police : Tipo de letra: - - + + ° ° - + Longueur : Longitud: - - + + Rotation : Rotación: - + Textes indépendants Textos independientes - + Autres textes Otros textos - + La Grille doite etre active pour pouvoir voir les modifications. La rejilla debe estar activa para ver los cambios. - + Grille des textes déplacés à la souris Cuadrícula para los textos desplazados con el ratón - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. Fracción de la cuadrícula de los folios. Mantenga pulsada la tecla Ctrl durante el desplazamiento para colocar libremente. - + Déplacement au clavier : 1 - 30 Movimiento del teclado: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid DiagramaEditor (tecla: izquierda / derecha) xGrid - + DiagramEditor (touche : haut / bas) yGrid DiagramaEditor (tecla: arriba / abajo) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 Movimiento del teclado con la tecla ALT: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid DiagramaEditor (tecla: izquierda / derecha) xGrid - + DiagramEditor (touche : haut / bas) yGrid DiagramaEditor (tecla: arriba / abajo) yGrid - + Affichage Grille Visualización de la cuadrícula - - + + max: máx.: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Tamaño de los puntos de la cuadrícula del editor de esquemas: 1 - 5 - - + + min: mín.: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Tamaño de los puntos de la cuadrícula del editor de elementos: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Max. componentes en Editor de Componentes - + Ne pas conserver les labels des éléments lors des copier coller No conservar las etiquetas de los elementos después de copiar y pegar @@ -5202,219 +5953,317 @@ Método para escalar pantallas con alta densidad de píxeles (hdpi) (aplicado al Permite el ajuste del tamaño del folio - + Arrondi supérieur pour 0.5 et plus Redondeo superior si 0.5 ó más - + Toujours arrondi supérieur Redondear al superior siempre - + Toujours arrondi inférieur Redondear al inferior siempre - + Arrondi supérieur pour 0.75 et plus Redondear al superior si 0.75 ó más - + Pas d'arrondi No redondear - + Désactivée Desactivada - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. Activado mediante la variable de entorno QET_ENABLE_SCRIPTING; este ajuste no tiene efecto mientras esté definida. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title General - + Système Sistema - + Arabe Árabe - + Brézilien Brasileño - + Catalan Catalán - + Tchèque Checo - + Allemand Alemán - + Danois Danés - + Grec Griego - + Anglais Inglés - + Espagnol Español - + Français Francés - + Croate Croata - + Italien Italiano - + Japonais Japonés - + Coréen Coreano - + Polonais Polaco - + Portugais Portugués - + Roumains Rumanos Rumano - + Russe Ruso - + Slovène Esloveno - + Pays-Bas Países Bajos - + Norvege Noruego - + Belgique-Flemish Bélgica-Flamenco - + Turc Turco - + Hongrois Húngaro - + Mongol Mongol - + Ukrainien Ucraniano - + Chinois Chino - + Suédois Sueco - + Chemin de la collection company Ruta de la biblioteca de la empresa - + Chemin des cartouches company Ruta de los cajetines de la empresa - + Chemin des macros utilisateur Ruta de las macros del usuario - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Con altos valores podría provocar el fallo de la aplicación - + Fonctionnalité expérimental Función experimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5475,7 +6324,7 @@ Cualquier valor distinto de «Sin redondeo» puede causar errores de representac Este es un modelo de rótulo de QElectroTech, que se puede aplicar a una hoja. - + %1 [non utilisé dans le projet] %1 [No se utiliza en el proyecto] @@ -5805,42 +6654,42 @@ Cualquier valor distinto de «Sin redondeo» puede causar errores de representac ImageTransparentColorDialog - + Couleur transparente Color transparente - + Image source Imagen de origen - + Aperçu Vista previa - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Tolerancia de este color - + Retirer cette couleur Quitar este color - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Haga clic en la imagen para añadir un color. Ajuste la tolerancia de cada color con su control deslizante o haga clic en × para quitarlo. - + Cliquez sur l'image pour choisir une couleur Haga clic en la imagen para elegir un color @@ -6059,28 +6908,28 @@ Por favor use el editor avanzado para esto. JumpToElementDialog - + Atteindre un élément window title Ir a un elemento - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… Nombre, etiqueta o información del elemento, o casilla (p. ej., B13 o 3-B13)… - + Case %1 Casilla %1 - + Folio %1, case %2 Folio %1, casilla %2 - + Folio %1 (%2), case %3 Folio %1 (%2), casilla %3 @@ -6323,6 +7172,96 @@ Por favor use el editor avanzado para esto. Desvincular + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6364,7 +7303,7 @@ Por favor use el editor avanzado para esto. <html><head/><body><p>Desvincular el elemento seleccionado</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Vincular el elemento seleccionado</p></body></html> @@ -6476,7 +7415,7 @@ Voulez-vous tout de même lier ce contact esclave ? Bornes - + Coller depuis le presse-papiers Pegar desde el portapapeles @@ -6486,6 +7425,158 @@ Voulez-vous tout de même lier ce contact esclave ? Referencia cruzada (maestro) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6535,10 +7626,15 @@ Voulez-vous tout de même lier ce contact esclave ? Numeración-automatica de conductores - + Multi-collage Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6548,7 +7644,7 @@ Voulez-vous tout de même lier ce contact esclave ? Diálogo - + Variables de cartouche Variables del proyecto @@ -6576,7 +7672,7 @@ Voulez-vous tout de même lier ce contact esclave ? Añadir una línea - + Copier dans le presse papier Copia al portapapeles @@ -6634,13 +7730,13 @@ Voulez-vous tout de même lier ce contact esclave ? Numeración automática - + Nouveau folio configuration page title Nuevo folio - + Nouveau projet configuration page title Nuevo projecto @@ -6915,13 +8011,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Campo de texto dinamico - + Déplacer un champ texte Mover un campo de texto @@ -6981,25 +8077,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Mover un texto - + Modifier un champ texte Editar un campo de texto + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page Seleccionar una página - + Ce document PDF contient %n page(s) Este documento PDF contiene %n página @@ -7007,32 +8121,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : Página que se va a importar: - + Résolution : Resolución: - + 150 DPI (écran) 150 PPP (pantalla) - + 300 DPI (impression) 300 PPP (impresión) - + 600 DPI (haute qualité) 600 PPP (alta calidad) - + Aperçu : Vista previa: @@ -7138,12 +8252,12 @@ Voulez-vous tout de même lier ce contact esclave ? Polígono cerrado - + Ajouter un point Agrega un punto - + Supprimer ce point Eliminar este punto @@ -7196,26 +8310,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Por favor, seleccione las propiedades que se aplicarán al nuevo potencial. - - - + + + Fonction : %1 función : %1 - - - + + + Tension/protocole : %1 Tensión/Protocolo: %1 - - + + %n conducteurs composent le potentiel suivant : %n conductor compone el siguiente potencial: @@ -7223,55 +8337,55 @@ Tensión/Protocolo: %1 - - - + + + Numéro : %1 Número %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Por favor seleccione un potencial eléctrico de la lista a utilizar para el nuevo potencial - - - + + + Couleur du conducteur : %1 Color de conductor : %1 - - - + + + Section du conducteur : %1 Sección del conductor : %1 - + Ajouter au câble: %1 Agregar al cable : %1 - + Ajouter au bus: %1 Agregar al bus : %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Edite las propiedades de varios conductores - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7282,10 +8396,107 @@ Las siguientes variables son incompatibles; %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Eliminar + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Impresión @@ -7294,155 +8505,355 @@ Las siguientes variables son incompatibles; ProjectAutoNumConfigPage - + Numérotation auto Numeración automática - + Management Administración - - + + Conducteurs Conductores - - + + N° + + + + + Nom + Nombre + + + + Folio + Folio + + + + Élément + Elemento + + + + Figé + + + + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + + + + Eléments Elementos - - + + Folios Folios - + Numérotation auto des folios Numeración automática de folios - + Importer depuis un autre projet... Importar desde otro proyecto... - + Reprendre les numérotations automatiques enregistrées dans un autre projet Reutilizar las numeraciones automáticas guardadas en otro proyecto - - - - - - - - Sans nom - Sin nombre + + figé + - + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Borrar la numeración + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Sin nombre + + + Importer les numérotations d'un projet Importar las numeraciones de un proyecto - + Projet QElectroTech (*.qet) Proyecto QElectroTech (*.qet) - - + + Import impossible No se puede importar - + Impossible d'ouvrir %1 No se puede abrir %1 - + %1 n'est pas un projet QElectroTech valide. %1 no es un proyecto válido de QElectroTech. - - + + Aucune numérotation No hay numeración - - + + Ce projet ne contient aucune numérotation automatique. Este proyecto no contiene ninguna numeración automática. - + Numérotations à importer Numeraciones que se van a importar - + Numérotations trouvées dans %1 : Numeraciones encontradas en %1: - + %1 : %2 (existe déjà) %1: %2 (ya existe) - + Remplacer les numérotations de même nom Sustituir las numeraciones con el mismo nombre - + + Importer des numérotations + + + + Import terminé Importación finalizada - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. %1 numeración(es) importada(s), %2 conservada(s) sin cambios. - + %1 numérotation(s) importée(s). %1 numeración(es) importada(s). - - - - - - - - - Nom de la nouvelle numérotation - Nombre de la nueva numeración + Nombre de la nueva numeración ProjectDBModel - + Position Posición - + Position du folio Posición del folio @@ -7461,50 +8872,134 @@ Las siguientes variables son incompatibles; ProjectMainConfigPage - + Général configuration page title General - + Titre du projet : label when configuring Título del proyecto: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Este título estará disponible para todos los folios del proyecto como %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Usted puede definir las propiedades personalizadas que quiere estén disponibles para todos los folios del proyecto. - + Temps passé sur ce projet : label when configuring Tiempo dedicado a este proyecto: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Registrar el tiempo dedicado a este proyecto (se guarda únicamente en este archivo local) - + Réinitialiser button label Restablecer - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project %1 h %2 min @@ -7548,137 +9043,137 @@ Las siguientes variables son incompatibles; A fecha de : - + Option de rendu Opciones de renderizado - + Dessiner le cadre Dibujar el marco - + Dessiner le cartouche Dibujar el rótulo - + Conserver les couleurs des conducteurs Conservar los colores de los conductores - + Dessiner les bornes Dibujar los conectores - + Dessiner les noms des bornes Mostrar los nombres de los bornes - + Inscrire les informations des composants Incluir la información de los componentes - + Option d'impression Opciones de impresión - + Adapter le folio à la page Ajustar el folio a la página - + Utiliser toute la feuille Utilizar toda la hoja - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Si se marca esta opción, el folio se ampliará o reducirá para llenar toda el área imprimible en una sóla página." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Si se marca esta opción, se ignorarán los márgenes de la hoja y se utilizará toda su superficie para la impresión. Es posible que su impresora no admita esto opción. - + toolBar Barra de herramientas - + Ajuster la largeur Ajustar ancho de página - + Ajuster la page Ajustar el alto de la página - + Zoom arrière Reducir zoom - + Zoom avant Ampliar zoom - + Paysage Horizontal - + Portrait Vertical - + Première page Primera página - + Page précédente Página anterior - + Page suivante Página siguiente - + Dernière page Última página - + Afficher une seule page Mostrar una sóla página - + Afficher deux pages Mostrar dos páginas - + Afficher un aperçu de toutes les pages Mostrar vista preliminar de todas las páginas - + mise en page Disposición en la página @@ -7856,161 +9351,209 @@ Voulez-vous enregistrer les modifications ? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Rótulos QET - + Cartouches company title of the company's title block templates collection Rótulos de empresa - + Cartouches utilisateur title of the user's title block templates collection Rótulos de usuario - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Error + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Salir - + &Masquer &Esconder - + &Restaurer &Restaurar - + &Masquer tous les éditeurs de schéma &Esconder todos los editores de esquema - + &Restaurer tous les éditeurs de schéma &Restaura todos los editores de esquema - + &Masquer tous les éditeurs d'élément &Esconder todos los editores de elementos - + &Restaurer tous les éditeurs d'élément &Restaura todos los editores de elementos - + &Masquer tous les éditeurs de cartouche systray submenu entry &Esconder los editores de rótulos - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Restaura los editores de rótulos - + &Nouvel éditeur de schéma &Nuevo editor de esquema - + &Nouvel éditeur d'élément &Nuevo editor de elemento - + Ferme l'application QElectroTech Cierre el programa QElectroTech - + Réduire QElectroTech dans le systray Minimiza QElectroTech a la bandeja del sistema - + Restaurer QElectroTech Restaura QElectroTech - + Éditeurs de schémas Editores de esquemas - + Éditeurs d'élément Editores de elementos - + Éditeurs de cartouche systray menu entry Editores de rótulos - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Se ha encontrado el siguiente archivo de restauración,<br>¿deseas abrirlo?</br><br> + <b>Se ha encontrado el siguiente archivo de restauración,<br>¿deseas abrirlo?</br><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Se encontraron los siguientes archivos de restauración,<br>¿deseas abrirlos?</b><br> + <b>Se encontraron los siguientes archivos de restauración,<br>¿deseas abrirlos?</b><br> - Fichier de restauration - Archivo de restauración + Archivo de restauración - + Rapport de plantage Informe de cierre inesperado - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech no se cerró correctamente en su última ejecución. Estos son los últimos mensajes registrados antes del cierre; puede guardarlos para adjuntarlos a un informe de errores. - + Rapport de diagnostic Informe de diagnóstico - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Este informe contiene los últimos mensajes de registro de esta sesión. Revise el contenido antes de adjuntarlo a un informe de errores público. - + Usage : Uso : - + [options] [fichier]... @@ -8019,7 +9562,7 @@ Estos son los últimos mensajes registrados antes del cierre; puede guardarlos p - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8036,114 +9579,114 @@ Opciones disponibles: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definir la carpeta de la colección de elementos - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definir la carpeta de la colección de elementos - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definir la carpeta de configuración - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Definir el directorio de datos - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definir la carpeta con los archivos de idioma - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Cargando... Inicializando la caché de collecciones de elementos - + Chargement... Éditeur de schéma splash screen caption Cargando... Editor de esquemas - + Chargement... Ouverture des fichiers splash screen caption Cargando.... Abriendo archivos - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Esquema - + Electrique Normal example text - translate length, not meaning Eléctrico - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configurar QElectroTech - + Chargement... splash screen caption Cargando... - + Chargement... icône du systray splash screen caption Cargando.... icono de la bandeja del sistema - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8152,148 +9695,156 @@ Opciones disponibles: QETDiagramEditor - + Aucune modification Ninguna modificación - + &Nouveau &Nuevo - + &Ouvrir &Abrir - + + &Fermer &Cerrar - + &Enregistrer &Guardar - + Enregistrer sous Guardar como - + E&xporter E&xportar - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Este panel muestra las diferentes acciones realizadas en el folio actual. Haga clic en una acción para volver al estado del folio justo después de la acción. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Editor de esquemas - + Imprimer Imprimir - + Exporter en pdf Exportar a PDF - + Exporte un ou plusieurs folios du projet courant status bar tip Exporta uno o varios folios del proyecto actual - + &Quitter &Salir - + Annuler Deshacer - + Refaire Rehacer - + Co&uper C&ortar - + Cop&ier &Copiar - + C&oller &Pegar - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Corte automático de conductores - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Cortar automáticamente los conductores existentes al colocar un elemento @@ -8309,421 +9860,627 @@ Opciones disponibles: Muestra el color de fondo de la hoja en blanco o gris - + Afficher la grille Mostrar cuadrícula - + Affiche ou masque la grille des folios Muestra u oculta la cuadrícula - + Grille des textes Cuadrícula de textos - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. Cuadrícula de ajuste para los textos desplazados con el ratón. Mantenga pulsada la tecla Ctrl durante el desplazamiento para colocar libremente. - + Désactivée Desactivada - + Afficher les guides Mostrar las guías - + Affiche ou masque les guides Muestra u oculta las guías - + Garder les en-têtes visibles Mantener visibles los encabezados - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue Mantiene visibles los números de columna y las letras de fila del folio en el borde de la vista - + Afficher les limites des cases Mostrar los límites de las casillas - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement Dibuja los límites de las columnas y las filas del folio sobre el esquema, solo en pantalla - + + Afficher + Mostrar + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Referencias cruzadas + + + + Voir Affichage > Afficher + + + + Propriétés du folio Propiedades del folio - + Ajouter un folio Añadir un folio - - - + + + Supprimer le folio Eliminar el folio - + Exporter au format CSV Exportar en formato CSV - + Ajouter une nomenclature Añadir una lista de materiales - + Gestionnaire de borniers (DEV) Gestor de borneros (DEV) - + Exporter la liste des noms de conducteurs Exportar la lista de nombres de conductores - + Exporter le plan de câblage Exportar el plano de cableado - + Liste de câblage (base de données) Lista de cableado (base de datos) - + Numérotation automatique des bornes Numeración automática de bornes - - - + + + Recharger les dessins des éléments Recargar los dibujos de los elementos - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) Vuelve a dibujar cada elemento colocado según su definición actual, sin necesidad de cerrar y volver a abrir el proyecto (esta acción no se puede deshacer) - + Exécuter un script... Ejecutar un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) Ejecuta un script JavaScript en el proyecto actual (consulte qet.* en el script para conocer la API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Exportar la base de datos interna del proyecto - + Crée un nouveau projet status bar tip Crear un nuevo proyecto - + Ouvre un projet existant status bar tip Abrir un proyecto existente - + Ferme le projet courant status bar tip Cerrar el proyecto - + Enregistre le projet courant et tous ses folios status bar tip Guardar el proyecto - + Enregistre le projet courant avec un autre nom de fichier status bar tip Guardar el proyecto con otro nombre de archivo - + Ajouter une ligne Add row Añadir una fila - + Enlever une ligne Remove row Eliminar una fila - + Ajoute une colonne au folio status bar tip Añadir una columna - + Enlève une colonne au folio status bar tip Eliminar una columna - + Agrandit le folio en hauteur status bar tip Aumentar el tamaño vertical del folio - + Rétrécit le folio en hauteur status bar tip Disminuir el tamaño vertical del folio - + Pivoter le groupe Girar el grupo - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément Insertar el último elemento - + Place à nouveau le dernier élément inséré status bar tip Vuelve a colocar el último elemento insertado - + Rechercher une commande… Buscar un comando… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip Escriba parte del nombre de un comando y pulse Intro para ejecutarlo - + Insérer un élément… Insertar un elemento… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip Abre el selector de elementos en la posición del cursor - + Barre de raccourcis Barra de accesos directos - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip Abre los comandos útiles para la selección y el selector de elementos en la posición del cursor - + Répéter la dernière commande Repetir el último comando - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip Vuelve a activar la última herramienta de dibujo o la última inserción de elemento (Intro en el folio) - + Enlève les éléments sélectionnés du folio status bar tip Eliminar los elementos seleccionados - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Gira la selección como un grupo alrededor de su centro, en lugar de girar cada elemento sobre sí mismo - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille Ajustar a la cuadrícula - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip Vuelve a ajustar a la cuadrícula los elementos, imágenes y textos seleccionados - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Seleccionar todo - + Désélectionner tout Deseleccionar todo - + Inverser la sélection Invertir la selección - + Sélectionner tous les conducteurs Seleccionar todos los conductores - + Sélectionner tous les champs de texte Seleccionar todos los campos de texto - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip Selecciona todos los conductores del folio y deselecciona el resto - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip Selecciona todos los campos de texto del folio y deselecciona el resto - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF Añadir un PDF - + + Ajouter un arc + + + + Ajouter une courbe Añadir una curva - + + Ajouter un congé + + + + Ajouter un plan de bornes Añadir un plano de bornes - + Ajoute un champ de texte sur le folio actuel Agrega un campo de texto en el folio actual - + Ajoute une image sur le folio actuel Agregar una imagen en el folio actual - + Ajoute une page PDF sur le folio actuel Añade una página PDF al folio actual - + Ajoute une ligne sur le folio actuel Añadir una línea al folio actual - + Ajoute un rectangle sur le folio actuel Añadir un rectangulo al folio actual - + Ajoute une ellipse sur le folio actuel Agregar una elipse al folio actual - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Agregar una polilínea al folio actual - + Ajoute une courbe de Bézier sur le folio actuel Añade una curva de Bézier al folio actual - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Añade un plano de bornero al folio actual - + Atteindre un élément Ir a un elemento - + Recherche et sélectionne rapidement un élément du folio status bar tip Busca y selecciona rápidamente un elemento del folio - + Profondeur toolbar title Profundidad - + + Scripts + toolbar title + + + + A&jouter A&ñadir - + Aligner Alinear - + Lignes et colonnes Filas y columnas + + + + Scripts + + - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -8732,7 +10489,7 @@ Mantenga pulsada la tecla Ctrl durante el desplazamiento para colocar libremente - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -8741,43 +10498,83 @@ Mantenga pulsada la tecla Ctrl durante el desplazamiento para colocar libremente - + Polices du projet message box title Fuentes del proyecto - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + Suppression de borne impossible No se puede eliminar el borne - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer No se puede eliminar la selección porque contiene uno o varios bornes puenteados o pertenecientes a un borne de varios niveles. Retire los puentes o elimine los niveles de los bornes afectados para poder eliminarlos. - + Groupe Grupo - + %n objet(s) remis sur la grille %n objeto ajustado a la cuadrícula %n objetos ajustados a la cuadrícula + + + %n objet(s) aligné(s) + + + + + - + La sélection est déjà sur la grille La selección ya está ajustada a la cuadrícula + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) (%n objeto bloqueado se ha dejado en su posición) @@ -8785,28 +10582,28 @@ Retire los puentes o elimine los niveles de los bornes afectados para poder elim - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Se produjo un error al abrir el archivo %1. - + Répéter : insérer « %1 » Repetir: insertar «%1» - + Répéter : %1 Repetir: %1 - + folio %1 folio %1 - + %n élément(s) redessiné(s). %n elemento redibujado. @@ -8814,7 +10611,7 @@ Retire los puentes o elimine los niveles de los bornes afectados para poder elim - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. No se ha encontrado o no se ha podido leer la definición de %n elemento: se ha conservado su dibujo actual. @@ -8822,7 +10619,7 @@ Retire los puentes o elimine los niveles de los bornes afectados para poder elim - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). %n elemento no redibujado: ha cambiado su tamaño, su punto de inserción o sus bornes (se ha añadido, eliminado o desplazado un borne). @@ -8830,18 +10627,18 @@ Retire los puentes o elimine los niveles de los bornes afectados para poder elim - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. Para actualizarlos, debe eliminarlos y volver a insertarlos. Atención: esta operación elimina los conductores conectados a estos elementos, que deberán dibujarse de nuevo. - - + + Exécuter un script Ejecutar un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8854,632 +10651,741 @@ Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abiert ¿Activar los scripts? Este ajuste se puede modificar en Configurar QElectroTech > General > Proyectos. - + Scripts JavaScript (*.js);;Tous les fichiers (*) Scripts JavaScript (*.js);;Todos los archivos (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 Textos %1 - + Supprimer Eliminar - + Pivoter Girar - + Éditer l'item sélectionné Editar el elemento seleccionado - + Réinitialiser les conducteurs Reiniciar los conductores - + Ajouter un champ de texte Añadir un campo de texto - + Ajouter une colonne Añadir una columna - + Enlever une colonne Eliminar una columna - + Propriétés du projet Propiedades del proyecto - + Zoom avant Ampliar - + Zoom arrière Reducir - + Zoom adapté Ajustar - + Pas de zoom Normal - + en utilisant des onglets utilizando pestañas - + en utilisant des fenêtres utilizando ventanas - + Mode Selection Modo selección - + Mode Visualisation Modo visualización - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Haga clic en una acción para volver atras en la edición de su esquema - + Retrouver dans le panel Encontrar en el panel - + Ajouter une image Añadir una imagen - + Ajouter un sommaire Añadir un resumen - + Zoom sur le contenu Ampliar el contenido - + &Mosaïque &Mosaico - + &Cascade &Cascada - + Création automatique de conducteur(s) Tool tip of auto conductor Creación automática de un conductor (es) - + Projets dock title Proyectos - + Collections Colecciones - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer Dupli&car - + Copie la sélection, décalée de l'espacement configuré status bar tip Copia la selección con el desplazamiento configurado - + Configurer la duplication... Configurar la duplicación... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip Elegir la separación y la dirección que utiliza Duplicar - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Utilizar creación automática de un conductor(es) - + Lancer le plugin de création de borniers terminales o bornes Lanzar el plugin de creación de terminales - + Grouper les textes sélectionnés Agrupar los textos seleccionados - + Pivote les éléments et textes sélectionnés status bar tip Gira los elementos y textos seleccionados - + Pivote les textes sélectionnés à un angle précis status bar tip Gira los textos seleccionados a un ángulo determinado - + Retrouve l'élément sélectionné dans le panel status bar tip Encontrar el elemento seleccionado en el panel - + Ajouter une ligne Draw line Añadir una línea - + Chercher/remplacer Buscar/Reemplazar - + &Fichier &Archivo - + &Édition &Edición - + &Projet P&royecto - + Afficha&ge &Ver - + Fe&nêtres Venta&nas - + Affiche ou non la barre d'outils principale Mostrar u ocultar la barra de herramientas principal - + Affiche ou non la barre d'outils Affichage Mostrar u ocultar la barra de herramientas "Ver" - + Affiche ou non la barre d'outils Schéma Mostrar u ocultar la barra de herramientas "Esquema" - + Affiche ou non le panel d'appareils Mostrar u ocultar el panel de dispositivos - + Affiche ou non la liste des modifications Mostrar u ocultar la lista de modificaciones - + Afficher les projets Mostrar los proyectos - + Outils Herramientas - + Affichage Ver - + Schéma Esquema - + Ajouter Añadir - + Ouvrir un fichier Abrir un archivo - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Parece que el archivo que intenta abrir no es accesible en lectura. Por eso es imposible abrirlo. Por favor compruebe los permisos del archivo. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Parece que el proyecto que intenta abrir no es accesible en escritura. Por eso se abrira en sólo lectura. - + Éditer l'élement edit element Editar el elemento - + Éditer le champ de texte edit text field Editar el campo de texto - + Éditer l'image edit image Editar la imagen - + Éditer le conducteur edit conductor Editar el conductor - + Éditer l'objet sélectionné edit selected item Editar el objeto seleccionado - + Active le projet « %1 » Activar el proyecto « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? ¿Seguro que desea eliminar este folio? - + Supprimer les folios Eliminar los folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? ¿Seguro que desea eliminar los %1 folios seleccionados? - + Supprimer %1 folios Eliminar %1 folios - - - - - - - + + + + + + + Déplacer les folios Mover los folios - + Erreur message box title Error - + Nettoyer le projet Limpiar el proyecto - - + + Échec de l'ouverture du projet message box title Fracaso al abrir el proyecto - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Parece que el archivo %1 no es un archivo de proyecto QElectroTech. Por eso no se puede abrir. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Anulaciones - + Orienter les textes Orientar los textos - + Ferme l'application QElectroTech status bar tip Cierre el programa QElectroTech - + Annule l'action précédente status bar tip Deshacer la última acción - + Restaure l'action annulée status bar tip Restaurar la última acción deshecha - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Transferir los elementos seleccionados al portapapeles - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copiar los elementos seleccionados al portapapeles - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deseleccionar los elementos ya seleccionados y seleccionar los elementos no seleccionados - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Recalcule los caminos de los conductores sin tener en cuenta las modificaciones - + Restaure le zoom par défaut status bar tip Restaurar el zoom por defecto - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Mostrar los diferentes proyectos abiertos en sub ventanas - + Présente les différents projets ouverts des onglets status bar tip Mostrar los diferentes proyectos abiertos en pestañas - + Permet de sélectionner les éléments status bar tip Permite seleccionar los elementos - + Dispose les fenêtres en mosaïque status bar tip Poner las ventanas en mosaico - + Dispose les fenêtres en cascade status bar tip Poner las ventanas en cascada - + Projet suivant Proyecto siguiente - + Projet précédent Proyecto previo - + Sélectionne tous les éléments du folio status bar tip Selecciona todos los elementos - + Désélectionne tous les éléments du folio status bar tip Deselecciona todos los elementos - + Agrandit le folio status bar tip Aumenta el tamaño del folio - + Rétrécit le folio status bar tip Disminuye el tamaño del folio - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Ajusta el zoom para visualizar todos los contenidos del folio - + Adapte le zoom exactement sur le cadre du folio status bar tip Ajusta el zoom al folio - + Ajouter un rectangle Añadir un rectángulo - + Ajouter une ellipse Añadir una elipse - + Ajouter une polyligne Añadir un polígono - + Exporte le folio courant dans un autre format status bar tip Exportar el folio en otro formato - + Imprime un ou plusieurs folios du projet courant status bar tip Imprimir uno o más folios - + Place les éléments du presse-papier sur le folio status bar tip Pega los elementos del portapapeles en el folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Edita las propiedades del folio - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Permitir ver el folio sin modificarlo - + Active le projet suivant status bar tip Activar el proyecto siguiente - + Active le projet précédent status bar tip Activar el proyecto previo - + &Récemment ouverts &Recientemente abiertos - - + + Projet %1 enregistré dans le repertoire: %2. Proyecto %1 guardar en el directorio: %2. - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Projectos QElectroTech (*.qet);;Archivos XML (*.xml);;Todos los archivos (*.") - - + + Impossible d'ouvrir le fichier message box title Imposible de abrir el archivo - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Parece que el archivo %1 que usted está intentando abrir no existe. - + Ouverture du projet en lecture seule message box title Abriendo el proyecto en sólo lectura @@ -9488,42 +11394,42 @@ Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abiert QETElementEditor - + &Nouveau &Nuevo - + &Ouvrir &Abrir - + &Ouvrir depuis un fichier &Abrir desde un archivo - + &Enregistrer &Guardar - + Enregistrer sous Guardar como - + Enregistrer dans un fichier Guardar en archivo - + Recharger Recargar - + Tout sélectionner Seleccionar todo @@ -9533,329 +11439,329 @@ Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abiert QElectroTech - Editor de elemento - + &Aide Ay&uda - + Annulations Historial de deshacer - + Parties Partes - + Informations Información - + Outils Herramientas - + Affichage Ver - + Élément Elemento - + Annulation Deshacer - + Exporter en SVG Exportar a SVG - + &Fermer cet éditeur &Cerrar este editor - + Fermer cet éditeur Cerrar este editor - + Désélectionner tout Deseleccionar todo - + C&oller dans la zone P&egar en la zona - + Un fichier Un archivo - + Un élément Un elemento - + À &propos de QElectroTech &Acerca de QElectroTech - + Affiche des informations sur QElectroTech Mostrar información sobre QElectroTech - + Manuel en ligne Manual en línea - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Abre el manual en línea de QElectroTech en el navegador predeterminado - + Chaine Youtube Canal de YouTube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Abre el canal de YouTube de QElectroTech en el navegador predeterminado - + Soutenir le projet par un don Apoyar el proyecto con una donación - + Soutenir le projet QElectroTech par un don Apoyar el proyecto QElectroTech con una donación - + À propos de &Qt Acerca de &Qt - + Affiche des informations sur la bibliothèque Qt Muestra información sobre la biblioteca Qt - + Rotation Rotación - + Fine-Rotation Rotación precisa - + Mirror Reflejar horizontalmente - + Flip Voltear verticalmente - + Importer un dxf Importar un DXF - + importer un élément à redimensionner Importar un elemento para redimensionarlo - + Inverser la sélection Invertir la selección - + &Supprimer &Eliminar - + Zoom avant Ampliar - + Zoom arrière Reducir - + Zoom adapté Ajustar - + Pas de zoom Normal - + Éditer les informations sur l'auteur Editar la información sobre el autor - + Ajouter une ligne Añadir una línea - + Ajouter une ellipse Añadir una elipse - + Ajouter un polygone Añadir un polígono - + Ajouter du texte Añadir texto - + Ajouter un arc de cercle Añadir un arco de círculo - + Ajouter une borne Añadir un conector - + Annuler Deshacer - + Afficher menu entry Mostrar - + Refaire Rehacer - + Avertissement Advertencia - + Coller depuis... Pegar desde... - + Absence de borne Falta de conector - + Aucune modification Ninguna modificación - + Parties toolbar title Partes - + Profondeur toolbar title Profundidad - + Éditer le nom et les traductions de l'élément Edite el nombre y las traducciones del elemento - + Éditer les propriétés de l'élément Editar las propiedades de los elementos - + Ajouter un champ texte dynamique Añadir un campo de texto dinámico - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Doble clic para terminar la forma, Clic derecho para cancelar el último punto - + &Fichier &Archivo - + &Édition &Edición - + Afficha&ge &Ver - + [Modifié] window title tag [modificado] - + [lecture seule] window title tag [sólo lectura] - + Éditeur d'éléments status bar message Editor de elementos - - + + %n partie(s) sélectionnée(s). %n parte selectionada. @@ -9863,13 +11769,13 @@ Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abiert - + Absence de borne warning title Falta de conector - + %n avertissement(s) warnings @@ -9878,236 +11784,292 @@ Un script se ejecuta con sus permisos: puede leer y modificar el proyecto abiert - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Le fichier %1 n'existe pas. message box content El archivo %1 no existe. - - + + Impossible d'ouvrir le fichier %1. message box content Imposible abrir el archivo %1. - - + + Ce fichier n'est pas un document XML valide message box content Este archivo no es un documento XML válido - - + + Erreur toolbar title Error - - + + Édition en lecture seule message box title Edición en solo lectura - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content No tiene los privilegios necesarios para editar este elemento. Por eso se abrirá en sólo lectura. - - + + Erreur message box title Error - + Impossible d'écrire dans ce fichier message box content Imposible escribir en el archivo - + Impossible d'enregistrer l'élément message box content Imposible guardar el elemento - + Trop de primitives, liste non générée: %1 Demasiadas primitivas; no se ha generado la lista: %1 - + Nombre de bornes incorrect Número de bornes incorrecto - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Error</b>:<br>Las definiciones de conductor solo pueden tener un borne.<br><b>Solución</b>:<br>Compruebe que el elemento solo tiene un borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title Imposible de abrir el archivo - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Parece que el archivo %1 que usted está intentando abrir no existe. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Editor de elementos - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Anchura + + + + Hauteur + Altura + + + X: %1 Y: %2 X: %1 Y: %2 - - - + + + Echec de l'enregistrement Fallo al guardar - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Fallo al guardar, Las condiciones requeridas no son validas - + Exporter en SVG dialog title Exportar a SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG Imagen SVG (*.svg) - + Échec de l'export Error de exportación - + Impossible d'écrire dans le fichier « %1 ». No se puede escribir en el archivo «%1». - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... La importación de un DXF de gran tamaño puede tardar. Espere mientras se importa... - + Importer un élément à redimensionner Importar un elemento para redimensionarlo - + Éléments QElectroTech (*.elmt) Elementos QElectroTech (*.elmt) - + Ouvrir un fichier dialog title Abrir un archivo - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementos QElectroTech (*.elmt);;Archivos XML (*.xml);;Todos los archivos (*) - + Recharger l'élément dialog title Recargar el elemento - + Ajouter un texte d'élément non éditable dans les schémas Añadir un elemento de texto no editable en los esquemas - + Ajouter un texte d'élément pouvant être édité dans les schémas Añadir un elemento de texto que se pueda editar en los esquemas - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>En ausencia de Terminal, el elemento no puede relacionarse con otros componentes a través de conductores. - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Error</b> :<br>Las conexiones de folio deben tener un solo borne.<br><b>Solución</b> :<br>Verifique que el elemento tiene un solo borne - + La vérification de cet élément a généré message box content La verificación del elemento ha generado - + %n erreur(s) errors @@ -10116,90 +12078,90 @@ Espere mientras se importa... - + et y - + Erreurs Errores - + Avertissements Advertencias - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Editó este elemento. Si recarga las edicciones se perderan. ¿Está seguro de recargar el elemento? - + Enregistrer sous dialog title Guardar como - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementos QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Guardar el elemento corriente? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name ¿Quiere guardar el elemento %1? - - - - + + + + Élément inexistant. message box title Elemento inexistente. - - + + L'élément n'existe pas. message box content El elemento no existe. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content El camino virtual elegido no corresponde a un elemento. - + Co&uper C&ortar - + Cop&ier &Copiar - + C&oller &Pegar - + Ajouter un rectangle Añadir un rectángulo @@ -10207,137 +12169,172 @@ Espere mientras se importa... QETMainWindow - + &Configurer QElectroTech &Configurar QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permite ajustar diferentes parámetros de QElectroTech - + À &propos de QElectroTech &Acerca de QElectroTech - + Affiche des informations sur QElectroTech status bar tip Mostrar información sobre QElectroTech - + Manuel en ligne Manual Online - + Chaine Youtube Canal de Youtube - - + + Télécharger une nouvelle version (dev) Descargar una nueva versión (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Inicia el manual en línea de QElectroTech - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général General - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Inicia el canal de Youtube de QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Inicia el repositorio Nightly de QElectroTech - + Soutenir le projet par un don Apoyar el proyecto con una donación - + Soutenir le projet QElectroTech par un don status bar tip Apoyar el proyecto QElectroTech con una donación - + À propos de &Qt Acerca de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Mostrar informacion sobre la biblioteca Qt - + Enregistrer un rapport de diagnostic... Guardar un informe de diagnóstico... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Genera un informe con los últimos mensajes de registro para incluirlo en un informe de errores - + &Configuration window menu &Configuración - + &Aide window menu Ay&uda - + Sortir du &mode plein écran Salir del &modo de pantalla completa - + Affiche QElectroTech en mode fenêtré status bar tip Mostrar QElectroTech en modo ventana - + Passer en &mode plein écran Pasar al &modo de pantalla completa - + Affiche QElectroTech en mode plein écran status bar tip Mostrar QElectroTech en modo pantalla completa - + Afficher menu entry Mostrar @@ -10346,58 +12343,58 @@ Espere mientras se importa... QETProject - + Avertissement message box title Advertencia - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projecto « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Proyecto %1 - + Projet sans titre displayed title for a project-less, file-less project Proyecto sín título - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [sólo lectura] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modificado] - + Renumber elements Renumerar elementos - + Renumber elements (%1) Renumerar elementos (%1) - + Système de contacts modifié Sistema de contactos modificado - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10408,13 +12405,13 @@ Los elementos esclavos existentes no se asignarán automáticamente. Deberá vol ¿Desea continuar? - + Une erreur s'est produite durant l'intégration du modèle. error message Un error ocurrió durante la integración del modelo. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10423,7 +12420,7 @@ que es posterior a la suya. Actualmente utiliza QElectroTech versión %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10432,32 +12429,32 @@ Es posible que no se pueda abrir este documento, total o parcialmente. ¿Qué desea hacer? - + Avertissement message box title Advertencia - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. El proyecto que intenta abrir es parcialmente compatible con su versión %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Para hacerlo totalmente compatible, abra este mismo proyecto con la versión 0.8 o 0.80 de QElectroTech, guárdelo y vuelva a abrirlo con esta versión. ¿Qué desea hacer? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b><p align="center"><b>Apertura del proyecto en curso...</b><br/>Creación de folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Apertura del proyecto en curso...</b><br/>Configuración de referencias cruzadas</p> @@ -10794,7 +12791,7 @@ Que désirez vous faire ? Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name - El nombre «%1» no es válido: no puede contener los siguientes caracteres: \ / : * ? " < > | + El nombre «%1» no es válido: no puede contener los siguientes caracteres: \ / : * ? " < > | @@ -10828,23 +12825,23 @@ Que désirez vous faire ? QObject - + Exporter vers le presse-papier Exportar al portapapeles - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Aviso: el elemento fue guardado con una versión mas reciente de QElectroTech. - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? El archivo de texto que contiene la licencia GNU / GPL no se encuentra - bueno bah de todos modos, usted lo sabe de memoria, ¿verdad? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? El archivo de texto que contiene la licencia GNU / GPL existe, pero no puede ser abierto - bueno bah de todos modos, usted lo sabe de memoria, ¿verdad? @@ -10864,44 +12861,44 @@ Que désirez vous faire ? un elemento gráfico - + supprimer %1 undo caption - %1 is a sentence listing the removed content eliminar %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste pegar %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut cortar %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content mover %1 - + modifier le texte undo caption modificar el texto - + modifier un conducteur undo caption modificar un conductor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reiniciar %1 @@ -10914,7 +12911,7 @@ Que désirez vous faire ? modificar el modelo - + modifier les dimensions du folio undo caption Modificar el tamaño del folio @@ -11086,7 +13083,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11095,7 +13092,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11104,7 +13101,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11113,7 +13110,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11122,7 +13119,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11131,7 +13128,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11140,7 +13137,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11149,7 +13146,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11158,69 +13155,69 @@ Que désirez vous faire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Imposible abrir el archivo %1 para escritura, se han econtrado el error %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Se ha producido un error al escribir el archivo %1; error encontrado: %2. - + Amener au premier plan Poner en primer plano - + Rapprocher Acercar - + Éloigner Alejar - + Envoyer au fond Poner en el fondo - + Ramène la ou les sélections au premier plan Lleve la selección o las selecciones al primer plano - + Rapproche la ou les sélections Cierre la selección o las selecciones - + Éloigne la ou les sélections Salir de la o las selecciones - + Envoie en arrière plan la ou les sélections Enviar en segundo plano las selecciones - - - - + + + + Profondeur Profundidad - + Borne tooltip Conector @@ -11238,27 +13235,27 @@ Que désirez vous faire ? rectángulo - + Folio sans titre Folio sin título - + schema esquema - + Conserver les proportions Mantener proporciones - + Réinitialiser les dimensions Reiniciar los tamaños - + Aperçu Vista previa @@ -11413,6 +13410,7 @@ Que désirez vous faire ? + Titre Titulo @@ -11495,6 +13493,7 @@ Que désirez vous faire ? Texto + Modifier les informations de l'élément : %1 Modificar las propiedades del elemento : %1 @@ -11584,32 +13583,32 @@ Que désirez vous faire ? Número de folio - + Collection QET Colección QET - + Collection Company Colección de empresa - + Collection utilisateur Colección de usuario - + Macros Macros - + Collection inconnue Colección desconocida - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. El archivo «%1» no existe o no se puede leer: no se ha podido obtener el nombre traducido de esta carpeta y se muestra su nombre de carpeta en su lugar. @@ -11623,8 +13622,13 @@ Que désirez vous faire ? Collection Colección + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11697,7 +13701,7 @@ Que désirez vous faire ? %1 grupos de textos - + %n texte(s) %n texto @@ -11705,13 +13709,13 @@ Que désirez vous faire ? - - + + Pivoter %1 Girar %1 - + Orienter les textes sélectionnés window title Orientar los textos seleccionados @@ -11760,14 +13764,14 @@ Voulez-vous la remplacer ? Importar la configuración de texto : %1 - + %p% effectué (%v sur %m) sur (sobre o de) %p% Hecho (%v de %m) - - + + chargement %p% (%v sur %m) Cargando %p% (%v de %m) @@ -11777,22 +13781,22 @@ Voulez-vous la remplacer ? Buscar / reemplazar propiedades del folio - + Chercher/remplacer les propriétés d'éléments. Buscar/reemplazar las propiedades de los elementos. - + Chercher/remplacer les propriétés de conducteurs. Buscar/reemplazar las propiedades de los conductores. - + Rechercher / remplacer avancé Búsqueda / reemplazo avanzado - + Chercher/remplacer des textes independants Buscar / reemplazar los textos independientes @@ -11894,35 +13898,35 @@ Voulez-vous la remplacer ? - - - + + + Type Tipo - - - + + + Adresse Dirección - - - + + + Commentaire Comentario - - - + + + Réf. croisée Ref. cruzada @@ -11930,9 +13934,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Función @@ -12257,27 +14261,27 @@ Voulez-vous la remplacer ? Ruta del archivo guardado - + Création de conducteurs Creación de conductores - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Para instalar el plugin qet_tb_generator<br>Visita :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requiere python 3.5 o superior.<br><B><U> Primera instalación en Windows</B></U><br>1. Instalar, si es necesario, python 3.5 o superior<br> Visita :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. instalación de pip qet_tb_generator<br><B><U> Update en Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>El usuario podría iniciar en un terminal este script en este directorio.<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - Para instalar el complemento qet_tb_generator<br>Visite:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Primera instalación en macOSX</B></U><br>1. Si es necesario, instale únicamente el paquete de Python 3.11: <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Ejecute el script Profile.command<br>porque el programa utiliza una ruta PATH fija para localizar el complemento qet-tb-generator.<br>Consulte:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>instrucciones</a><br>2. pip3 install qet_tb_generator<br><B><U> Actualización en macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> + Para instalar el complemento qet_tb_generator<br>Visite:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Primera instalación en macOSX</B></U><br>1. Si es necesario, instale únicamente el paquete de Python 3.11: <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Ejecute el script Profile.command<br>porque el programa utiliza una ruta PATH fija para localizar el complemento qet-tb-generator.<br>Consulte:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>instrucciones</a><br>2. pip3 install qet_tb_generator<br><B><U> Actualización en macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - Para instalar el complemento qet_tb_generator<br>Visite:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requiere Python 3.5 o posterior.<br><br><B><U> Primera instalación en Linux</B></U><br>1. Compruebe que tiene pip3 instalado: pip3 --version<br>Si no lo tiene, instálelo con: sudo apt-get install python3-pip<br>2. Instale el programa: sudo pip3 install qet_tb_generator<br>3. Ejecute el programa: qet_tb_generator<br><br><B><U> Actualización en Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> + Para instalar el complemento qet_tb_generator<br>Visite:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requiere Python 3.5 o posterior.<br><br><B><U> Primera instalación en Linux</B></U><br>1. Compruebe que tiene pip3 instalado: pip3 --version<br>Si no lo tiene, instálelo con: sudo apt-get install python3-pip<br>2. Instale el programa: sudo pip3 install qet_tb_generator<br>3. Ejecute el programa: qet_tb_generator<br><br><B><U> Actualización en Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Error al iniciar el complemento qet_tb_generator @@ -12391,26 +14395,26 @@ Voulez-vous la remplacer ? Salida universal - - + + - - - - - - + + + + + + this is an error in the code Esto es un error en el código - + Importer un fichier dxf Importar un archivo DXF - + Ouvrir un element Abrir un elemento @@ -12545,7 +14549,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Descárguelo mediante el siguiente enlace y descomprímalo en la carpeta de instalación. - + Automatic terminal numbering Numeración automática de bornes @@ -12628,7 +14632,7 @@ Descárguelo mediante el siguiente enlace y descomprímalo en la carpeta de inst - + %n groupe(s) de textes %n grupo de textos @@ -12637,8 +14641,8 @@ Descárguelo mediante el siguiente enlace y descomprímalo en la carpeta de inst - - + + Déplacer %1 Mover %1 @@ -12767,98 +14771,111 @@ Descárguelo mediante el siguiente enlace y descomprímalo en la carpeta de inst - + Aligner %n objet(s) sur la grille Ajustar %n objeto a la cuadrícula Ajustar %n objetos a la cuadrícula + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Añadir %1 - + Modifier les propriétés du conducteur Modificar las propiedades del conductor - + Modifier un texte Modificar un texto - + Modifier la couleur d'un texte Modificar el color de un texto - + Pivoter un texte Girar un texto - + Modifier le trait d'une forme Modificar el trazo de una forma - + Modifier le remplissage d'une forme Modificar el relleno de una forma - + Pivoter une forme Girar una forma - - + + Modifier la forme d'%1 Modificar la forma de %1 - + Fermer/Ouvrir %1 Cerrar/abrir %1 - + Redimensionner une image Redimensionar una imagen - + Pivoter une image Girar una imagen - + Modifier un texte d'élément Modificar un texto del elemento - + Numéroter automatiquement un élément Numerar automáticamente un elemento - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer Buscar y reemplazar - - - + + + Script Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12870,6 +14887,47 @@ Un script tiene acceso a todo el proyecto y puede escribir archivos; por eso, es Para activarla: Configurar QElectroTech > General > Proyectos, o defina la variable de entorno QET_ENABLE_SCRIPTING=1 para ejecutar sin interfaz gráfica (integración continua, procesamiento por lotes). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Folio + QTextOrientationWidget @@ -12889,371 +14947,432 @@ Para activarla: Configurar QElectroTech > General > Proyectos, o defina la QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. La información que se debe mostrar supera la capacidad máxima de las tablas. Añada una nueva tabla o ajuste las tablas existentes para mostrar toda la información. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. La información que se debe mostrar supera la capacidad máxima de la tabla. Añada una nueva tabla o ajuste la tabla existente para mostrar toda la información. - + Limitation de tableau Límite de capacidad de la tabla - + Modifier la géometrie d'un tableau Modificar la geometría de una tabla + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape una forma - + une ligne una línea - - + + Ajouter un point Agrega un punto - + Supprimer ce point Eliminar este punto - + Déformer une courbe Deformar una curva - + Nœud le plus proche Nodo más cercano - + Lisse Suave - + Symétrique Simétrico - + Anguleux De esquina - + Supprimer le nœud le plus proche Eliminar el nodo más cercano - + Convertir en polyligne Convertir en polilínea - + Convertir en courbe de Bézier Convertir en curva de Bézier - + Miroir horizontal Reflejar horizontalmente - + Miroir vertical Reflejar verticalmente - + Taille Tamaño - + Coins arrondis Esquinas redondeadas - + Édition des nœuds Edición de nodos - + Rotation/Inclinaison Rotación/inclinación - + Cliquer : mode %1 Clic: modo %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Arrastrar una esquina o un borde: redimensionar (Ctrl = desde el centro, Mayús = mantener proporciones, Alt = convertir en polilínea) - + ; point turquoise : arc ; punto turquesa: arco - + Glisser une extrémité : la déplacer Arrastrar un extremo: desplazarlo - + Glisser un point : le déplacer Arrastrar un punto: desplazarlo - + Glisser le point violet : arrondir les coins Arrastrar el punto violeta: redondear las esquinas - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Arrastrar un tirador o la curva: deformar (Alt = romper la tangente); Alt+arrastrar un punto de esquina: crear tiradores; clic derecho: menú del nodo más cercano - + une extrémité un extremo - + un coin una esquina - + un point un punto - + Glisser %1 : rotation (Maj = 15°) Arrastrar %1: girar (Mayús = 15°) - + ; un bord : inclinaison ; un borde: inclinar - + ; point rouge : glisser pour repositionner le centre de rotation ; punto rojo: arrastrar para recolocar el centro de rotación - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Ctrl al arrastrar = posición libre, sin ajuste a la cuadrícula) - + — Cliquer : mode %1 — Clic: modo %1 - + Glisser : déplacer ce point Arrastrar: desplazar este punto - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Arrastrar: redimensionar (Ctrl = desde el centro + posición libre, Mayús = mantener proporciones - + , Alt = détacher en polyligne , Alt = convertir en polilínea - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Arrastrar: girar (Ctrl = posición libre, Mayús = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Arrastrar: inclinar (Ctrl = posición libre, Mayús = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Arrastrar: recolocar el centro de rotación (Ctrl = posición libre) - + Glisser : arrondir les coins (Ctrl = position libre) Arrastrar: redondear las esquinas (Ctrl = posición libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Arrastrar: ajustar el arco (Ctrl = posición libre, Mayús = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre Arrastrar: desplazar el punto (Ctrl = posición libre - + , Alt = créer des poignées , Alt = crear tiradores - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Arrastrar: deformar la curva (Ctrl = posición libre, Alt = romper la tangente) - + Ajouter un point à un polygone Agrega un punto a un polígono - + Supprimer un point d'un polygone Eliminar un punto de un polígono - + Ajouter un point à une courbe Añadir un punto a una curva - + Supprimer un point d'une courbe Eliminar un punto de una curva - + Convertir %1 en courbe de Bézier Convertir %1 en curva de Bézier - + Convertir %1 en polyligne Convertir %1 en polilínea - + Miroir impossible : inclinaison trop extrême pour cette forme No se puede reflejar: la inclinación es demasiado pronunciada para esta forma - + Miroir horizontal de %1 Reflejar %1 horizontalmente - + Miroir vertical de %1 Reflejar %1 verticalmente - + Modifier le type d'un nœud Modificar el tipo de un nodo - + Redimensionner %1 Redimensionar %1 - + Faire pivoter %1 Girar %1 - + Incliner %1 Inclinar %1 - + Deplacer le centre de rotation Desplazar el centro de rotación - + Arrondir les coins d'%1 Redondear las esquinas de %1 - + Modifier l'angle d'un arc Modificar el ángulo de un arco - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 Modificar la forma de %1 - + Modifier la courbure d'%1 Modificar la curvatura de %1 - + Modifier %1 Editar %1 - + un rectangle un rectángulo - + une éllipse una elipse - + un arc un arco - + une polyligne un polígono - + une courbe una curva @@ -13335,7 +15454,7 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac Etiqueta de texto - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? El elemento « %1 » ya existe, ¿que quiere hacer? @@ -13343,31 +15462,75 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac RenumberElementsDialog - + Renumber element(s) Renumerar elemento(s) - + Scope Ámbito - + All schemes Todos los esquemas - + One scheme Un esquema - + Scheme: Esquema: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Folio + + + + Élément + Elemento + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13391,9 +15554,9 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac - - - + + + Ne pas modifier No modificar @@ -13513,97 +15676,97 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac fase - - + + Nombre de phase Número de fase - + Neutre Neutro - + neutre neutro - + Terre Tierra - + terre tierra - + TextLabel Etiqueta de texto - + PushButton Pulsador - + Apparence Apariencia - + Taille : Tamaño: - - + + Couleur : Color: - + Style : Estilo: - - + + Modifier Editar - + Couleur secondaire : Color secundario: - + Taille de trait : Tamaño de línea: - + px px - + Trait plein conductor style: solid line Línea continua - + Trait en pointillés conductor style: dashed line Línea en puntos - + Traits et points conductor style: dashed and dotted line Líneas y puntos @@ -13612,7 +15775,7 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac ReplaceElementDialog - + Ne pas modifier No modificar @@ -13654,10 +15817,10 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac - - - - + + + + Ne pas modifier No modificar @@ -13717,12 +15880,12 @@ Añada una nueva tabla o ajuste la tabla existente para mostrar toda la informac Aplicar la fecha actual - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponible como %plantilla para modelos del proyecto</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13735,33 +15898,33 @@ Se utilizan las siguientes variables : -%autonum : folio Autonumeración - + Disponible en tant que %locmach pour les modèles de cartouches Disponible como %locmach para los modelos del proyecto - + Titre : Titulo: - - - - - - - + + + + + + + Supprimer ce texte Eliminar este texto - + Personnalisées Personalizadas - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Aquí puede definir sus propias asociaciones de nombre/valor para que sea tomado en cuenta en el proyecto. Ejemplo: @@ -13800,6 +15963,185 @@ Crea tu propio texto usando las siguientes variables: %c : el numero de columna + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nuevo + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Nombre: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Guardar + + + + Ouvrir le &dossier + + + + + &Fermer + &Cerrar + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13813,62 +16155,62 @@ Crea tu propio texto usando las siguientes variables: Ir a la siguiente correspondencia - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Mostrar opciones avanzadas</p></body></html> - + Aller à la correspondance précédente Ir a correspondencia anterior - + Quitter Salir - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Definir las propiedades para reemplazar en los elementos.</p></body></html> - + Champ texte de folio Campo de texto del folio - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Definir las propiedades para reemplazar en los conductores.</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Definir las propiedades para reemplazar de los folios</p></body></html> - + Folio Folio - + Élément Elemento - + Conducteur Conductor - + Remplacer Reemplazar - + Remplacer : Reemplazar: @@ -13893,22 +16235,22 @@ Crea tu propio texto usando las siguientes variables: Distingue entre mayúsculas y minúsculas - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Reemplazar la coincidencia seleccionada</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Reemplazar las coincidencias comprobadas</p></body></html> - + Tout remplacer Palabras completas - + avancé avanzado @@ -13918,105 +16260,105 @@ Crea tu propio texto usando las siguientes variables: Buscar: - + Actualiser actualizar - + Correspondance : Correspondencia: - + Folios Folios - + Champs texte Campo de texto - + Eléments Elementos - + Eléments simple Elementos simples - + Eléments maître Elementos maestros - + Eléments esclave Elementos esclavo - + Eléments report de folio Elementos del informe de folio - + Eléments bornier Elementos terminales - + Sélectionner les éléments de ce folio Seleccionar los elementos de este folio - + Sélectionner les conducteurs de ce folio Seleccionar los conductores de este folio - + Sélectionner les textes de ce folio Seleccionar los textos de este folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [editado] - + Conducteurs Conductores - + Inconnue Desconocida @@ -14029,17 +16371,17 @@ Crea tu propio texto usando las siguientes variables: Formulario - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Eliminar una variable numérica</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Añadir una variable numérica </p></body></html> - + Définition Definición @@ -14059,38 +16401,66 @@ Crea tu propio texto usando las siguientes variables: Borrar la numeración - Précédent - Anterior + Anterior - Suivant - Siguiente + Siguiente - + Type Tipo - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Valor - + Incrémentation Incrementación - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Numeración de Folio automatica - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14118,7 +16488,7 @@ El campo "Incrementación" no se utiliza.. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14156,13 +16526,13 @@ Los otros campos no se utilizan. Los otros campos no se utilizan. - + Element Autonumérotation title window Numeración automática de elementos - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14200,7 +16570,17 @@ Los demás campos no se utilizan. Los demás campos no se utilizan. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Conductor numeración automática @@ -16594,12 +18974,12 @@ Los demás campos no se utilizan. Información que se va a mostrar - + Configuration Configuración - + Requête SQL : Consulta SQL : @@ -16609,6 +18989,18 @@ Los demás campos no se utilizan. Posición + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16939,27 +19331,27 @@ Los demás campos no se utilizan. TerminalStripEditor - + Propriétés Propiedades - + Nom : Nombre: - + Commentaire : Comentario: - + Installation : Instalación : - + Type : Tipo: @@ -16989,98 +19381,98 @@ Los demás campos no se utilizan. Realizar el desplazamiento - + Étage : Nivel: - + Couleur pont : Color del puente: - - + + Générique Genérico - + Fusible Fusible - + Sectionnable Seccionable - + Diode Diodo - + Terre Tierra - + LED : Indicador LED: - + Déplacer dans : Mover a: - + Phase Fase - + Neutre Neutro - + Position automatique Posición automática - + Grouper les bornes Agrupar los bornes - + Degrouper les bornes Desagrupar los bornes - + Ponter les bornes Puentear los bornes - + Déponter les bornes Retirar los puentes de los bornes - + Localisation : Ubicación: - + Description Descripción - + Fonction : Función: @@ -17108,32 +19500,32 @@ Los demás campos no se utilizan. Barra de herramientas - + Ajouter un bornier Añadir un bornero - + Ajouter un bornier au projet Añadir un bornero al proyecto - + Supprimer le bornier Eliminar el bornero - + Supprimer le bornier du projet Eliminar el bornero del proyecto - + Recharger Recargar - + Recharger les borniers Recargar los borneros @@ -17363,12 +19755,12 @@ Los demás campos no se utilizan. Explorador de borneros - + Projet sans titre Proyecto sin título - + Bornes indépendante Bornes independientes @@ -17471,7 +19863,7 @@ Los demás campos no se utilizan. Descarga - + Dossier installation Carpeta de instalación @@ -17479,37 +19871,37 @@ Los demás campos no se utilizan. TitleBlockDimensionWidget - + Largeur : default dialog label Anchura: - + Absolu a traditional, absolute measure absoluto - + Relatif au total a percentage of the total width Relativo al total - + Relatif au restant a percentage of what remains from the total width Relativo al resto - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17518,30 +19910,31 @@ Los demás campos no se utilizan. TitleBlockPropertiesWidget - + Modèle par défaut Modelo por defecto - + Éditer ce modèle menu entry Editar este modelo - + Dupliquer et éditer ce modèle menu entry Duplicar y editar este modelo - + Title block templates actions Acciones de rótulo - - + + + Créer un Folio Numérotation Auto Crear un Folio de numeración automática @@ -17556,47 +19949,47 @@ Los demás campos no se utilizan. Formulario - + Folio : Folio: - + Auteur : Autor: - + Indice Rev: Indice Rev: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponible en tanto que% plantilla para los modelos del proyecto</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Disponible como %filename para los rótulos del proyecto - + Pas de date No hay fecha - + Date courante Fecha corriente - + Appliquer la date actuelle Aplicar la fecha corriente - + Principales Principales @@ -17606,22 +19999,22 @@ Los demás campos no se utilizan. Información del rótulo - + Disponible en tant que %locmach pour les modèles de cartouches Disponible como %locmach para los rótulos del proyecto - + Disponible en tant que %date pour les modèles de cartouches Disponible como %date para los rótulos del proyecto - + Date fixe : Fecha fija: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17634,7 +20027,7 @@ Se utilizan las siguientes variables : -%autonum : folio Autonumeración - + Titre : Titulo: @@ -17644,52 +20037,52 @@ Se utilizan las siguientes variables : <html><head><body><p>Ubica el rótulo horizontal o vertical</p></head></html> - + Fichier : Archivo: - + Date : Fecha: - + Disponible en tant que %author pour les modèles de cartouches Disponible como %author para los rótulos del proyecto - + Disponible en tant que %title pour les modèles de cartouches Disponible como %tittle para los rótulos del proyecto - + Page Num: Página Núm: - + Installation : Instalación : - + Disponible en tant que %indexrev pour les modèles de cartouches Disponible como %indexrev para los rótulos del proyecto - + Localisation: Localización: - + Personnalisées Personalizadas - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Aquí puede definir sus propias asociaciones de nombre/valor para que sea tomado en cuenta en el proyecto. Ejemplo: @@ -17699,13 +20092,13 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18210,50 +20603,50 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % WiringListDialog - + Liste de câblage window title Lista de cableado - + Fil column title Hilo - + Composant 1 column title Componente 1 - + Borne 1 column title Borne 1 - + Composant 2 column title Componente 2 - + Borne 2 column title Borne 2 - + Folio column title Folio - - + + %n conducteur(s) listé(s). wiring list summary @@ -18262,7 +20655,7 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18274,96 +20667,115 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % WiringListExport - - + + Erreur Error - + Impossible de lire la structure en mémoire du projet. No se puede leer la estructura del proyecto en memoria. - + Exporter le plan de câblage Exportar el plano de cableado - + Fichiers CSV (*.csv) Archivos CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. No se puede abrir el archivo para escribir. - + Page Wiring list CSV header Página - + Composant 1 Wiring list CSV header Componente 1 - + Borne 1 Wiring list CSV header Borne 1 - + Composant 2 Wiring list CSV header Componente 2 - + Borne 2 Wiring list CSV header Borne 2 - + Tension / Protocole Wiring list CSV header Tensión / Protocolo - + Couleur du fil Wiring list CSV header Color del hilo - + Section du fil Wiring list CSV header Sección del hilo - + Fonction Wiring list CSV header Función - + + Câble + Wiring list CSV header + Cable + + + Export réussi Exportación realizada correctamente - + Le plan de câblage a été exporté avec succès ! El plano de cableado se ha exportado correctamente. + + WiringRulesWarning + + + Avertissement + Advertencia + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18577,27 +20989,27 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % projectDataBase - + La requête est vide. La consulta está vacía. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). Solo se permite una consulta SELECT (el carácter «;» solo puede aparecer al final). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. Solo se permiten consultas de lectura (SELECT o WITH ... SELECT). - + Exporter la base de données interne du projet Exportar la base de datos interna del proyecto - + sans_nom sin_nombre @@ -18605,7 +21017,7 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % qdesigner_internal::ColorAction - + Text Color Color del Texto @@ -18613,7 +21025,7 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % qdesigner_internal::HtmlTextEdit - + Insert HTML entity Insertar entidad HTML @@ -18621,27 +21033,27 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % qdesigner_internal::RichTextEditorDialog - + Edit text Editar texto - + Rich Text Texto enriquecido - + Source Fuente - + &OK &OK - + &Cancel &Cancelar @@ -18649,69 +21061,69 @@ asociar el nombre de "volta" y el valor "1745" reemplazara % qdesigner_internal::RichTextEditorToolBar - + Texte en gras Texto en negrita - - - + + + Éditeur de texte Editor de texto - + Texte en italique Texto en Itálica - + Texte souligé Texto subrayado - + Left Align Alineación Izquierda - + Center Centrado - + Right Align Alineación Derecha - + Justify Justificado - + Superscript Superíndice - + Subscript Subíndice - + Insérer un lien Insertar un vinculo - + Insert &Image Insertar &Imagen - + Simplify Rich Text Simplificar texto enriquecido diff --git a/lang/qet_fi.ts b/lang/qet_fi.ts index 8f93ef2b1..0a72a27e4 100644 --- a/lang/qet_fi.ts +++ b/lang/qet_fi.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1026,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1107,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1174,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1205,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1214,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1229,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -994,7 +1304,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1012,13 +1322,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1027,24 +1337,33 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1068,6 +1387,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1104,6 +1424,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte @@ -1143,7 +1464,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : @@ -1163,134 +1484,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Unifilaire - - + + Nombre de phase - + Neutre - + neutre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Terre - + cable - + bus - + terre - + TextLabel - + Apparence - + Couleur du conducteur - + Taille : - - + + Couleur : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + px - + Taille de trait : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1312,128 +1650,152 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1463,27 +1825,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1491,7 +1853,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1631,7 +1993,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1648,262 +2010,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1911,7 +2341,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1920,12 +2350,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1934,77 +2364,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption @@ -2023,7 +2459,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2031,42 +2467,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2074,17 +2510,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2103,30 +2539,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2332,21 +2768,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2451,64 +2887,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier le cadre d'un champ texte @@ -2516,32 +2952,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2549,12 +2985,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2595,153 +3031,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2765,12 +3274,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2788,104 +3303,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2901,8 +3526,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2985,8 +3610,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3016,302 +3641,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3325,7 +3950,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3452,249 +4077,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3702,29 +4327,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3732,101 +4357,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3835,122 +4460,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3966,43 +4591,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4010,7 +4635,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4018,32 +4643,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4113,124 +4738,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4276,7 +4901,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4285,102 +4910,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4644,63 +5269,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4708,27 +5343,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4751,84 +5386,85 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company @@ -4843,264 +5479,379 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - - Répertoire des cartouches company + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) - - Répertoire de la collection utilisateur + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. - - Répertoire des Macros utilisateur + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection - - Répertoire des cartouches utilisateur - - - - - (Recharger les collections d'éléments pour appliquer les changements) - - - - - Mettre en valeur dans le panel les éléments fraîchement intégrés + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Répertoire des cartouches company + + + + + Répertoire de la collection utilisateur + + + + + Répertoire des Macros utilisateur + + + + + Répertoire des cartouches utilisateur + + + + + (Recharger les collections d'éléments pour appliquer les changements) + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés + + + + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + min: - + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + max: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List + + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + Utiliser les gestes du pavé tactile - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller @@ -5110,238 +5861,336 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - + Gestion des éléments - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5396,7 +6245,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5629,42 +6478,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour choisir une couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. @@ -5835,28 +6684,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6099,6 +6948,96 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6150,7 +7089,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6250,7 +7189,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6260,6 +7199,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6309,10 +7400,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6322,7 +7418,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6350,7 +7446,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6408,13 +7504,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6689,13 +7785,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6755,25 +7851,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6781,32 +7895,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6912,12 +8026,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6969,8 +8083,8 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - - + + %n conducteurs composent le potentiel suivant : @@ -6978,69 +8092,69 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - - - + + + Numéro : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7048,10 +8162,107 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7060,142 +8271,334 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Management - + Numérotation auto - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7203,12 +8606,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7216,50 +8619,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7303,137 +8790,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7610,245 +9097,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7859,31 +9382,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7892,1114 +9415,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title - + Collections - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - + Imprimer - + &Quitter - + Annuler - + Refaire - + Annule l'action précédente status bar tip - + Restaure l'action annulée status bar tip - + Co&uper - + Cop&ier - + C&oller - + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + Réinitialiser les conducteurs - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Propriétés du folio - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Ajouter un sommaire - + en utilisant des onglets - + en utilisant des fenêtres - + Mode Selection - + Mode Visualisation - + &Mosaïque - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher les guides - + Affiche ou masque les guides - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - + &Cascade - + Projet suivant - + Projet précédent - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Ajouter une courbe - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter une polyligne - + Exporte le folio courant dans un autre format status bar tip - + Imprime un ou plusieurs folios du projet courant status bar tip - + Ferme l'application QElectroTech status bar tip - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + Présente les différents projets ouverts des onglets status bar tip - + Permet de sélectionner les éléments status bar tip - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Dispose les fenêtres en mosaïque status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Exporter au format CSV - + Ajouter une nomenclature - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Dispose les fenêtres en cascade status bar tip - + Active le projet suivant status bar tip - + Active le projet précédent status bar tip - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + + Ajouter un arc + + + + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9008,7 +10756,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9017,42 +10765,82 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9060,100 +10848,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9161,7 +10949,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9169,7 +10957,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9177,18 +10965,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9197,13 +10985,111 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 @@ -9211,42 +11097,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Recharger - + Tout sélectionner @@ -9256,328 +11142,328 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + importer un élément à redimensionner - + Importer un dxf - + Inverser la sélection - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Annuler - + Refaire - + Profondeur toolbar title - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Ajouter un champ texte dynamique - + Parties toolbar title - + &Fichier - + &Édition - + Afficha&ge - + Coller depuis... - + [Modifié] window title tag - + [lecture seule] window title tag - + Aucune modification - + Éditeur d'éléments status bar message - - + + %n partie(s) sélectionnée(s). @@ -9585,35 +11471,35 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9622,208 +11508,264 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Le fichier %1 n'existe pas. message box content - + Afficher menu entry - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - + Impossible d'enregistrer l'élément message box content - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - - - + + + Echec de l'enregistrement - + Trop de primitives, liste non générée: %1 - + %n avertissement(s) warnings @@ -9832,94 +11774,94 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content @@ -9928,137 +11870,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10067,52 +12044,52 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10120,55 +12097,55 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> - + Avertissement message box title @@ -10534,32 +12511,32 @@ Que désirez vous faire ? QObject - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10608,38 +12585,38 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content @@ -10651,7 +12628,7 @@ Que désirez vous faire ? - + modifier les dimensions du folio undo caption @@ -10693,6 +12670,7 @@ Que désirez vous faire ? + Titre @@ -10875,8 +12853,13 @@ Que désirez vous faire ? element part name + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -10885,32 +12868,32 @@ Que désirez vous faire ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier @@ -10958,35 +12941,35 @@ Que désirez vous faire ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11400,14 +13383,14 @@ Que désirez vous faire ? - - - + + + Fonction - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11416,7 +13399,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11425,7 +13408,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11434,7 +13417,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11443,7 +13426,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11452,7 +13435,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11461,7 +13444,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11470,7 +13453,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11479,85 +13462,85 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. - + Borne tooltip @@ -11749,6 +13732,7 @@ Que désirez vous faire ? + Modifier les informations de l'élément : %1 @@ -11759,7 +13743,7 @@ Que désirez vous faire ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content @@ -11781,7 +13765,7 @@ Que désirez vous faire ? - + %n texte(s) @@ -11789,13 +13773,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title @@ -11843,26 +13827,26 @@ Voulez-vous la remplacer ? - - + + - - - - - - + + + + + + this is an error in the code - + Importer un fichier dxf - + Ouvrir un element @@ -11872,8 +13856,8 @@ Voulez-vous la remplacer ? - - + + chargement %p% (%v sur %m) @@ -11979,22 +13963,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin @@ -12004,22 +13988,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12064,7 +14048,7 @@ Voulez-vous la remplacer ? - + %p% effectué (%v sur %m) @@ -12074,7 +14058,7 @@ Voulez-vous la remplacer ? - + Création de conducteurs @@ -12191,7 +14175,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12238,7 +14222,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12247,8 +14231,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12377,98 +14361,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12476,6 +14473,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12495,369 +14533,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en courbe de Bézier - + Convertir en polyligne - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -12939,7 +15038,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -12947,31 +15046,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -12995,9 +15138,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13117,97 +15260,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13216,7 +15359,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13258,10 +15401,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13321,7 +15464,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13330,38 +15473,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13392,6 +15535,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13430,185 +15752,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13636,53 +15958,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13699,7 +16041,7 @@ Le champ "Incrémentation" n'est pas utilisé. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13721,13 +16063,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13749,7 +16091,17 @@ Les autres champs ne sont pas utilisés. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window @@ -16143,12 +18495,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16158,6 +18510,18 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16512,123 +18876,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Type : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16656,32 +19020,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16911,12 +19275,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17019,7 +19383,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17027,37 +19391,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17086,87 +19450,87 @@ Les autres champs ne sont pas utilisés. - + Principales - + Date : - + Auteur : - + Disponible en tant que %locmach pour les modèles de cartouches - + Indice Rev: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17175,66 +19539,67 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut @@ -17242,13 +19607,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17745,50 +20110,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17797,7 +20162,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17809,95 +20174,114 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Export réussi - + Le plan de câblage a été exporté avec succès ! - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header + + + Câble + Wiring list CSV header + + + + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + XRefPropertiesWidget @@ -18106,27 +20490,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18134,7 +20518,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18142,7 +20526,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18150,27 +20534,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18178,69 +20562,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - + Texte en italique - + Texte souligé - - - + + + Éditeur de texte - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_fr.ts b/lang/qet_fr.ts index 01e15a8c4..e7750a75b 100644 --- a/lang/qet_fr.ts +++ b/lang/qet_fr.ts @@ -6,323 +6,323 @@ À propos de QElectrotech - + À propos de QElectrotech À propos - + À propos Auteurs - + Auteurs Traducteurs - + Traducteurs Contributeurs - + Contributeurs Version - + Version Projet annexe - + Projet annexe Bibliothèques - + Bibliothèques Licenses - + Licenses log - + log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + QElectroTech, une application de réalisation de schémas électriques. - + Les développeurs de QElectroTech about tab, developers line - + Les développeurs de QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - - - - - Idée originale - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> + Idée originale + Idée originale + + - + - - + + + Développement - - - - - Convertisseur DXF - + Développement + Convertisseur DXF + Convertisseur DXF + + + Plugin Bornier - + Plugin Bornier - + Collection - + Collection - - Traduction en espagnol - - - - - Traduction en russe - + Traduction en espagnol + Traduction en espagnol + - Traduction en portugais - + Traduction en russe + Traduction en russe - Traduction en tchèque - + Traduction en portugais + Traduction en portugais - Traduction en polonais - + Traduction en tchèque + Traduction en tchèque - - Traduction en allemand - + Traduction en polonais + Traduction en polonais + - Traduction en roumain - + Traduction en allemand + Traduction en allemand - Traduction en italien - + Traduction en roumain + Traduction en roumain - Traduction en arabe - + Traduction en italien + Traduction en italien - Traduction en croate - + Traduction en arabe + Traduction en arabe - Traduction en catalan - + Traduction en croate + Traduction en croate + Traduction en catalan + Traduction en catalan + + - Traduction en grec - - - - - Traduction en néerlandais - + Traduction en grec + Traduction en grec + - Traduction en flamand - + Traduction en néerlandais + Traduction en néerlandais - Traduction en danois - + Traduction en flamand + Traduction en flamand - Traduction en brézilien - + Traduction en danois + Traduction en danois - - Traduction en Turc - + Traduction en brézilien + Traduction en brézilien + - Traduction en hongrois - + Traduction en Turc + Traduction en Turc - Traduction en serbe - - - - - Traduction en japonais - - - - - Traduction en coréen - - - - - Traduction en mongol - - - - - Paquets Fedora et Red Hat - - - - - Paquets Mageia - - - - - - - Paquets Debian - - - - - - Paquets Gentoo - - - - - Paquets OS/2 - - - - - Paquets FreeBSD - - - - - Paquets MAC OS X - - - - - Paquets Archlinux AUR - - - - - Icônes - - - - - - Documentation - - - - - Collection d'éléments - - - - - Redimensionneur d'éléments - Element scaler - - - - - Convertisseur d'élément DXF - Dxf2elmt - - - - - Outil de traduction d'éléments - Qet_translate - - - - - Paquets Snap - + Traduction en hongrois + Traduction en hongrois - Traduction en ukrainien - + Traduction en serbe + Traduction en serbe - - Traduction en norvégien - + + Traduction en japonais + Traduction en japonais + + + + Traduction en coréen + Traduction en coréen - Traduction en slovène - + Traduction en mongol + Traduction en mongol - + + Paquets Fedora et Red Hat + Paquets Fedora et Red Hat + + + + Paquets Mageia + Paquets Mageia + + + + + + Paquets Debian + Paquets Debian + + + + + Paquets Gentoo + Paquets Gentoo + + + + Paquets OS/2 + Paquets OS/2 + + + + Paquets FreeBSD + Paquets FreeBSD + + + + Paquets MAC OS X + Paquets MAC OS X + + + + Paquets Archlinux AUR + Paquets Archlinux AUR + + + + Icônes + Icônes + + + + + Documentation + Documentation + + + + Collection d'éléments + Collection d'éléments + + + + Redimensionneur d'éléments + Element scaler + Redimensionneur d'éléments + + + + Convertisseur d'élément DXF + Dxf2elmt + Convertisseur d'élément DXF + + + + Outil de traduction d'éléments + Qet_translate + Outil de traduction d'éléments + + + + Paquets Snap + Paquets Snap + + + + Traduction en ukrainien + Traduction en ukrainien + + + + Traduction en norvégien + Traduction en norvégien + + + + Traduction en slovène + Traduction en slovène + + + Générateur d'élément lambda Lambda element generator - + Générateur d'élément lambda @@ -340,7 +340,7 @@ URL: - + URL: @@ -348,99 +348,99 @@ Ajouter un tableau - + Ajouter un tableau Affichage - + Affichage Ajuster la taille du tableau au folio - + Ajuster la taille du tableau au folio Ajouter de nouveau folio et tableau si nécessaire. - + Ajouter de nouveau folio et tableau si nécessaire. Nom du tableau - + Nom du tableau Texte des en-têtes - + Texte des en-têtes Gauche - + Gauche Centre - + Centre Droite - + Droite Police : - + Police : Éditer - + Éditer Marges : - + Marges : Alignement : - + Alignement : Texte du tableau - + Texte du tableau Configuration - + Configuration - + Contenu - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau - + Sélectionner la police des cellules du tableau @@ -448,12 +448,140 @@ Dialog - + Dialog Ajouter le plan de bornes suivant : - + Ajouter le plan de bornes suivant : + + + + AiAssistantDialog + + + Connecter un assistant IA + Connecter un assistant IA + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + Assistant : + Assistant : + + + + Le dossier de vos schémas + Le dossier de vos schémas + + + + Parcourir… + Parcourir… + + + + Dossier accessible : + Dossier accessible : + + + + Autoriser l'assistant à modifier les schémas + Autoriser l'assistant à modifier les schémas + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + Copier + Copier + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + Choisissez d'abord le dossier de vos schémas. + Choisissez d'abord le dossier de vos schémas. + + + + Dossier accessible à l'assistant + Dossier accessible à l'assistant + + + + Copié + Copié + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + Dans LM Studio : onglet Program → Install → Edit mcp.json. @@ -461,7 +589,7 @@ Alignement du texte - + Alignement du texte @@ -469,32 +597,65 @@ Centre : - + Centre : Diamètres : - + Diamètres : horizontal : - + horizontal : vertical : - + vertical : Angle de départ : - + Angle de départ : Angle : - + Angle : + + + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Le nom de la numérotation ne peut pas être vide. + + + + Une numérotation nommée « %1 » existe déjà. + Une numérotation nommée « %1 » existe déjà. + + + + Créer la numérotation %1 + Créer la numérotation %1 + + + + Renommer la numérotation %1 en %2 + Renommer la numérotation %1 en %2 + + + + Modifier la numérotation %1 + Modifier la numérotation %1 + + + + Supprimer la numérotation %1 + Supprimer la numérotation %1 @@ -502,80 +663,158 @@ Sélection numérotation auto - + Sélection numérotation auto Valeur - + Valeur Incrément - + Incrément Suivant - + Suivant - - + + Réinitialiser à la valeur de départ - + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Element - + Conducteur - + Conducteur + + + + Configurer les règles d'auto numérotation + Configurer les règles d'auto numérotation - Configurer les règles d'auto numérotation - - - - Configurer - + Configurer Folio - + Folio - + + + Appliquer cette numérotation aux éléments sélectionnés + Appliquer cette numérotation aux éléments sélectionnés + + + + Appliquer la numérotation + Appliquer la numérotation + + + + Choisissez une numérotation d'éléments du projet. + Choisissez une numérotation d'éléments du projet. + + + + Sélectionnez d'abord des éléments dans le folio. + Sélectionnez d'abord des éléments dans le folio. + + + + (figé) + (figé) + + + + (autre numérotation) + (autre numérotation) + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + %n élément vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + %n éléments vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + Remplacer aussi les %n élément laissés comme ils sont + Remplacer aussi les %n éléments laissés comme ils sont + + + + + %n élément(s) numérotés. + + %n élément numérotés. + %n éléments numérotés. + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + %n élément sélectionnés sont restés comme ils sont. + %n éléments sélectionnés sont restés comme ils sont. + + + + Autonumérotation - + Autonumérotation + + + + Sélectionnez d'abord des éléments dans le folio + Sélectionnez d'abord des éléments dans le folio @@ -679,28 +918,78 @@ Existants - + Under Development Projet en cours d'élaboration - + Installing Pour l'assemblage / montage - + Built Projet construit - + + + + + Renuméroter les éléments + Renuméroter les éléments + + + + Renuméroter les éléments (%1) + Renuméroter les éléments (%1) + + + + Aucun élément ne suit cette numérotation. + Aucun élément ne suit cette numérotation. + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + Les %n élément qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + Les %n éléments qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + %n élément vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + %n éléments vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + %n élément renumérotés, dont %1 avec un nouveau nom. + %n éléments renumérotés, dont %1 avec un nouveau nom. + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + %n élément au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + %n éléments au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + Auto Numbering Management title window Gestion de numérotation automatique - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -720,81 +1009,93 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Dialog - + Dialog Mise en page - + Mise en page inclure les en-têtes - + inclure les en-têtes Formater en tant que liste de materiel - + Formater en tant que liste de materiel - + + Bornes sans repère, désignation, fabricant ni référence fabricant + Bornes sans repère, désignation, fabricant ni référence fabricant + + + + Laisser de côté les jonctions + Laisser de côté les jonctions + + + Aperçu - + Aperçu - + nomenclature_ - + nomenclature_ - + Enregister sous... - + Enregister sous... - + Fichiers csv (*.csv) - + Fichiers csv (*.csv) - - + + Erreur - + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Impossible d'enregistrer la nomenclature dans %1. +%2 - + Position - + Position - + Position du folio - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Quantité numéro d'article - + Requête refusée - + Requête refusée - + Erreur dans la requête : %1 - + Erreur dans la requête : +%1 @@ -803,25 +1104,46 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Créer une copie de sauvegarde ? window title - + Créer une copie de sauvegarde ? Souhaitez-vous créer une copie de sauvegarde ? dialog message - + Souhaitez-vous créer une copie de sauvegarde ? Oui yes button - + Oui Non no button - + Non + + + + BackupRestoreDialog + + + Fichiers de restauration + window title + Fichiers de restauration + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + + + + %1 (la plus récente) + recovery generation label + %1 (la plus récente) @@ -829,12 +1151,12 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Form - + Form Dimensions du folio - + Dimensions du folio @@ -842,37 +1164,62 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s px pixel pixel - + px x - + x Lignes : - + Lignes : Colonnes : - + Colonnes : + + + + Format : + Format : + + + + Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF. + Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF. Afficher les en-têtes - + Afficher les en-têtes + + + + Personnalisé + Personnalisé + + + + Paysage + Paysage + + + + Portrait + Portrait ClickableImageLabel - + Cliquez pour choisir une couleur - + Cliquez pour choisir une couleur @@ -880,12 +1227,12 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Rechercher une commande… - + Rechercher une commande… Entrée pour lancer · Échap pour fermer - + Entrée pour lancer · Échap pour fermer @@ -893,116 +1240,116 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Texte composé - + Texte composé Ajouter une variable : - + Ajouter une variable : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible - + Entrée votre texte composé ici, en vous aidant des variables disponible Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés d'un conducteur - + Modifier les propriétés de plusieurs conducteurs undo caption - + Modifier les propriétés de plusieurs conducteurs ConductorColorToolButton - - - Noir - - - Marron - + Noir + Noir - Gris - + Marron + Marron - Bleu - + Gris + Gris - Vert - + Bleu + Bleu - Rouge - + Vert + Vert - Orange - + Rouge + Rouge - Violet - + Orange + Orange - Blanc - + Violet + Violet - - Couleur de conducteur - + + Blanc + Blanc + Couleur de conducteur + Couleur de conducteur + + + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés - + Récemment utilisées - + Récemment utilisées - + Autre couleur… - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption - - + Modifier la couleur de %n conducteur(s) + Modifier la couleur de %n conducteur(s) - + Choisir une couleur de conducteur - + Choisir une couleur de conducteur @@ -1010,49 +1357,58 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Éditer les propriétés d'un conducteur - + Éditer les propriétés d'un conducteur Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés d'un conducteur - + Modifier les propriétés de plusieurs conducteurs undo caption - + Modifier les propriétés de plusieurs conducteurs ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés d'un conducteur - + Modifier les propriétés de plusieurs conducteurs undo caption - + Modifier les propriétés de plusieurs conducteurs - + Conducteur - + Conducteur + + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + %n conducteur sélectionné : seuls les champs modifiés lui sont appliqués. + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + @@ -1060,246 +1416,266 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Form - + Form Type - + Type Taille du texte : - + Taille du texte : Taille du texte - + Taille du texte Tension / Protocole : - + Tension / Protocole : Texte : - + Texte : Fonction : - + Fonction : + Texte - + Texte + Texte visible - + Texte visible - + Formule du texte : - + Formule du texte : activer l'option un texte par potentiel - + activer l'option un texte par potentiel &Multifilaire - + &Multifilaire Afficher un texte de potentiel par folio. - + Afficher un texte de potentiel par folio. Autonumérotation - + Autonumérotation éditer les numérotations - + éditer les numérotations Section du conducteur - + Section du conducteur - + cable - + cable - + bus - + bus - - + + Unifilaire - + Unifilaire - - + + Nombre de phase - + Nombre de phase - + Neutre - + Neutre - + neutre - + neutre + + + + Phase + Phase - Phase - - - - phase - + phase - + Protective Earth Neutral - + Protective Earth Neutral - + PEN - + PEN - + Terre - + Terre - + terre - + terre - + TextLabel - + TextLabel - + Apparence - + Apparence - + Couleur du conducteur - + Couleur du conducteur - - + + Couleur : - + Couleur : - + Taille : - + Taille : - - + + Style du conducteur - + Style du conducteur - + Style : - + Style : Horizontal en haut - + Horizontal en haut Horizontal en bas - + Horizontal en bas Vertical à gauche - + Vertical à gauche Couleur du texte: - + Couleur du texte: Vertical à droite - + Vertical à droite Position et rotation du texte de conducteur : - + Position et rotation du texte de conducteur : - + Couleur secondaire : - + Couleur secondaire : - + px - + px - + Taille de trait : - + Taille de trait : - + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + Trait plein conductor style: solid line - + Trait plein - + Trait en pointillés conductor style: dashed line - + Trait en pointillés - + Traits et points conductor style: dashed and dotted line - + Traits et points + + + + Plusieurs valeurs + several conductors, different values + Plusieurs valeurs + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. @@ -1307,137 +1683,164 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s GroupBox - + GroupBox Configuration - + Configuration ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - - - - - # - - - - - Type - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - Sous-type - + # + # - Contacts - + Type + Type - Bornes - + Sous-type + Sous-type + + + + Contacts + Contacts - + Bornes + Bornes + + + + T%1 - + T%1 - + (déjà assigné) - + (déjà assigné) - + (état ne correspond pas) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + OK - + Annuler - - - - - Normalement ouvert - - - - - Normalement fermé - - - - - Inverseur - - - - - Autre - + Annuler - + Normalement ouvert + Normalement ouvert + + + + Normalement fermé + Normalement fermé + + + + Inverseur + Inverseur + + + + Autre + Autre + + + + Inconnu - - - - - Simple - - - - - Puissance - - - - - Temporisé travail - - - - - Temporisé repos - + Inconnu + Simple + Simple + + + + Puissance + Puissance + + + + Temporisé travail + Temporisé travail + + + + Temporisé repos + Temporisé repos + + + Temporisé travail & repos - + Temporisé travail & repos + + + + CounterWarning + + + Compteur de la numérotation + Compteur de la numérotation + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + Le prochain numéro serait %1, mais %n élément de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + Le prochain numéro serait %1, mais %n éléments de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? @@ -1445,7 +1848,7 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Déplacer une primitive - + Déplacer une primitive @@ -1453,53 +1856,62 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s nom_de_la_propriete - + nom_de_la_propriete Lettres minuscules, chiffres, tiret et underscore uniquement - + Lettres minuscules, chiffres, tiret et underscore uniquement Supprimer cette propriété - + Supprimer cette propriété + + + + CustomizeDialog + + + Personnaliser + window title + Personnaliser DiagnosticsReportDialog - + Enregistrer... - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Erreur - + Impossible d'écrire dans le fichier « %1 ». - + Impossible d'écrire dans le fichier « %1 ». Diagram - + Modifier la profondeur - + Modifier la profondeur @@ -1507,63 +1919,64 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Blanc - + Blanc Blanc cassé - + Blanc cassé Gris clair - + Gris clair Gris - + Gris Gris foncé - + Gris foncé Noir - + Noir + Couleur de fond du folio - + Couleur de fond du folio Choisir la couleur de fond du folio status bar tip - + Choisir la couleur de fond du folio Couleur système - + Couleur système Récemment utilisées - + Récemment utilisées Autre couleur… - + Autre couleur… Choisir une couleur de fond - + Choisir une couleur de fond @@ -1577,17 +1990,17 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Les noms ne peuvent contenir que des lettres minuscules, des chiffres et des tirets. - + Les noms ne peuvent contenir que des lettres minuscules, des chiffres et des tirets. Nom - + Nom Valeur - + Valeur @@ -1600,22 +2013,22 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Poignées : - + Poignées : x 1 - + x 1 x 2 - + x 2 x 3 - + x 3 @@ -1623,7 +2036,7 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Ajouter %1 - + Ajouter %1 @@ -1631,16 +2044,16 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Clic : positionner à la taille d'origine. Cliquer-glisser : positionner et redimensionner. Clic droit : pivoter de 90°. Ctrl+molette : ajuster la taille. - + Clic : positionner à la taille d'origine. Cliquer-glisser : positionner et redimensionner. Clic droit : pivoter de 90°. Ctrl+molette : ajuster la taille. DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler @@ -1648,373 +2061,471 @@ Remarque: Ces options n'autorisent ou bloquent l'auto numérotation, s Clic: point anguleux. Cliquer-glisser: point courbe. Clic sur le premier point: fermer. Échap/Entrée: terminer. Clic droit: annuler le dernier point. - + Clic: point anguleux. Cliquer-glisser: point courbe. Clic sur le premier point: fermer. Échap/Entrée: terminer. Clic droit: annuler le dernier point. DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + Cliquez sur une autre ligne ; clic droit : annuler + Cliquez sur une autre ligne ; clic droit : annuler + + + + Ces deux lignes sont parallèles : pas de congé possible + Ces deux lignes sont parallèles : pas de congé possible + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + Ces deux lignes sont presque alignées : pas de congé possible + Ces deux lignes sont presque alignées : pas de congé possible + + + + Congé + Congé + + + + Rayon : + Rayon : + + + + Rayon trop grand pour ces lignes (%1 au plus) + Rayon trop grand pour ces lignes (%1 au plus) + + + + Ajouter un congé + Ajouter un congé + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer DiagramImageItem - + redimensionner - + redimensionner - + pivoter/incliner - - - - - Cliquer : mode %1 - + pivoter/incliner + Cliquer : mode %1 + Cliquer : mode %1 + + + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + -- %1 : mode %2 - + Cliquer - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - - - - - Redimensionner une image - - - - - Faire pivoter une image - - - - - Incliner une image - - - - - Déplacer le centre de rotation d'une image - + Glisser : déplacer le centre de rotation + Redimensionner une image + Redimensionner une image + + + + Faire pivoter une image + Faire pivoter une image + + + + Incliner une image + Incliner une image + + + + Déplacer le centre de rotation d'une image + Déplacer le centre de rotation d'une image + + + Modifier une image - + Modifier une image - + Restaurer les proportions d'une image - - - - - - Enregistrer l'image sous... - - - - - - Enregistrer l'image d'origine sous... - - - - - Image PNG (*.png) - + Restaurer les proportions d'une image - Image JPEG (*.jpg *.jpeg) - - - - - Image BMP (*.bmp) - - - - - Image SVG (*.svg) - + + Enregistrer l'image sous... + Enregistrer l'image sous... + + Enregistrer l'image d'origine sous... + Enregistrer l'image d'origine sous... + + + + Image PNG (*.png) + Image PNG (*.png) + + + + Image JPEG (*.jpg *.jpeg) + Image JPEG (*.jpg *.jpeg) + + + + Image BMP (*.bmp) + Image BMP (*.bmp) + + + + Image SVG (*.svg) + Image SVG (*.svg) + + + Tous les fichiers (*) - + Tous les fichiers (*) - + Transparence non conservée - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + une image - + Remplacer l'image... - + Remplacer l'image... - + Couleur transparente... - - - - - Rogner... - - - - - Miroir horizontal - - - - - Miroir vertical - - - - - Restaurer les proportions - + Couleur transparente... + Rogner... + Rogner... + + + + Miroir horizontal + Miroir horizontal + + + + Miroir vertical + Miroir vertical + + + + Restaurer les proportions + Restaurer les proportions + + + Selectionner une image... - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Erreur - + Impossible de charger l'image. - + Impossible de charger l'image. - + Remplacer une image - + Remplacer une image - + Miroir horizontal d'une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Définir une couleur transparente - + Rogner une image - + Rogner une image DiagramPropertiesDialog - + Propriétés du folio window title - + Propriétés du folio DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + Maintenir ctrl pour un déplacement libre - + <Shift> to move Maintenir Maj et faire glisser pour déplacer ce texte seul + + DiagramToolbarSettings + + + Taille des poignées + Taille des poignées + + + + Grille des textes + Grille des textes + + + + Couleur de fond du folio + Couleur de fond du folio + + + + Couleur des conducteurs + Couleur des conducteurs + + DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - - - - - Coller ici - context menu action - - - - - Collage multiple - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. + Coller ici + context menu action + Coller ici + + + + Collage multiple + Collage multiple + + + Créer un template context menu action - + Créer un template - + + Générer une vignette d'armoire + context menu action + Générer une vignette d'armoire + + + Renvoi de folio - + Renvoi de folio - + X: %1 Y: %2 - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Sans titre - + Modèle enregistré - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Le modèle a été enregistré avec succès sous : +%1 - + Erreur - + Erreur - + Le fichier n'a pas pu être écrit. - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés d'un conducteur @@ -2022,78 +2533,78 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Merci de patienter - + Merci de patienter Titre - + Titre - + TextLabel - + TextLabel DuplicateOffsetDialog - + Dupliquer - - - - - pas de grille - + Dupliquer - Espacement : - + pas de grille + pas de grille - - Haut - + + Espacement : + Espacement : - Bas - + Haut + Haut - Gauche - + Bas + Bas - Droite - + Gauche + Gauche + Droite + Droite + + + Direction : - + Direction : DynamicElementTextItem - + Texte - + Texte - + Éditer un texte d'élément - + Éditer un texte d'élément - + Redimensionner un texte d'élément - + Redimensionner un texte d'élément @@ -2106,66 +2617,66 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Exporter l'actuelle configuration des textes - + Exporter l'actuelle configuration des textes - - - - - ... - - - - - Importer une configuration de texte - - - - - Ajouter un texte - - - + + - Ajouter un groupe de textes - + + ... + ... - + + Importer une configuration de texte + Importer une configuration de texte + + + + Ajouter un texte + Ajouter un texte + + + + Ajouter un groupe de textes + Ajouter un groupe de textes + + + Supprimer la sélection - + Supprimer la sélection Textes - + Textes Modifier des textes d'élément - + Modifier des textes d'élément Modifier un texte d'élément - + Modifier un texte d'élément Modifier %1 textes d'élément - + Modifier %1 textes d'élément Nom du groupe - + Nom du groupe Entrer le nom du nouveau groupe - + Entrer le nom du nouveau groupe @@ -2173,17 +2684,17 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Propriété - + Propriété Valeur - + Valeur Source du texte - + Source du texte @@ -2192,7 +2703,7 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Texte utilisateur - + Texte utilisateur @@ -2201,7 +2712,7 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Information de l'élément - + Information de l'élément @@ -2210,173 +2721,173 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Texte composé - + Texte composé Texte - + Texte Information - + Information Mon texte composé - + Mon texte composé Taille - + Taille Police - + Police Largeur - + Largeur Conserver la rotation visuel - + Conserver la rotation visuel Éditer - + Éditer Modifier la police d'un texte d'élément - + Modifier la police d'un texte d'élément Modifier le maintient de la rotation d'un texte d'élément - + Modifier le maintient de la rotation d'un texte d'élément Modifier l'alignement d'un texte d'élément - + Modifier l'alignement d'un texte d'élément Modifier la taille d'un texte d'élément - + Modifier la taille d'un texte d'élément Modifier la couleur d'un texte d'élément - + Modifier la couleur d'un texte d'élément Modifier le cadre d'un texte d'élément - + Modifier le cadre d'un texte d'élément Modifier la largeur d'un texte d'élément - + Modifier la largeur d'un texte d'élément Déplacer un texte d'élément - + Déplacer un texte d'élément Pivoter un texte d'élément - + Pivoter un texte d'élément Éditer un groupe de textes - + Éditer un groupe de textes - + Gauche - + Gauche - + Droite - + Droite - + Centre - + Centre Alignement - + Alignement Ajustement vertical - + Ajustement vertical Maintenir en bas de page - + Maintenir en bas de page Déplacer un texte dans un autre groupe - + Déplacer un texte dans un autre groupe Couleur - + Couleur Cadre - + Cadre Position X - + Position X Position Y - + Position Y Rotation - + Rotation Éditer un texte d'élément - + Éditer un texte d'élément @@ -2387,183 +2898,193 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Formulaire - + Source du texte - + Source du texte Couleur - + Couleur Conserver la rotation visuel - + Conserver la rotation visuel Texte utilisateur - + Texte utilisateur Information de l'élément - + Information de l'élément - + Encadrer le texte - + Encadrer le texte - + Texte composé - + Texte composé - + Police - + Police - + X - + X Largeur - + Largeur Tourner autour de son propre centre - + Tourner autour de son propre centre - + + Auto + Auto + + + + px + px + + + Y - + Y - + Alignement - + Alignement - + Rotation - + Rotation - - + + Déplacer un champ texte - + Déplacer un champ texte - + Pivoter un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier la police d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier l'alignement d'un champ texte DynamicTextItemDelegate - + Texte utilisateur - + Texte utilisateur - + Information de l'élément - + Information de l'élément - + Texte composé - + Texte composé - + Gauche - + Gauche - + Centre - + Centre - + Droite - + Droite EditorDelegate - + ex. 80.5 - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2602,156 +3123,230 @@ Maintenir Maj et faire glisser pour déplacer ce texte seul Element - + Numéroter automatiquement un élément undo caption - + Numéroter automatiquement un élément + + + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Le nom de la numérotation ne peut pas être vide. + + + + Une numérotation nommée « %1 » existe déjà. + Une numérotation nommée « %1 » existe déjà. + + + + Cet élément n'est dans aucun folio. + Cet élément n'est dans aucun folio. + + + + Cet élément ne suit aucune numérotation. + Cet élément ne suit aucune numérotation. + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + Le numéro doit être au moins 1. + Le numéro doit être au moins 1. + + + + Le numéro %1 n'est pas libre. + Le numéro %1 n'est pas libre. + + + + Attribuer le numéro %1 + Attribuer le numéro %1 + + + + Appliquer la numérotation %1 + Appliquer la numérotation %1 + + + + Numéroter les éléments collés (%1) + Numéroter les éléments collés (%1) + + + + Créer la numérotation d'éléments %1 + Créer la numérotation d'éléments %1 + + + + Renommer la numérotation d'éléments %1 en %2 + Renommer la numérotation d'éléments %1 en %2 + + + + Modifier la numérotation d'éléments %1 + Modifier la numérotation d'éléments %1 + + + + Supprimer la numérotation d'éléments %1 + Supprimer la numérotation d'éléments %1 ElementDialog - + Ouvrir un élément dialog title - + Ouvrir un élément - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Choisissez l'élément que vous souhaitez ouvrir. - + Enregistrer un élément dialog title - + Enregistrer un élément - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. - + Ouvrir une catégorie dialog title - + Ouvrir une catégorie - - + + Choisissez une catégorie. dialog content - + Choisissez une catégorie. - + Enregistrer une catégorie dialog title - + Enregistrer une catégorie - + Enregistrer un template dialog title - + Enregistrer un template - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. - + Titre - + Titre - + Label - - - - - Nom du nouveau dossier - + Label - Nom du nouveau template - + Nom du nouveau dossier + Nom du nouveau dossier - + + Nom du nouveau template + Nom du nouveau template + + + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. +Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. - + Sélection inexistante message box title - + Sélection inexistante - + La sélection n'existe pas. message box content - + La sélection n'existe pas. - - + + Sélection incorrecte message box title - + Sélection incorrecte - + La sélection n'est pas un élément. message box content - + La sélection n'est pas un élément. - + Écraser l'élément ? message box title - + Écraser l'élément ? - + Écraser le template ? message box title - + Écraser le template ? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + L'élément existe déjà. Voulez-vous l'écraser ? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. @@ -2759,27 +3354,33 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Form - + Form TextLabel - + TextLabel Supprimer ce texte - + Supprimer ce texte - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Choisir un article dans la liste de matériaux + + + ex. 80.5 - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2792,109 +3393,227 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Exclure de la numérotation auto - + Exclure de la numérotation auto - + Informations - + Informations - + Ajouter une propriété personnalisée - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Séparation de potentiel - + Exclure de la nomenclature - + Exclure de la nomenclature + + + + Liste de matériaux absente + Liste de matériaux absente + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + + + + Création impossible + Création impossible + + + + Impossible de créer le fichier : +%1 +%2 + Impossible de créer le fichier : +%1 +%2 + + + + Numérotation automatique + Numérotation automatique + + + + … + … + + + + Ouvrir les numérotations d'éléments du projet + Ouvrir les numérotations d'éléments du projet + + + + Figer le nom + Figer le nom + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + Numéro + Numéro + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + %1 (actuel) + %1 (actuel) + + + + — (numéro inconnu) + — (numéro inconnu) + + + + %1 → %2 + %1 → %2 + + + + Le nom est figé : dégelez-le pour changer son numéro. + Le nom est figé : dégelez-le pour changer son numéro. + + + + Le numéro se choisit quand l'élément garde sa numérotation. + Le numéro se choisit quand l'élément garde sa numérotation. + + + + Aucune (nom saisi à la main) + Aucune (nom saisi à la main) + + + + Formule propre : %1 + Formule propre : %1 + + + + Nom figé + Nom figé + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? ElementPickerPopup - - + + Personnaliser la barre… - + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - - - - - Rechercher un élément… - - - - - Éléments : - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. + + Rechercher un élément… + Rechercher un élément… + + + + Éléments : + Éléments : + + + Valeurs par défaut - + Valeurs par défaut - + Annuler - + Annuler - + Terminé - + Terminé - + Dans la barre : - + Dans la barre : - + Autres commandes : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2902,425 +3621,425 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Propriété de l'élément - + Propriété de l'élément - - + + Type - + Type Type de base : - + Type de base : margin: 5px; font-weight: bold; - + margin: 5px; font-weight: bold; Exclure de la nomenclature - + Exclure de la nomenclature Élément esclave - + Élément esclave Nombre de contact représenté - + Nombre de contact représenté Type de contact - + Type de contact État du contact - + État du contact Élément maître - + Élément maître Type concret - + Type concret Définir le nombre maximal d'esclaves - + Définir le nombre maximal d'esclaves Définir les éléments esclave - + Définir les éléments esclave Contact - + Contact Nb. contacts - + Nb. contacts Nb. bornes - + Nb. bornes Élément bornier - + Élément bornier - - + + Fonction - + Fonction Verrouiller la numérotation automatique - + Verrouiller la numérotation automatique Séparation de potentiel - + Séparation de potentiel Informations - + Informations Nom - + Nom Valeurs - + Valeurs + + + + + + Simple + Simple + + + + Maître + Maître + + + + Esclave + Esclave + + + + Renvoi de folio suivant + Renvoi de folio suivant + + + + Renvoi de folio précédent + Renvoi de folio précédent + + + + Bornier + Bornier + + + + Vignette + Vignette + + + + Définition de conducteur + Définition de conducteur + + + + + Normalement ouvert + Normalement ouvert + + + + + Normalement fermé + Normalement fermé - - - Simple - + + Inverseur + Inverseur - Maître - + Other + Other - Esclave - - - - - Renvoi de folio suivant - + Esclave PLC + Esclave PLC - Renvoi de folio précédent - + + Puissance + Puissance - Bornier - + + Temporisé travail + Temporisé travail - Vignette - + + Temporisé repos + Temporisé repos - Définition de conducteur - + + Temporisé travail & repos + Temporisé travail & repos - - Normalement ouvert - + Bobine + Bobine - - Normalement fermé - + Organe de protection + Organe de protection - - Inverseur - + Commutateur / bouton + Commutateur / bouton - Other - - - - - Esclave PLC - - - - - - Puissance - + Module PLC + Module PLC - - Temporisé travail - + + Générique + Générique - - Temporisé repos - + Fusible + Fusible - - Temporisé travail & repos - + Séctionnable + Séctionnable - - Bobine - - - - - Organe de protection - + + Diode + Diode - Commutateur / bouton - + Phase + Phase - Module PLC - - - - - - Générique - - - - - Fusible - - - - - Séctionnable - - - - - Diode - - - - - Phase - - - - Neutre - + Neutre - - - - - + + + + + T%1 - + T%1 - + Autre - + Autre - + Configuration PLC - + Configuration PLC - + + - + + - + - - + - - - + + Adresse - + Adresse - - + + Commentaire - + Commentaire - + Réf. croisée - + Réf. croisée - - + + Nb. - + Nb. - + T1 - + T1 - + Police des en-têtes - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Police du texte - + Configurer la police du texte dans les cellules - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher les en-têtes sur la feuille + + + + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - - - - Saut %1 après: - + Saut %1 après: - + Aucun - + Aucun - + H. ligne: - + H. ligne: - - + + mm - + mm - + Réf. - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Visible - + Coller depuis le presse-papiers - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police des en-têtes de colonnes - + Police du texte des cellules - + Police du texte des cellules - + Terre - + Terre @@ -3328,113 +4047,127 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Général - + Général - Élement + Élément - Élement + Élément Nom : %1 - + Nom : %1 + Folio : %1 - + Folio : %1 + Type : %1 - + Type : %1 + Sous-type : %1 - + Sous-type : %1 + Position : %1 - + Position : %1 + Rotation : %1° - + Rotation : %1° + Dimensions : %1*%2 - + Dimensions : %1*%2 + Bornes : %1 - + Bornes : %1 + Nombre maximum de contacts esclaves définis : non défini - + Nombre maximum de contacts esclaves définis : non défini + Nombre maximum de contacts esclaves définis : %1 - + Nombre maximum de contacts esclaves définis : %1 + Nombre de contacts esclaves utilisés : %1 - + Nombre de contacts esclaves utilisés : %1 + Contacts : NO : %1/%2, NC : %3/%4, inverseurs : %5/%6, autres : %7/%8 - + Contacts : NO : %1/%2, NC : %3/%4, inverseurs : %5/%6, autres : %7/%8 + Contacts : NO : %1, NC : %2, inverseurs : %3, autres : %4 - + Contacts : NO : %1, NC : %2, inverseurs : %3, autres : %4 + Emplacement : %1 - + Emplacement : %1 + Verrouiller la position - + Verrouiller la position Retrouver dans le panel - + Retrouver dans le panel Éditer l'élément - + Éditer l'élément @@ -3447,518 +4180,525 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Informations disponibles - + Informations disponibles Informations à exporter - + Informations à exporter Monter la sélection - + Monter la sélection - + Ajouter la sélection - + Ajouter la sélection - + Supprimer la sélection - + Supprimer la sélection - + Descendre la sélection - + Descendre la sélection - + Pas de filtre - + Pas de filtre - + N'est pas vide - + N'est pas vide - + Est vide - + Est vide - + Contient - + Contient - + Ne contient pas - + Ne contient pas - + Est égal à - + Est égal à - + N'est pas égale à - + N'est pas égale à - + Filtre : - + Filtre : - + Type d'éléments - + Type d'éléments - + Simples - + Simples - + Tous - + Tous - + Vignettes - + Vignettes - + Contacteurs et relais - + Contacteurs et relais - + Boutons et commutateurs - + Boutons et commutateurs - + Borniers - + Borniers - + Organes de protection - + Organes de protection - + Automates (MAE/SPS) - + Automates (MAE/SPS) - + + Contacts esclaves + Contacts esclaves + + + Configuration - + Configuration - + Ouvrir la configuration sélectionné - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer des rapports depuis un fichier - + Importer... - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Exporter... - + Requête SQL personnalisée - + Requête SQL personnalisée - + Requête SQL : - - - - - Position - + Requête SQL : - Titre du folio - + Position + Position - Position du folio - + Titre du folio + Titre du folio + Position du folio + Position du folio + + + Numéro du folio - + Numéro du folio - - + + Exporter - + Exporter - - + + Aucun rapport enregistré à exporter. - + Aucun rapport enregistré à exporter. - + Exporter les rapports - + Exporter les rapports - - + + Fichiers JSON (*.json) - + Fichiers JSON (*.json) - - - - + + + + Erreur - + Erreur - + Impossible d'écrire dans %1. - - - - - Importer des rapports - - - - - Impossible de lire %1. - - - - - %1 ne contient pas des rapports QElectroTech valides. - - - - - - Importer - - - - - Ce fichier ne contient aucun rapport. - - - - - Rapport déjà existant - - - - - Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire dans %1. - Impossible d'écrire la configuration locale. - + Importer des rapports + Importer des rapports - + + Impossible de lire %1. + Impossible de lire %1. + + + + %1 ne contient pas des rapports QElectroTech valides. + %1 ne contient pas des rapports QElectroTech valides. + + + + + Importer + Importer + + + + Ce fichier ne contient aucun rapport. + Ce fichier ne contient aucun rapport. + + + + Rapport déjà existant + Rapport déjà existant + + + + Un rapport nommé « %1 » existe déjà. Le remplacer ? + Un rapport nommé « %1 » existe déjà. Le remplacer ? + + + + Impossible d'écrire la configuration locale. + Impossible d'écrire la configuration locale. + + + %1 rapport(s) importé(s), %2 ignoré(s). - + %1 rapport(s) importé(s), %2 ignoré(s). ElementScene - + Déplacer une primitive - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Éditer les informations sur l'auteur - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Éditer les noms - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item n'est pas une catégorie - + L'item demandé n'est pas une categrie. Abandon. message box content - - - - - Catégorie inexistante - message box title - + L'item demandé n'est pas une categrie. Abandon. + Catégorie inexistante + message box title + Catégorie inexistante + + + La catégorie demandée n'existe pas. Abandon. message box content - + La catégorie demandée n'existe pas. Abandon. - + Éditer une catégorie window title - + Éditer une catégorie - + Créer une nouvelle catégorie window title - + Créer une nouvelle catégorie - + Nom de la nouvelle catégorie default name when creating a new category - - - - - Édition en lecture seule - message box title - + Nom de la nouvelle catégorie + Édition en lecture seule + message box title + Édition en lecture seule + + + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. - + Nom interne : - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - - - - - Nom interne manquant - message box title - + Vous pouvez spécifier un nom par langue pour la catégorie. - Vous devez spécifier un nom interne. - message box content - + Nom interne manquant + message box title + Nom interne manquant - - Nom interne déjà utilisé - message box title - + + Vous devez spécifier un nom interne. + message box content + Vous devez spécifier un nom interne. - Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. - message box content - + Nom interne déjà utilisé + message box title + Nom interne déjà utilisé - - Erreur - message box title - + + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. + message box content + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. + Erreur + message box title + Erreur + + + Impossible de créer la catégorie message box content - + Impossible de créer la catégorie ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Ouvrir le dossier correspondant - + Éditer l'élément - + Éditer l'élément - + Supprimer l'élément - + Supprimer l'élément - + Supprimer le dossier - - - - - Recharger les collections - - - - - Éditer le dossier - - - - - Nouveau dossier - - - - - Nouvel élément - - - - - Importer une pièce EPLAN (.edz)… - - - - - Afficher uniquement ce dossier - + Supprimer le dossier - Afficher tous les dossiers - + Recharger les collections + Recharger les collections - Propriété du dossier - + Éditer le dossier + Éditer le dossier - + + Nouveau dossier + Nouveau dossier + + + + Nouvel élément + Nouvel élément + + + + Importer une pièce EPLAN (.edz)… + Importer une pièce EPLAN (.edz)… + + + + Afficher uniquement ce dossier + Afficher uniquement ce dossier + + + + Afficher tous les dossiers + Afficher tous les dossiers + + + + Propriété du dossier + Propriété du dossier + + + Supprimer l'élément ? message box title - + Supprimer l'élément ? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Êtes-vous sûr de vouloir supprimer cet élément ? + - + Suppression de l'élément message box title - + Suppression de l'élément - + La suppression de l'élément a échoué. message box content - + La suppression de l'élément a échoué. - + Supprimer le dossier? message box title - + Supprimer le dossier? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Êtes-vous sûr de vouloir supprimer le dossier ? +Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title - + Suppression du dossier - + La suppression du dossier a échoué. message box content - + La suppression du dossier a échoué. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3971,46 +4711,58 @@ En important ce fichier, vous confirmez que : • vous connaissez son origine et êtes autorisé à l'utiliser dans ce contexte, au regard des conditions applicables à cette source ; • cette importation est effectuée à vos propres risques et responsabilité ; • ni QElectroTech, ni ses mainteneurs, ni ses contributeurs ne peuvent être tenus responsables d'une utilisation non conforme de ces données. - + Le format .edz peut provenir de deux sources différentes : + +• Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; +• Le site d'un fabricant de composants (ou d'un distributeur) qui met ses fichiers .edz à disposition directement, selon ses propres conditions. + +QElectroTech ne peut pas déterminer automatiquement l'origine du fichier que vous importez, ni les conditions qui s'y appliquent. + +En important ce fichier, vous confirmez que : + +• vous connaissez son origine et êtes autorisé à l'utiliser dans ce contexte, au regard des conditions applicables à cette source ; +• cette importation est effectuée à vos propres risques et responsabilité ; +• ni QElectroTech, ni ses mainteneurs, ni ses contributeurs ne peuvent être tenus responsables d'une utilisation non conforme de ces données. - + J'ai lu et j'accepte ces conditions. - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer - + Importer une pièce EPLAN - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Pièces EPLAN (*.edz) - + Import EPLAN - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Impossible d'importer cette pièce : +%1 - + Le dossier %1 contient - + Le dossier %1 contient - + %n élément(s), répartie(s) %n élément, répartie @@ -4018,7 +4770,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). dans %n dossier. @@ -4026,34 +4778,34 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Rechercher... - + Collections - + Collections - + Modèles - + Modèles - + Propriété du dossier %1 - + Propriété du dossier %1 @@ -4062,36 +4814,36 @@ En important ce fichier, vous confirmez que : Double-cliquez pour réduire ou développer ce projet Status tip - + Double-cliquez pour réduire ou développer ce projet Cartouches embarqués - + Cartouches embarqués Double-cliquez pour réduire ou développer cette collection de cartouches embarquée Status tip - + Double-cliquez pour réduire ou développer cette collection de cartouches embarquée Glissez-déposez ce modèle de cartouche sur un folio pour l'y appliquer. Status tip displayed when selecting a title block template - + Glissez-déposez ce modèle de cartouche sur un folio pour l'y appliquer. Double-cliquez pour réduire ou développer la collection de cartouches QElectroTech Status tip - + Double-cliquez pour réduire ou développer la collection de cartouches QElectroTech Ceci est la collection de cartouches fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser. "What's this" tip - + Ceci est la collection de cartouches fournie avec QElectroTech. Installée en tant que composant système, vous ne pouvez normalement pas la personnaliser. @@ -4109,138 +4861,138 @@ En important ce fichier, vous confirmez que : Double-cliquez pour réduire ou développer votre collection personnelle de cartouches Status tip - + Double-cliquez pour réduire ou développer votre collection personnelle de cartouches Ceci est votre collection personnelle de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches. "What's this" tip - + Ceci est votre collection personnelle de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches. ElementsPanelWidget - - - Ouvrir le dossier correspondant - - - - - Copier le chemin - - - Basculer vers ce projet - + Ouvrir le dossier correspondant + Ouvrir le dossier correspondant - Fermer ce projet - + Copier le chemin + Copier le chemin - Propriétés du projet - + Basculer vers ce projet + Basculer vers ce projet - Propriétés du folio - + Fermer ce projet + Fermer ce projet - Ajouter un folio - + Propriétés du projet + Propriétés du projet - Insérer un folio au-dessus - + Propriétés du folio + Propriétés du folio - Insérer un folio en dessous - + Ajouter un folio + Ajouter un folio - Copier et coller - + Insérer un folio au-dessus + Insérer un folio au-dessus - Supprimer ce folio - + Insérer un folio en dessous + Insérer un folio en dessous - Remonter ce folio - + Copier et coller + Copier et coller - Abaisser ce folio - + Supprimer ce folio + Supprimer ce folio - Remonter ce folio x10 - + Remonter ce folio + Remonter ce folio - Remonter ce folio x100 - + Abaisser ce folio + Abaisser ce folio - Remonter ce folio au debut - + Remonter ce folio x10 + Remonter ce folio x10 - Abaisser ce folio x10 - + Remonter ce folio x100 + Remonter ce folio x100 - Abaisser ce folio x100 - + Remonter ce folio au debut + Remonter ce folio au debut - Nouveau modèle - + Abaisser ce folio x10 + Abaisser ce folio x10 - Éditer ce modèle - + Abaisser ce folio x100 + Abaisser ce folio x100 - Supprimer ce modèle - + Nouveau modèle + Nouveau modèle + + + + Éditer ce modèle + Éditer ce modèle + + + + Supprimer ce modèle + Supprimer ce modèle - - + + Panneau des éléments - + Panneau des éléments - + Filtrer - + Filtrer @@ -4253,292 +5005,312 @@ En important ce fichier, vous confirmez que : Centre : - + Centre : Y - + Y X - + X Vertical : - + Vertical : Horizontal : - + Horizontal : Diamètres : - + Diamètres : ExportConfigPage - + Export configuration page title - + Export ExportDialog - + Exporter les folios du projet window title - + Exporter les folios du projet - + Exporter - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout cocher - + Tout décocher - + Tout décocher - + Titre du folio - + Titre du folio - + Nom de fichier - + Nom de fichier - + Dimensions - + Dimensions - + Noms des fichiers cibles message box title - + Noms des fichiers cibles - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. - + Dossier non spécifié message box title - + Dossier non spécifié - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. - + Images non incluses dans l'export DXF message box title - + Images non incluses dans l'export DXF - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. - + Impossible d'écrire dans ce fichier message box title - + Impossible d'écrire dans ce fichier - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. - + Aperçu - + Aperçu - - + + px - + px ExportPropertiesWidget - + Exporter dans le dossier dialog title - - - - - Dossier cible : - + Exporter dans le dossier + Dossier cible : + Dossier cible : + + + Parcourir - - - - - Format : - - - - - PNG (*.png) - - - - - JPEG (*.jpg) - + Parcourir + Format : + Format : + + + + PNG (*.png) + PNG (*.png) + + + + JPEG (*.jpg) + JPEG (*.jpg) + + + Bitmap (*.bmp) - + Bitmap (*.bmp) - + SVG (*.svg) - + SVG (*.svg) - + DXF (*.dxf) - - - - - Options de rendu - groupbox title - + DXF (*.dxf) - Exporter entièrement le folio - + Options de rendu + groupbox title + Options de rendu - - Exporter seulement les éléments - + + Exporter entièrement le folio + Exporter entièrement le folio + Exporter seulement les éléments + Exporter seulement les éléments + + + Dessiner la grille - + Dessiner la grille - + Dessiner le cadre - + Dessiner le cadre - + Dessiner le cartouche - + Dessiner le cartouche - + Dessiner les bornes - + Dessiner les bornes - + Dessiner les noms des bornes - + Dessiner les noms des bornes - + Conserver les couleurs des conducteurs - + Conserver les couleurs des conducteurs - + SVG: fond transparent SVG: fond transparent + + + DXF : symboles en blocs + DXF : symboles en blocs + + + + Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO + Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO + + + + DXF : textes des symboles en attributs + DXF : textes des symboles en attributs + + + + Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs. + Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs. + FolioAutonumberingW Form - + Form Options de numérotation - + Options de numérotation C&réer de nouveaux folios - + C&réer de nouveaux folios Numérotation automatique des folios sélectionnés - + Numérotation automatique des folios sélectionnés Nouveaux folios - + Nouveaux folios À - + À De - + De Sélection: - + Sélection: Numérotation automatique de Folio : - + Numérotation automatique de Folio : @@ -4561,7 +5333,18 @@ Si le chiffre défini dans le champ Valeur possède moins de digits que le type Le champ "Incrémentation" n'est pas utilisé. help dialog about the folio autonumerotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. +-Une numérotation est composée d'une variable minimum. +-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. +-Une variable de numérotation comprend : un type, une valeur et une incrémentation. + +-les types "Chiffre 1", "Chiffre 01" et "Chiffre 001", représentent un type numérique défini dans le champ "Valeur", qui s'incrémente à chaque nouveau folio de la valeur du champ "Incrémentation". +-"Chiffre 01" et "Chiffre 001", sont respectivement représentés sur le schéma par deux et trois digits minimum. +Si le chiffre défini dans le champ Valeur possède moins de digits que le type choisi,celui-ci sera précédé par un ou deux 0 afin de respecter son type. + +-Le type "Texte", représente un texte fixe. +Le champ "Incrémentation" n'est pas utilisé. + @@ -4569,17 +5352,17 @@ Le champ "Incrémentation" n'est pas utilisé. Assistant de formule - + Assistant de formule TextLabel - + TextLabel Formule - + Formule @@ -4592,12 +5375,12 @@ Le champ "Incrémentation" n'est pas utilisé. Dénomination automatique : - + Dénomination automatique : Formule - + Formule @@ -4638,116 +5421,126 @@ que vous créez. entrées de texte et nombres sont Déplacer dans : - + Déplacer dans : Type : - + Type : Fonction : - + Fonction : LED : - + LED : Appliquer le déplacement - + Appliquer le déplacement - - + + Générique - + Générique - + Fusible - + Fusible - + Sectionnable - + Sectionnable - + Diode - + Diode - + Terre - + Terre - + Phase - + Phase - + Neutre - + Neutre - + Sans - + Sans - + Avec - + Avec - + Modifier des propriétés de borniers - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + Sélectionnez dans le tableau les bornes à déplacer + + + Déplacer les bornes sélectionnées vers le bornier choisi - + Déplacer les bornes sélectionnées vers le bornier choisi FreeTerminalModel - - - Label - - - Référence croisé - + Label + Label - Type - + Référence croisé + Référence croisé - Fonction - + Type + Type + Fonction + Fonction + + + led - + led @@ -4755,48 +5548,48 @@ que vous créez. entrées de texte et nombres sont Apparence - + Apparence Utiliser les couleurs du système - + Utiliser les couleurs du système - + Projets - + Projets - + Utiliser les numéros de folio à la place de leur position dans le projet - + Utiliser les numéros de folio à la place de leur position dans le projet - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Utiliser les gestes du pavé tactile - + Utiliser les gestes du pavé tactile - + Ne pas conserver les labels des éléments lors des copier coller - + Ne pas conserver les labels des éléments lors des copier coller Autoriser le dézoom au delà du folio - + Autoriser le dézoom au delà du folio @@ -4804,568 +5597,799 @@ que vous créez. entrées de texte et nombres sont Formulaire - + Chemin de la collection utilisateur - + Chemin de la collection utilisateur - + Chemin de la collection commune - + Chemin de la collection commune - - - - - - + + + + + + Par defaut - + Par defaut - - - - - - + + + + + + + Parcourir... - + Parcourir... - + (Recharger les collections d'éléments pour appliquer les changements) - + (Recharger les collections d'éléments pour appliquer les changements) - + Désactivé - + Désactivé - + min minute - + min - + Chemin des cartouches utilisateur - + Chemin des cartouches utilisateur - + Collections - + Collections - + Accès aux collections - - - - - Répertoire de la collection commune - - - - - Répertoire de la collection utilisateur - - - - - Répertoire des cartouches utilisateur - - - - - Gestion des éléments - + Accès aux collections - Mettre en valeur dans le panel les éléments fraîchement intégrés - + Répertoire de la collection commune + Répertoire de la collection commune - + + Répertoire de la collection utilisateur + Répertoire de la collection utilisateur + + + + Répertoire des cartouches utilisateur + Répertoire des cartouches utilisateur + + + + Gestion des éléments + Gestion des éléments + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés + Mettre en valeur dans le panel les éléments fraîchement intégrés + + + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. +Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Appliqué au prochain lancement de QElectroTech - + Appliqué au prochain lancement de QElectroTech - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Grille + Clavier - + Grille + Clavier - + Grille : 1 - 30 - + Grille : 1 - 30 - + DiagramEditor xGrid Editeur de schémas xGrid - + DiagramEditor yGrid Editeur de schémas yGrid Couleur de l'application - + Couleur de l'application Afficher les propriétés d'un conducteur sélectionné dans le panneau Propriétés de la sélection - + Afficher les propriétés d'un conducteur sélectionné dans le panneau Propriétés de la sélection - - Afficher la grille par défaut (appliqué au prochain lancement) - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. - + + Appliquer les règles de conducteurs par borne des projets + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer - + + Nombre maximal de conducteurs par borne : + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection - + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) - + Sans limite + Sans limite - Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. - - Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + + Un seul conducteur par renvoi de folio + Un seul conducteur par renvoi de folio + + + + Afficher la grille par défaut (appliqué au prochain lancement) + Afficher la grille par défaut (appliqué au prochain lancement) + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + Afficher les résultats de recherche sous forme de liste triée + Afficher les résultats de recherche sous forme de liste triée - Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + Afficher les commandes près de la sélection + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + Gestes de la souris avec le bouton droit + Gestes de la souris avec le bouton droit + + + + Afficher les guides par défaut (appliqué au prochain lancement) + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) + + + + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : + + + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + Répertoire de la collection company Répertoire de la collection entreprise - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Configurer les préfixes… + + + Répertoire des cartouches company Répertoire des cartouches entreprise - - - Répertoire des Macros utilisateur - - - Langues - - - - - Textes - + Répertoire des Macros utilisateur + Répertoire des Macros utilisateur + Fichier de la liste de matériaux + Fichier de la liste de matériaux + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + + + + Non configuré + hint shown when no material file is configured yet + Non configuré + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + Créer le fichier de la liste avec ses en-têtes + + + + Créer... + Créer... + + + + Langues + Langues + + + + Textes + Textes + + + Textes d'éléments - + Textes d'éléments - - - + + + Police : - + Police : - - + + ° - + ° - + Longueur : - + Longueur : - - + + Rotation : - + Rotation : - + Textes indépendants - + Textes indépendants - + Autres textes - + Autres textes - + La Grille doite etre active pour pouvoir voir les modifications. - + La Grille doite etre active pour pouvoir voir les modifications. - + Grille des textes déplacés à la souris - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Editeur de schémas (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid Editeur de schémas (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Editeur de schémas (touche : haut / bas) yGrid - + DiagramEditor (touche : haut / bas) yGrid Editeur de schémas (touche : haut / bas) yGrid - + Affichage Grille - + Affichage Grille - - + + max: - + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Vérifier les noms des bornes à l'enregistrement + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor Editeur - + Max. parts in Element Editor List Max. pièces dans la liste de l'éditeur d'éléments - + Arrondi supérieur pour 0.5 et plus - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Pas d'arrondi - + Désactivée - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + Non configuré (par défaut : %1) + + + Général configuration page title - + Général - + Système - + Système - + Arabe - + Arabe - + Brézilien - + Brézilien - + Catalan - + Catalan - + Tchèque - + Tchèque - + Allemand - + Allemand - + Danois - + Danois - + Grec - + Grec - + Anglais - + Anglais - + Espagnol - + Espagnol - + Français - + Français - + Croate - + Croate - + Italien - + Italien - + Japonais - + Japonais - + Coréen - + Coréen - + Polonais - + Polonais - + Portugais - + Portugais - + Roumains - + Roumains - + Russe - + Russe - + Slovène - + Slovène - + Pays-Bas - + Pays-Bas - + Norvege Norvégien - + Belgique-Flemish - + Belgique-Flemish - + Turc - + Turc - + Hongrois - + Hongrois - + Mongol - + Mongol - + Ukrainien - + Ukrainien - + Chinois - + Chinois - + Suédois - + Suédois - + Chemin de la collection company Chemin de la collection entreprise - + Chemin des cartouches company Chemin des cartouches entreprise - + Chemin des macros utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + Répertoire introuvable + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + Aucun sous-dossier + Aucun sous-dossier + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + Fichier de préfixes illisible + Fichier de préfixes illisible + + + + Fichier de préfixes endommagé + Fichier de préfixes endommagé + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + Corriger le fichier + Corriger le fichier + + + + Reconstruire + Reconstruire + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + Fichier : %1 + Fichier : %1 + + + + Sélectionner le fichier de la liste de matériaux + Sélectionner le fichier de la liste de matériaux + + + + + Fichiers csv (*.csv) + Fichiers csv (*.csv) + + + + Créer le fichier de la liste de matériaux + Créer le fichier de la liste de matériaux + + + + Création impossible + Création impossible + + + + Impossible de créer le fichier : +%1 +%2 + Impossible de créer le fichier : +%1 +%2 + + + To high values might lead to crashes of the application. Des valeurs élevées peuvent entraîner des plantages de l'application. - + Fonctionnalité expérimental - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : 1 - la valeur sélectionnée 2 - du dpi de l'écran 3 - Modifier le projet sur un autre ordinateur et/ou écran n'ayant pas les mêmes paramètres des points 1 et 2. - + AVERTISSEMENT : +Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : + +1 - la valeur sélectionnée +2 - du dpi de l'écran +3 - Modifier le projet sur un autre ordinateur et/ou écran n'ayant pas les mêmes paramètres des points 1 et 2. @@ -5374,101 +6398,297 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Pas de fichier tooltip for a file-less project in the element panel - + Pas de fichier Ceci est un projet QElectroTech, c'est-à-dire un fichier d'extension .qet regroupant plusieurs folios. Il embarque également les éléments et modèles de cartouches utilisés dans ces folios. "What's this" tip - + Ceci est un projet QElectroTech, c'est-à-dire un fichier d'extension .qet regroupant plusieurs folios. Il embarque également les éléments et modèles de cartouches utilisés dans ces folios. Folio sans titre Fallback label when a diagram has no title - + Folio sans titre %1 - %2 label displayed for a diagram in the panel ; %1 is the folio index, %2 is the diagram title - + %1 - %2 Modèles de cartouche - + Modèles de cartouche Modèle "%1" used to display a title block template - + Modèle "%1" Ceci est un modèle de cartouche, qui peut être appliqué à un folio. "What's this" tip - + Ceci est un modèle de cartouche, qui peut être appliqué à un folio. - + %1 [non utilisé dans le projet] - + %1 [non utilisé dans le projet] + + + + GesturesConfigPage + + + Faites glisser avec le bouton droit sur un folio : un anneau de commandes s'ouvre, relâchez vers celle à lancer. Tant que vous ne changez pas l'anneau d'un contexte, il montre les commandes de la barre de raccourcis. Les gestes s'activent ou se désactivent dans la page Général. + Faites glisser avec le bouton droit sur un folio : un anneau de commandes s'ouvre, relâchez vers celle à lancer. Tant que vous ne changez pas l'anneau d'un contexte, il montre les commandes de la barre de raccourcis. Les gestes s'activent ou se désactivent dans la page Général. + + + + 8 directions + 8 directions + + + + 4 directions + 4 directions + + + + Placer → + Placer → + + + + Vider la direction + Vider la direction + + + + Comme la barre de raccourcis + Comme la barre de raccourcis + + + + Commandes disponibles + Commandes disponibles + + + + Anneau, la direction choisie en surbrillance + Anneau, la direction choisie en surbrillance + + + + Directions : + Directions : + + + + Contexte : + Contexte : + + + + Gestes de la souris + configuration page title + Gestes de la souris + + + + (direction vide) + (direction vide) + + + + Anneau personnalisé pour ce contexte. + Anneau personnalisé pour ce contexte. + + + + Cet anneau suit la barre de raccourcis. + Cet anneau suit la barre de raccourcis. GraphicsTablePropertiesEditor + Form - Formulaire + Formulaire + + Affichage + Affichage + + + + Nom du tableau + Nom du tableau + + + + Géometrie et lignes + Géometrie et lignes + + + + Toutes + Toutes + + + + Tableau suivant + Tableau suivant + + + Aucun - + Aucun + + + + Ajuster le tableau au folio + Ajuster le tableau au folio + + + + Y : + Y : + + + + X : + X : + + + + Tableau précédent + Tableau précédent + + + + Appliquer la géometrie à tous les tableaux liée à celui-ci + Appliquer la géometrie à tous les tableaux liée à celui-ci + + + + Tableau précédent : + Tableau précédent : + + + + Lignes à afficher : + Lignes à afficher : + + + + TextLabel + TextLabel + + + + En tête + En tête + + + + + Marge + Marge + + + + Aligement : + Aligement : + + + + + Gauche + Gauche + + + + + Centré + Centré + + + + + Droite + Droite + + + + + Police + Police + + + + Tableau + Tableau + + + + Alignement : + Alignement : + + + + Contenu + Contenu Déplacer un tableau - + Déplacer un tableau Modifier le nombre de ligne affiché par un tableau - + Modifier le nombre de ligne affiché par un tableau Modifier les marges d'une en tête de tableau - + Modifier les marges d'une en tête de tableau Modifier les marges d'un tableau - + Modifier les marges d'un tableau Modifier l'alignement d'une en tête de tableau - + Modifier l'alignement d'une en tête de tableau Modifier l'alignement des textes d'un tableau - + Modifier l'alignement des textes d'un tableau Modifier la police d'une en tête de tableau - + Modifier la police d'une en tête de tableau Changer la police d'un tableau - + Changer la police d'un tableau @@ -5482,7 +6702,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Appliquer la géometrie d'un tableau aux tableau liée à celui-ci - + Appliquer la géometrie d'un tableau aux tableau liée à celui-ci @@ -5490,38 +6710,38 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Orientation - + Orientation Position - + Position Couleur - + Couleur Ajouter - + Ajouter Supprimer - + Supprimer Horizontal - + Horizontal Vertical - + Vertical @@ -5529,22 +6749,22 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Rogner l'image - + Rogner l'image Faites glisser les poignées, ou l'intérieur du cadre, pour ajuster la zone à conserver. - + Faites glisser les poignées, ou l'intérieur du cadre, pour ajuster la zone à conserver. Réinitialiser - + Réinitialiser Revenir à l'image complète, sans rognage - + Revenir à l'image complète, sans rognage @@ -5552,145 +6772,160 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Form - + Form Largeur - + Largeur % - + % - + Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. - + Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. Hauteur - + Hauteur Restaurer les proportions - + Restaurer les proportions Angle - + Angle ° - + ° Inclinaison X - + Inclinaison X Inclinaison Y - + Inclinaison Y Libellé - + Libellé Texte affiché sous l'image. Il suit l'image quand elle est déplacée, copiée ou tournée. - + Texte affiché sous l'image. Il suit l'image quand elle est déplacée, copiée ou tournée. Verrouiller la position - + Verrouiller la position - + + Adapter l’image au thème sombre + Adapter l’image au thème sombre + + + + Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés. + Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés. + + + Modifier la largeur d'une image - + Modifier la largeur d'une image - + Modifier la hauteur d'une image - + Modifier la hauteur d'une image - + Modifier l'angle d'une image - + Modifier l'angle d'une image - - + + Modifier l'inclinaison d'une image - + Modifier l'inclinaison d'une image - + Modifier le libellé d'une image - + Modifier le libellé d'une image - + + Modifier l'adaptation d'une image au thème sombre + Modifier l'adaptation d'une image au thème sombre + + + Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. - + Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. ImageTransparentColorDialog - + Couleur transparente - - - - - Image source - + Couleur transparente + Image source + Image source + + + Aperçu - + Aperçu - + rgb(%1, %2, %3) - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Tolérance pour cette couleur - + Retirer cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur - + Cliquez sur l'image pour choisir une couleur @@ -5698,7 +6933,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Intégration d'un élément - + Intégration d'un élément @@ -5731,77 +6966,158 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Dialog - + Dialog TextLabel - + TextLabel Écraser les textes existants - + Écraser les textes existants IndiTextPropertiesWidget + Form - Formulaire + Formulaire - - - + + X : + X : + + + + Éditeur avancé + Éditeur avancé + + + + Taille : + Taille : + + + + Angle : + Angle : + + + + + + px + px + + + + ° + ° + + + + Y : + Y : + + + + Largeur : + Largeur : + + + + Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique + Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique + + + + Auto + Auto + + + + Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html. +Veuillez utiliser l'éditeur avancé pour cela. + Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html. +Veuillez utiliser l'éditeur avancé pour cela. + + + + Cliquez ici pour annuler le formatage html + Cliquez ici pour annuler le formatage html + + + + Texte + Texte + + + + + + Police - + Police - - + + Déplacer un champ texte - + Déplacer un champ texte - + Pivoter un champ texte - + Pivoter un champ texte - + Modifier un champ texte - + Modifier un champ texte - + Modifier la taille d'un champ texte - + Modifier la taille d'un champ texte - + Modifier la police d'un champ texte - + Modifier la police d'un champ texte - + + Modifier la largeur d'un champ texte + Modifier la largeur d'un champ texte + + + Pivoter plusieurs champs texte - + Pivoter plusieurs champs texte - + Modifier la taille de plusieurs champs texte - + Modifier la taille de plusieurs champs texte - + Modifier la police de plusieurs champs texte - + Modifier la police de plusieurs champs texte - + + Modifier la largeur de plusieurs champs texte + Modifier la largeur de plusieurs champs texte + + + Modifier les propriétés d'un texte - + Modifier les propriétés d'un texte @@ -5810,83 +7126,83 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Impossible d'accéder à la catégorie parente error message - + Impossible d'accéder à la catégorie parente Impossible d'obtenir la description XML de ce modèle error message - + Impossible d'obtenir la description XML de ce modèle Erreur message box title - + Erreur Intégration d'un modèle de cartouche - + Intégration d'un modèle de cartouche Le modèle a déjà été intégré dans le projet. Toutefois, la version que vous tentez d'appliquer semble différente. Que souhaitez-vous faire ? dialog content - %1 is a title block template name - + Le modèle a déjà été intégré dans le projet. Toutefois, la version que vous tentez d'appliquer semble différente. Que souhaitez-vous faire ? Utiliser le modèle déjà intégré dialog content - + Utiliser le modèle déjà intégré Intégrer le modèle déposé dialog content - + Intégrer le modèle déposé Écraser le modèle déjà intégré dialog content - + Écraser le modèle déjà intégré Faire cohabiter les deux modèles dialog content - + Faire cohabiter les deux modèles JumpToElementDialog - + Atteindre un élément window title - + Atteindre un élément - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Case %1 - + Folio %1, case %2 - + Folio %1, case %2 - + Folio %1 (%2), case %3 - + Folio %1 (%2), case %3 @@ -5896,41 +7212,41 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Normale type of the 1st end of a line - + Normale Flèche simple type of the 1st end of a line - + Flèche simple Flèche triangulaire type of the 1st end of a line - + Flèche triangulaire Cercle type of the 1st end of a line - + Cercle Carré type of the 1st end of a line - + Carré Modifier une ligne - + Modifier une ligne @@ -5940,38 +7256,38 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu X1 : - + X1 : Y1 : - + Y1 : X2 : - + X2 : Fin 1 : - + Fin 1 : Y2 : - + Y2 : Fin 2 : - + Fin 2 : Longueur : - + Longueur : @@ -5979,46 +7295,46 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Form - + Form Cet élément est déjà lié - + Cet élément est déjà lié Recherche - + Recherche Masquer les éléments maîtres pleins - + Masquer les éléments maîtres pleins Label - + Label Commentaire - + Commentaire N° de folio - + N° de folio Label de folio - + Label de folio @@ -6026,7 +7342,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Titre de folio - + Titre de folio @@ -6034,97 +7350,231 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Position - + Position N° de fil - + N° de fil Fonction - + Fonction Tension / Protocole - + Tension / Protocole Couleur du conducteur - + Couleur du conducteur Section du conducteur - + Section du conducteur (déjà utilisé) - + (déjà utilisé) Sélectionner un IO PLC - + Sélectionner un IO PLC IO disponible: - + IO disponible: Délier - + Délier Voir cet élément - + Voir cet élément Voir l'élément lié - + Voir l'élément lié Lier l'élément - + Lier l'élément Montrer l'élément - + Montrer l'élément Montrer l'élément esclave - + Montrer l'élément esclave Enregistrer la disposition - + Enregistrer la disposition Report de folio - + Report de folio Référence croisée (esclave) - + Référence croisée (esclave) + + + + LiveServer + + + Mode direct + Mode direct + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + &Continuer + &Continuer + + + + &Pas pour cette session + &Pas pour cette session + + + + &Désactiver + &Désactiver + + + + Ne plus demander au démarrage + Ne plus demander au démarrage + + + + Le mode direct s'ouvrira à chaque démarrage. Pour être de nouveau averti, désactivez-le puis réactivez-le dans Configurer QElectroTech > Général > Projets. + Le mode direct s'ouvrira à chaque démarrage. Pour être de nouveau averti, désactivez-le puis réactivez-le dans Configurer QElectroTech > Général > Projets. + + + + + script + script + + + + Impression + Impression + + + + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + + + + + &Imprimer + &Imprimer + + + + &Annuler + &Annuler + + + + + Assistant : %1 + Assistant : %1 + + + + L'assistant veut exécuter un script + L'assistant veut exécuter un script + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + &Exécuter + &Exécuter + + + + &Refuser + &Refuser + + + + &Toujours + &Toujours + + + &Toujours pour cette session + &Toujours pour cette session + + + + MacroRecorder + + + Macro du %1 + Macro du %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + projet fermé pendant l'enregistrement : pas de after.qet + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + @@ -6132,27 +7582,27 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Editer les marges - + Editer les marges Haut : - + Haut : Gauche : - + Gauche : Droit : - + Droit : Bas : - + Bas : @@ -6160,132 +7610,290 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Form - + Form <html><head/><body><p>Délier l'élément sélectionné</p></body></html> - + <html><head/><body><p>Délier l'élément sélectionné</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> Vignette - + Vignette N° de folio - + N° de folio Label de folio - + Label de folio Titre de folio - + Titre de folio Position - + Position Éléments disponibles - + Éléments disponibles Éléments liés - + Éléments liés Lier l'élément - + Lier l'élément Délier l'élément - + Délier l'élément Montrer l'élément - + Montrer l'élément Montrer l'élément maître - + Montrer l'élément maître Enregistrer la disposition - + Enregistrer la disposition Nombre maximal d'esclaves atteint. - + Nombre maximal d'esclaves atteint. La limite fixée pour cet élément maître est atteinte (Limite: %1). Voulez-vous tout de même lier ce contact esclave ? - + La limite fixée pour cet élément maître est atteinte (Limite: %1). + +Voulez-vous tout de même lier ce contact esclave ? Type - + Type Adresse - + Adresse Fonction - + Fonction Commentaire - + Commentaire Réf. croisée - + Réf. croisée Bornes - + Bornes - + Coller depuis le presse-papiers - + Coller depuis le presse-papiers Référence croisée (maître) - + Référence croisée (maître) + + + + MaterialEntryDialog + + + Nouvelle entrée + Nouvelle entrée + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + Enregistrer + Enregistrer + + + + Annuler + Annuler + + + + Aucun renseignement + Aucun renseignement + + + + Saisissez au moins un renseignement pour créer une entrée. + Saisissez au moins un renseignement pour créer une entrée. + + + + MaterialList + + + + Bloc auxiliaire + Bloc auxiliaire + + + + Aucun récepteur pour le répertoire de matériaux. + Aucun récepteur pour le répertoire de matériaux. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + Le fichier existe déjà et n'est pas vide. + Le fichier existe déjà et n'est pas vide. + + + + MaterialSelectionDialog + + + Liste de matériaux + Liste de matériaux + + + + Rechercher : + Rechercher : + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + Tous les mots saisis doivent apparaître quelque part dans la ligne + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + Rechercher dans toutes les colonnes + + + + Entrées : 0 + Entrées : 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + Ajouter un nouvel article à la liste + + + + Nouvelle entrée + Nouvelle entrée + + + + Appliquer + Appliquer + + + + Annuler + Annuler + + + + Lecture impossible + Lecture impossible + + + + Impossible de lire le fichier : +%1 +%2 + Impossible de lire le fichier : +%1 +%2 + + + + Entrées : %1 + Entrées : %1 + + + + Entrées : %1 sur %2 + Entrées : %1 sur %2 + + + + Aucune sélection + Aucune sélection + + + + Sélectionnez d'abord un article dans la liste. + Sélectionnez d'abord un article dans la liste. + + + + Écriture impossible + Écriture impossible + + + + Impossible d'écrire dans le fichier : +%1 +%2 + Impossible d'écrire dans le fichier : +%1 +%2 @@ -6293,53 +7901,58 @@ Voulez-vous tout de même lier ce contact esclave ? Collage multiple - + Collage multiple Décalage - + Décalage px - + px x: - + x: y: - + y: Nombre de copie - + Nombre de copie Auto-connexion - + Auto-connexion Auto-numérotation des éléments - + Auto-numérotation des éléments Auto-numérotation des conducteurs - + Auto-numérotation des conducteurs - + Multi-collage - + Multi-collage + + + + Numéroter les éléments collés + Numéroter les éléments collés @@ -6347,12 +7960,12 @@ Voulez-vous tout de même lier ce contact esclave ? Dialog - + Dialog - + Variables de cartouche - + Variables de cartouche @@ -6365,12 +7978,12 @@ Voulez-vous tout de même lier ce contact esclave ? Langue - + Langue Texte - + Texte @@ -6378,165 +7991,165 @@ Voulez-vous tout de même lier ce contact esclave ? Ajouter une ligne - + Copier dans le presse papier - + Copier dans le presse papier NewDiagramPage - - - Folio - - - - - Conducteur - - - - - Reports de folio - - - - - Références croisées - - + Folio + Folio + + + + Conducteur + Conducteur + + + + Reports de folio + Reports de folio + + + + Références croisées + Références croisées + + + Guides - - - - - Définir les règles de numérotation automatique par défaut pour les nouveaux projets : - - - - - Conducteurs - - - - - Eléments - + Guides - Folios - + Définir les règles de numérotation automatique par défaut pour les nouveaux projets : + Définir les règles de numérotation automatique par défaut pour les nouveaux projets : - Numérotation auto - + Conducteurs + Conducteurs - + + Eléments + Eléments + + + + Folios + Folios + + + + Numérotation auto + Numérotation auto + + + Nouveau folio configuration page title - + Nouveau folio - + Nouveau projet configuration page title - + Nouveau projet NewElementWizard - + Créer un nouvel élément : Assistant window title - + Créer un nouvel élément : Assistant - + &Suivant > - - - - - Étape 1/3 : Catégorie parente - wizard page title - + &Suivant > - Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. - wizard page subtitle - + Étape 1/3 : Catégorie parente + wizard page title + Étape 1/3 : Catégorie parente - - Étape 2/3 : Nom du fichier - wizard page title - + + Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. + wizard page subtitle + Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. + Étape 2/3 : Nom du fichier + wizard page title + Étape 2/3 : Nom du fichier + + + Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle - + Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. - + nouvel_element - + nouvel_element - + Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. - - - - - Étape 3/3 : Noms de l'élément - wizard page title - + Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. + Étape 3/3 : Noms de l'élément + wizard page title + Étape 3/3 : Noms de l'élément + + + Indiquez le ou les noms de l'élément. wizard page subtitle - + Indiquez le ou les noms de l'élément. - + Nom du nouvel élément default name when creating a new element - - - - - - - Erreur - message box title - + Nom du nouvel élément + + + Erreur + message box title + Erreur + + + Vous devez sélectionner une catégorie. message box content - + Vous devez sélectionner une catégorie. - + Vous devez entrer un nom de fichier message box content - + Vous devez entrer un nom de fichier - + Un élément portant le même nom existe déjà - + Un élément portant le même nom existe déjà @@ -6544,32 +8157,32 @@ Voulez-vous tout de même lier ce contact esclave ? Form - + Form Mettre à 0 pour un chiffre qui n'avance que par le report d'un chiffre cyclique suivant (ex: le "0" de "0.7") - + Mettre à 0 pour un chiffre qui n'avance que par le report d'un chiffre cyclique suivant (ex: le "0" de "0.7") Valeur à laquelle ce chiffre revient à 0 en incrémentant le chiffre précédent (0 = pas de cycle) - + Valeur à laquelle ce chiffre revient à 0 en incrémentant le chiffre précédent (0 = pas de cycle) mod. - + mod. Format d'affichage : une suite de zéros donne le nombre minimum de chiffres (00 = 07, 000 = 007). Vide = largeur naturelle du type. - + Format d'affichage : une suite de zéros donne le nombre minimum de chiffres (00 = 07, 000 = 007). Vide = largeur naturelle du type. 0 - + 0 @@ -6578,7 +8191,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 1 - + Chiffre 1 @@ -6587,7 +8200,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 01 - + Chiffre 01 @@ -6596,7 +8209,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 001 - + Chiffre 001 @@ -6605,7 +8218,7 @@ Voulez-vous tout de même lier ce contact esclave ? Cyclique (modulo) - + Cyclique (modulo) @@ -6614,7 +8227,7 @@ Voulez-vous tout de même lier ce contact esclave ? Alphabétique - + Alphabétique @@ -6623,7 +8236,7 @@ Voulez-vous tout de même lier ce contact esclave ? Texte - + Texte @@ -6631,7 +8244,7 @@ Voulez-vous tout de même lier ce contact esclave ? N° folio - + N° folio @@ -6639,7 +8252,7 @@ Voulez-vous tout de même lier ce contact esclave ? Folio - + Folio @@ -6647,7 +8260,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 1 - Folio - + Chiffre 1 - Folio @@ -6655,7 +8268,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 01 - Folio - + Chiffre 01 - Folio @@ -6663,7 +8276,7 @@ Voulez-vous tout de même lier ce contact esclave ? Chiffre 001 - Folio - + Chiffre 001 - Folio @@ -6671,7 +8284,7 @@ Voulez-vous tout de même lier ce contact esclave ? Locmach - + Locmach @@ -6679,28 +8292,28 @@ Voulez-vous tout de même lier ce contact esclave ? Installation - + Installation Element Line - + Element Line Element Column - + Element Column Element Prefix - + Element Prefix @@ -6711,21 +8324,21 @@ Voulez-vous tout de même lier ce contact esclave ? Modifier un arc - + Modifier un arc PartDynamicTextField - + Champ de texte dynamique element part name - + Champ de texte dynamique - + Déplacer un champ texte - + Déplacer un champ texte @@ -6733,7 +8346,7 @@ Voulez-vous tout de même lier ce contact esclave ? Modifier un rectangle - + Modifier un rectangle @@ -6741,7 +8354,7 @@ Voulez-vous tout de même lier ce contact esclave ? Modifier une ligne - + Modifier une ligne @@ -6749,27 +8362,27 @@ Voulez-vous tout de même lier ce contact esclave ? Ajouter un point - + Ajouter un point Supprimer ce point - + Supprimer ce point Modifier un polygone - + Modifier un polygone Ajouter un point à un polygone - + Ajouter un point à un polygone Supprimer un point d'un polygone - + Supprimer un point d'un polygone @@ -6777,66 +8390,88 @@ Voulez-vous tout de même lier ce contact esclave ? Déplacer le label d'une borne - + Déplacer le label d'une borne PartText - + Déplacer un texte - + Déplacer un texte - + Modifier un champ texte - + Modifier un champ texte + + + + PasteNumberingImport + + + Numérotation absente de ce projet + Numérotation absente de ce projet + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + Les éléments collés suivent %n numérotation qui n'existe pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + Les éléments collés suivent %n numérotations qui n'existent pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + PdfPagesDialog - + Sélectionner une page - + Sélectionner une page - + Ce document PDF contient %n page(s) - - + Ce document PDF contient %n page(s) + Ce document PDF contient %n page(s) - + Page à importer : - + Page à importer : - + Résolution : - - - - - 150 DPI (écran) - + Résolution : - 300 DPI (impression) - + 150 DPI (écran) + 150 DPI (écran) - 600 DPI (haute qualité) - + 300 DPI (impression) + 300 DPI (impression) - + + 600 DPI (haute qualité) + 600 DPI (haute qualité) + + + Aperçu : - + Aperçu : @@ -6844,77 +8479,77 @@ Voulez-vous tout de même lier ce contact esclave ? Cet élément est déjà lié - + Cet élément est déjà lié Délier - + Délier Voir cet élément - + Voir cet élément Masquer les éléments connectés - + Masquer les éléments connectés Recherche - + Recherche Label - + Label Type - + Type Adresse - + Adresse Fonction - + Fonction Commentaire - + Commentaire Bornes - + Bornes Remarque : les éléments maîtres ayant atteint leur nombre maximal d'esclaves sont masqués. - + Remarque : les éléments maîtres ayant atteint leur nombre maximal d'esclaves sont masqués. Automate (PLC) - + Automate (PLC) Lié à: %1 - + Lié à: %1 Connecter - + Connecter @@ -6927,60 +8562,60 @@ Voulez-vous tout de même lier ce contact esclave ? X - + X Y - + Y Polygone fermé - + Polygone fermé - + Ajouter un point - + Ajouter un point - + Supprimer ce point - + Supprimer ce point Points du polygone : - + Points du polygone : Erreur message box title - + Erreur Le polygone doit comporter au moins deux points. message box content - + Le polygone doit comporter au moins deux points. Ajouter un point à un polygone - + Ajouter un point à un polygone Supprimer un point d'un polygone - + Supprimer un point d'un polygone Modifier un polygone - + Modifier un polygone @@ -6988,33 +8623,36 @@ Voulez-vous tout de même lier ce contact esclave ? Sélectionner le potentiel éléctrique - + Sélectionner le potentiel éléctrique Vous tentez de lier deux potentiels différents ensemble. Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Vous tentez de lier deux potentiels différents ensemble. +Veuillez choisir les propriétées à appliquer au nouveau potentiel. - - - + + + Fonction : %1 - + +Fonction : %1 - - - + + + Tension/protocole : %1 - + +Tension/protocole : %1 - - + + %n conducteurs composent le potentiel suivant : %n conducteur compose le potentiel suivant : @@ -7022,282 +8660,697 @@ Tension/protocole : %1 - - - + + + Numéro : %1 - + +Numéro : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - + Veuillez choisir un potentiel électrique de la liste +à utiliser pour le nouveau potentiel - - - - -Couleur du conducteur : %1 - - - - + -Section du conducteur : %1 - +Couleur du conducteur : %1 + +Couleur du conducteur : %1 - - Ajouter au câble: %1 - + + + + +Section du conducteur : %1 + +Section du conducteur : %1 - Ajouter au bus: %1 - + Ajouter au câble: %1 + Ajouter au câble: %1 - + + Ajouter au bus: %1 + Ajouter au bus: %1 + + + Modifier les propriétés de plusieurs conducteurs undo caption - + Modifier les propriétés de plusieurs conducteurs - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. +Veuillez saisir une formule compatible pour ce potentiel. +Les variables suivantes sont incompatibles : +%sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + Préfixes de la collection utilisateur + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + Dossier + column header of the folder tree + Dossier + + + + Préfixe + column header of the prefix column + Préfixe + + + + Tout déplier + Tout déplier + + + + Tout replier + Tout replier + + + + Entrées sans dossier + Entrées sans dossier + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + Conserver + Conserver + + + + Supprimer + Supprimer + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + aucun préfixe : n'hérite pas du parent + + + + + hériter du dossier parent + placeholder of an empty prefix field + hériter du dossier parent + + + + Enregistrement impossible + Enregistrement impossible + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + Fichier endommagé remplacé + Fichier endommagé remplacé + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 PrintConfigPage - + Impression configuration page title - + Impression ProjectAutoNumConfigPage - + Numérotation auto - + Numérotation auto - - + + Conducteurs - + Conducteurs - - + + N° + N° + + + + Nom + Nom + + + + Folio + Folio + + + + Élément + Élément + + + + Figé + Figé + + + + Attribuer un numéro libre… + Attribuer un numéro libre… + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + + + Eléments - + Eléments - - + + Folios - + Folios - + Numérotation auto des folios - + Numérotation auto des folios - + Importer depuis un autre projet... - + Importer depuis un autre projet... - + Reprendre les numérotations automatiques enregistrées dans un autre projet - + Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - - - - Nom de la nouvelle numérotation - + + figé + figé - - Importer les numérotations d'un projet - - - - - Projet QElectroTech (*.qet) - - - - - - Import impossible - - - - - Impossible d'ouvrir %1 - - - - - %1 n'est pas un projet QElectroTech valide. - - - - - - Aucune numérotation - - - - - - Ce projet ne contient aucune numérotation automatique. - - - - - Numérotations à importer - - - - - Numérotations trouvées dans %1 : - - - - - %1 : %2 (existe déjà) - - - - - Remplacer les numérotations de même nom - - - - - Import terminé - - - - - %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - - - - - %1 numérotation(s) importée(s). - - - - - Management - - - - - - - - - - Sans nom - + — libre — + — libre — + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + Aucun élément ne suit cette numérotation + Aucun élément ne suit cette numérotation + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + %n élément suivent cette numérotation, dont %1 au nom figé + %n éléments suivent cette numérotation, dont %1 au nom figé + + + + + ; %n numéro(s) sans élément + + ; %n numéro sans élément + ; %n numéros sans élément + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + Attribuer un numéro libre + Attribuer un numéro libre + + + + Le nom de cet élément est figé : dégelez-le d'abord. + Le nom de cet élément est figé : dégelez-le d'abord. + + + + Aucun numéro n'est libre. + Aucun numéro n'est libre. + + + + %1 → %2 + %1 → %2 + + + + Numéro libre pour l'élément « %1 » (%2) : + Numéro libre pour l'élément « %1 » (%2) : + + + + + Nom de la numérotation : + Nom de la numérotation : + + + + + Modifier la numérotation + Modifier la numérotation + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + %n élément suivent cette numérotation et vont changer de formule et de nom. + %n éléments suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + Nouvelle numérotation + Nouvelle numérotation + + + + + Renommer la numérotation + Renommer la numérotation + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + La numérotation « %1 » ne peut pas être modifiée : %n élément au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + La numérotation « %1 » ne peut pas être modifiée : %n éléments au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + %n numérotation suivie par des éléments au nom figé n'ont pas été remplacées. + %n numérotations suivies par des éléments au nom figé n'ont pas été remplacées. + + + + + %n élément(s) ont changé de formule. + + %n élément ont changé de formule. + %n éléments ont changé de formule. + + + + + + Supprimer la numérotation + Supprimer la numérotation + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + %n élément suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + %n éléments suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + Aucun folio ne nomme cette numérotation + Aucun folio ne nomme cette numérotation + + + + %n folio(s) nomment cette numérotation + + %n folio nomment cette numérotation + %n folios nomment cette numérotation + + + + + Aucun folio ne suit cette numérotation + Aucun folio ne suit cette numérotation + + + + %n folio(s) suivent cette numérotation + + %n folio suivent cette numérotation + %n folios suivent cette numérotation + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + %n folio suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + %n folios suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + Importer les numérotations d'un projet + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) + Projet QElectroTech (*.qet) + + + + + Import impossible + Import impossible + + + + Impossible d'ouvrir %1 + Impossible d'ouvrir %1 + + + + %1 n'est pas un projet QElectroTech valide. + %1 n'est pas un projet QElectroTech valide. + + + + + Aucune numérotation + Aucune numérotation + + + + + Ce projet ne contient aucune numérotation automatique. + Ce projet ne contient aucune numérotation automatique. + + + + Numérotations à importer + Numérotations à importer + + + + Numérotations trouvées dans %1 : + Numérotations trouvées dans %1 : + + + + %1 : %2 (existe déjà) + %1 : %2 (existe déjà) + + + + Remplacer les numérotations de même nom + Remplacer les numérotations de même nom + + + + Importer des numérotations + Importer des numérotations + + + + Import terminé + Import terminé + + + + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. + + + + %1 numérotation(s) importée(s). + %1 numérotation(s) importée(s). + + + + Management + Management ProjectDBModel - + Position - + Position - + Position du folio - + Position du folio ProjectDBModelPropertiesWidget + Form - Formulaire + Formulaire + + + + Requête + Requête + + + + Recharger + Recharger ProjectMainConfigPage - + Général configuration page title - + Général - + Titre du projet : label when configuring - + Titre du projet : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). - + Temps passé sur ce projet : label when configuring - + Temps passé sur ce projet : - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) - + Réinitialiser button label - + Réinitialiser + + + + Croisements de conducteurs : + label when configuring + Croisements de conducteurs : - + Sans saut + wire crossings + Sans saut + + + + Saut sur les conducteurs horizontaux + wire crossings + Saut sur les conducteurs horizontaux + + + + Saut sur les conducteurs verticaux + wire crossings + Saut sur les conducteurs verticaux + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + + + + Garder horizontaux les textes des symboles pivotés + checkbox label + Garder horizontaux les textes des symboles pivotés + + + + Les textes dessinés dans un symbole et les noms de ses bornes restent lisibles quand le symbole est pivoté : leur cadre tourne avec le symbole, pas le texte. Décochez pour qu'ils tournent avec le symbole, comme avant. + tooltip + Les textes dessinés dans un symbole et les noms de ses bornes restent lisibles quand le symbole est pivoté : leur cadre tourne avec le symbole, pas le texte. Décochez pour qu'ils tournent avec le symbole, comme avant. + + + + Conducteurs par borne + group box title + Conducteurs par borne + + + + Utiliser les réglages de l'application + checkbox label + Utiliser les réglages de l'application + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + + + + Nombre maximal de conducteurs par borne : + label when configuring + Nombre maximal de conducteurs par borne : + + + + Sans limite + wires per terminal + Sans limite + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + + + + Un seul conducteur par renvoi de folio + checkbox label + Un seul conducteur par renvoi de folio + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + + + + %1 h %2 min hours and minutes of time spent on a project - + %1 h %2 min @@ -7305,214 +9358,214 @@ Les variables suivantes sont incompatibles : MainWindow - + MainWindow Folios à imprimer : - + Folios à imprimer : Tout cocher - + Tout cocher Tout décocher - + Tout décocher Toutes les dates - + Toutes les dates À partir de la date du : - + À partir de la date du : À la date du : - + À la date du : - + Option de rendu - + Option de rendu - + Dessiner le cadre - + Dessiner le cadre - + Dessiner le cartouche - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les bornes - + Dessiner les noms des bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Inscrire les informations des composants - + Option d'impression - + Option d'impression - + Adapter le folio à la page - + Adapter le folio à la page - + Utiliser toute la feuille - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + toolBar - + Ajuster la largeur - + Ajuster la largeur - + Ajuster la page - + Ajuster la page - + Zoom arrière - + Zoom arrière - + Zoom avant - + Zoom avant - + Paysage - + Paysage - + Portrait - + Portrait + + + + Première page + Première page - Première page - - - - Page précédente - + Page précédente - + Page suivante - + Page suivante - + Dernière page - + Dernière page - + Afficher une seule page - + Afficher une seule page - + Afficher deux pages - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + Afficher un aperçu de toutes les pages - + mise en page - + mise en page Options d'impression window title - + Options d'impression projet string used to generate a filename - + projet Imprimer - + Imprimer Exporter en pdf - + Exporter en pdf Mise en page (non disponible sous Windows pour l'export PDF) - + Mise en page (non disponible sous Windows pour l'export PDF) Folio sans titre - + Folio sans titre Exporter sous : - + Exporter sous : Fichier (*.pdf) - + Fichier (*.pdf) @@ -7521,90 +9574,91 @@ Les variables suivantes sont incompatibles : Le projet à été modifié. Voulez-vous enregistrer les modifications ? - + Le projet à été modifié. +Voulez-vous enregistrer les modifications ? Enregistrer sous dialog title - + Enregistrer sous sansnom - + sansnom Projet QElectroTech (*.qet) filetypes allowed when saving a project file - + Projet QElectroTech (*.qet) aucun projet affiché error message - + aucun projet affiché Supprimer le folio ? message box title - + Supprimer le folio ? Êtes-vous sûr de vouloir supprimer ce folio du projet ? message box content - + Êtes-vous sûr de vouloir supprimer ce folio du projet ? Projet en lecture seule message box title - + Projet en lecture seule Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. message box content - + Ce projet est en lecture seule. Il n'est donc pas possible de le nettoyer. Supprimer les modèles de cartouche inutilisés dans le projet - + Supprimer les modèles de cartouche inutilisés dans le projet Supprimer les éléments inutilisés dans le projet - + Supprimer les éléments inutilisés dans le projet Supprimer les catégories vides - + Supprimer les catégories vides Nettoyer le projet window title - + Nettoyer le projet Ajouter un folio - + Ajouter un folio Revenir au debut du projet - + Revenir au debut du projet Aller à la fin du projet - + Aller à la fin du projet @@ -7620,18 +9674,18 @@ Voulez-vous enregistrer les modifications ? Ce projet ne contient aucun folio label displayed when a project contains no diagram - + Ce projet ne contient aucun folio <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des onglets de folio :</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des onglets de folio :</p> Projet window title for a project-less ProjectView - + Projet @@ -7639,251 +9693,294 @@ Voulez-vous enregistrer les modifications ? Propriétés de la sélection - + Propriétés de la sélection QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Initialisation du cache des collections d'éléments - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Éditeur de schéma - + Chargement... Ouverture des fichiers splash screen caption - + Chargement... Ouverture des fichiers - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches QET - + Cartouches company title of the company's title block templates collection Cartouches entreprise - + Cartouches utilisateur title of the user's title block templates collection - + Cartouches utilisateur - + Q Single-letter example text - translate length, not meaning - + Q - + QET Small example text - translate length, not meaning - + QET - + Schema Normal example text - translate length, not meaning - + Schema - + Electrique Normal example text - translate length, not meaning - + Electrique - + QElectroTech Long example text - translate length, not meaning - + QElectroTech - + Configurer QElectroTech window title - + Configurer QElectroTech - + + Enregistrer la configuration sous... + dialog title + Enregistrer la configuration sous... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + Configurations QElectroTech (*.conf) + + + + + Erreur + message box title + Erreur + + + + Impossible d'enregistrer la configuration dans « %1 ». + Impossible d'enregistrer la configuration dans « %1 ». + + + + Charger une configuration... + dialog title + Charger une configuration... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + Charger une configuration + message box title + Charger une configuration + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + Chargement... splash screen caption - + Chargement... - + Chargement... icône du systray splash screen caption - + Chargement... icône du systray - + QElectroTech systray menu title - - - - - &Quitter - - - - - &Masquer - - - - - &Restaurer - - - - - &Masquer tous les éditeurs de schéma - - - - - &Restaurer tous les éditeurs de schéma - - - - - &Masquer tous les éditeurs d'élément - - - - - &Restaurer tous les éditeurs d'élément - - - - - &Masquer tous les éditeurs de cartouche - systray submenu entry - - - - - &Restaurer tous les éditeurs de cartouche - systray submenu entry - - - - - &Nouvel éditeur de schéma - - - - - &Nouvel éditeur d'élément - - - - - Ferme l'application QElectroTech - - - - - Réduire QElectroTech dans le systray - - - - - Restaurer QElectroTech - - - - - QElectroTech - systray icon tooltip - - - - - Éditeurs de schémas - - - - - Éditeurs d'élément - + QElectroTech + &Quitter + &Quitter + + + + &Masquer + &Masquer + + + + &Restaurer + &Restaurer + + + + &Masquer tous les éditeurs de schéma + &Masquer tous les éditeurs de schéma + + + + &Restaurer tous les éditeurs de schéma + &Restaurer tous les éditeurs de schéma + + + + &Masquer tous les éditeurs d'élément + &Masquer tous les éditeurs d'élément + + + + &Restaurer tous les éditeurs d'élément + &Restaurer tous les éditeurs d'élément + + + + &Masquer tous les éditeurs de cartouche + systray submenu entry + &Masquer tous les éditeurs de cartouche + + + + &Restaurer tous les éditeurs de cartouche + systray submenu entry + &Restaurer tous les éditeurs de cartouche + + + + &Nouvel éditeur de schéma + &Nouvel éditeur de schéma + + + + &Nouvel éditeur d'élément + &Nouvel éditeur d'élément + + + + Ferme l'application QElectroTech + Ferme l'application QElectroTech + + + + Réduire QElectroTech dans le systray + Réduire QElectroTech dans le systray + + + + Restaurer QElectroTech + Restaurer QElectroTech + + + + QElectroTech + systray icon tooltip + QElectroTech + + + + Éditeurs de schémas + Éditeurs de schémas + + + + Éditeurs d'élément + Éditeurs d'élément + + + Éditeurs de cartouche systray menu entry - + Éditeurs de cartouche - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. +Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + Usage : - + [options] [fichier]... - + [options] [fichier]... + + - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7891,1733 +9988,2210 @@ Options disponibles : -v, --version Afficher la version --license Afficher la licence - + QElectroTech, une application de réalisation de schémas électriques. + +Options disponibles : + --help Afficher l'aide sur les options + -v, --version Afficher la version + --license Afficher la licence + - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-elements-dir=DIR Definir le dossier de la collection d'elements + - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches + - + --config-dir=DIR Definir le dossier de configuration - + --config-dir=DIR Definir le dossier de configuration + - + --data-dir=DIR Definir le dossier de data - + --data-dir=DIR Definir le dossier de data + - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue + QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech - + QElectroTech status bar message - + QElectroTech - + Projets dock title - + Projets - + Collections - + Collections - + Aucune modification - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. - + Annulations dock title - - - - - E&xporter - - - - - Imprimer - - - - - &Quitter - - - - - Annuler - + Annulations - Refaire - + E&xporter + E&xporter - + + Imprimer + Imprimer + + + + &Quitter + &Quitter + + + + Annuler + Annuler + + + + Refaire + Refaire + + + Annule l'action précédente status bar tip - + Annule l'action précédente - + Restaure l'action annulée status bar tip - + Restaure l'action annulée - + Co&uper - + Co&uper - + Cop&ier - + Cop&ier - + C&oller - + C&oller - + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Transfère les éléments sélectionnés dans le presse-papier - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier - + Place les éléments du presse-papier sur le folio status bar tip - - - - - Réinitialiser les conducteurs - - - - - Création automatique de conducteur(s) - Tool tip of auto conductor - - - - - Utiliser la création automatique de conducteur(s) quand cela est possible - Status tip of auto conductor - - - - - Afficher la grille - - - - - Affiche ou masque la grille des folios - - - - - Propriétés du folio - - - - - Propriétés du projet - - - - - Ajouter un folio - - - - - - - Supprimer le folio - - - - - Nettoyer le projet - - - - - Ajouter un sommaire - - - - - en utilisant des onglets - - - - - en utilisant des fenêtres - - - - - Mode Selection - - - - - Mode Visualisation - - - - - &Mosaïque - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Éditeur de schémas - - - - - Exporter en pdf - - - - - Exporte un ou plusieurs folios du projet courant - status bar tip - - - - - Dupli&quer - - - - - Copie la sélection, décalée de l'espacement configuré - status bar tip - - - - - Configurer la duplication... - - - - - Choisir l'espacement et la direction utilisés par Dupliquer - status bar tip - - - - - Coupure automatique de conducteur(s) - Tool tip of auto break conductor - - - - - Couper automatiquement les conducteurs existants lors du placement d'un élément - Status tip of auto break conductor - - - - - Grille des textes - + Place les éléments du presse-papier sur le folio - Grille d'accrochage des textes déplacés à la souris. -Maintenir Ctrl pendant le déplacement pour placer librement. - + Réinitialiser les conducteurs + Réinitialiser les conducteurs - - Désactivée - + + Création automatique de conducteur(s) + Tool tip of auto conductor + Création automatique de conducteur(s) - - Afficher les guides - - - - - Affiche ou masque les guides - - - - - Garder les en-têtes visibles - - - - - Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + + Utiliser la création automatique de conducteur(s) quand cela est possible + Status tip of auto conductor + Utiliser la création automatique de conducteur(s) quand cela est possible - Afficher les limites des cases - + Afficher la grille + Afficher la grille + + Affiche ou masque la grille des folios + Affiche ou masque la grille des folios + + + + Propriétés du folio + Propriétés du folio + + + + Propriétés du projet + Propriétés du projet + + + + Ajouter un folio + Ajouter un folio + + + + + + Supprimer le folio + Supprimer le folio + + + + Nettoyer le projet + Nettoyer le projet + + + + Ajouter un sommaire + Ajouter un sommaire + + + + en utilisant des onglets + en utilisant des onglets + + + + en utilisant des fenêtres + en utilisant des fenêtres + + + + Mode Selection + Mode Selection + + + + Mode Visualisation + Mode Visualisation + + + + &Mosaïque + &Mosaïque + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas + Éditeur de schémas + + + + Exporter en pdf + Exporter en pdf + + + + Exporte un ou plusieurs folios du projet courant + status bar tip + Exporte un ou plusieurs folios du projet courant + + + + Coller au point d'origine + Coller au point d'origine + + + + + Coller les informations de l'élément + Coller les informations de l'élément + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + + + + Copie les informations renseignées de l'élément du presse-papier sur les éléments sélectionnés + status bar tip + Copie les informations renseignées de l'élément du presse-papier sur les éléments sélectionnés + + + + Dupli&quer + Dupli&quer + + + + Copie la sélection, décalée de l'espacement configuré + status bar tip + Copie la sélection, décalée de l'espacement configuré + + + + Configurer la duplication... + Configurer la duplication... + + + + Choisir l'espacement et la direction utilisés par Dupliquer + status bar tip + Choisir l'espacement et la direction utilisés par Dupliquer + + + + Coupure automatique de conducteur(s) + Tool tip of auto break conductor + Coupure automatique de conducteur(s) + + + + Couper automatiquement les conducteurs existants lors du placement d'un élément + Status tip of auto break conductor + Couper automatiquement les conducteurs existants lors du placement d'un élément + + + + Grille des textes + Grille des textes + + + + Grille d'accrochage des textes déplacés à la souris. +Maintenir Ctrl pendant le déplacement pour placer librement. + Grille d'accrochage des textes déplacés à la souris. +Maintenir Ctrl pendant le déplacement pour placer librement. + + + + Désactivée + Désactivée + + + + Afficher les guides + Afficher les guides + + + + Affiche ou masque les guides + Affiche ou masque les guides + + + + Garder les en-têtes visibles + Garder les en-têtes visibles + + + + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue + + + + Afficher les limites des cases + Afficher les limites des cases + + + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - - Exporter au format CSV - + + Afficher + Afficher - - Gestionnaire de borniers (DEV) - + + Textes des éléments + Textes des éléments + + + + Textes des conducteurs + Textes des conducteurs - Lancer le plugin de création de borniers - + Champs de texte + Champs de texte + + + + Formes + Formes + + + + Images + Images + + + + Tableaux + Tableaux + Références croisées + Références croisées + + + + Voir Affichage > Afficher + Voir Affichage > Afficher + + + + Exporter au format CSV + Exporter au format CSV + + + + Gestionnaire de borniers (DEV) + Gestionnaire de borniers (DEV) + + + + Lancer le plugin de création de borniers + Lancer le plugin de création de borniers + + + Exporter la liste des noms de conducteurs - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Liste de câblage (base de données) - + Numérotation automatique des bornes - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + Enregistrer une macro + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + Gérer les scripts… + Gérer les scripts… + + + + Écrire un script et en faire un bouton avec une icône + Écrire un script et en faire un bouton avec une icône + + + + Ouvrir le dossier des scripts + Ouvrir le dossier des scripts + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + Exporter la base de donnée interne du projet - + Exporter la base de donnée interne du projet - + &Cascade - + &Cascade - + Projet suivant - + Projet suivant - + Projet précédent - + Projet précédent - + &Nouveau - + &Nouveau - + &Ouvrir - + &Ouvrir - + &Enregistrer - + &Enregistrer - + Enregistrer sous - + Enregistrer sous - + + &Fermer - + &Fermer - + Crée un nouveau projet status bar tip - + Crée un nouveau projet - + Ouvre un projet existant status bar tip - + Ouvre un projet existant - + Ferme le projet courant status bar tip - + Ferme le projet courant - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant et tous ses folios - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Enregistre le projet courant avec un autre nom de fichier - + Ajouter une colonne - + Ajouter une colonne - + Enlever une colonne - + Enlever une colonne - + Ajouter une ligne Add row Ajouter une ligne - + Enlever une ligne Remove row Enlever une ligne - + Ajoute une colonne au folio status bar tip - + Ajoute une colonne au folio - + Enlève une colonne au folio status bar tip - + Enlève une colonne au folio - + Agrandit le folio en hauteur status bar tip - + Agrandit le folio en hauteur - + Rétrécit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur - + Supprimer - + Supprimer - + Pivoter - + Pivoter - + Pivoter le groupe - + Pivoter le groupe - + Orienter les textes - + Orienter les textes - + + Miroir horizontal + Miroir horizontal + + + + Miroir vertical + Miroir vertical + + + Retrouver dans le panel - + Retrouver dans le panel - + Éditer l'item sélectionné - + Éditer l'item sélectionné - + + + Grouper + Grouper + + + + Dégrouper + Dégrouper + + + Insérer le dernier élément - + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Place à nouveau le dernier élément inséré - + Rechercher une commande… - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer - + Insérer un élément… - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Ouvre le sélecteur d'éléments à la position du curseur - + Barre de raccourcis - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments - + Répéter la dernière commande - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) - + Enlève les éléments sélectionnés du folio status bar tip - + Enlève les éléments sélectionnés du folio - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote les éléments et textes sélectionnés - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place - + Pivote les textes sélectionnés à un angle précis status bar tip - + Pivote les textes sélectionnés à un angle précis - + + Retourne les éléments sélectionnés de gauche à droite + status bar tip + Retourne les éléments sélectionnés de gauche à droite + + + + Retourne les éléments sélectionnés de haut en bas + status bar tip + Retourne les éléments sélectionnés de haut en bas + + + Retrouve l'élément sélectionné dans le panel status bar tip - + Retrouve l'élément sélectionné dans le panel - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + + + + Défait les groupes sélectionnés + status bar tip + Défait les groupes sélectionnés + + + Aligner sur la grille - + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + Remet les éléments, images et textes sélectionnés sur la grille - + + Aligner à gauche + Aligner à gauche + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Aligne les bords gauches des objets sélectionnés + + + + Centrer horizontalement + Centrer horizontalement + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + + + + Aligner à droite + Aligner à droite + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Aligne les bords droits des objets sélectionnés + + + + Aligner en haut + Aligner en haut + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Aligne les bords supérieurs des objets sélectionnés + + + + Centrer verticalement + Centrer verticalement + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + + + + Aligner en bas + Aligner en bas + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Aligne les bords inférieurs des objets sélectionnés + + + Tout sélectionner - + Tout sélectionner - + Désélectionner tout - + Désélectionner tout - + Inverser la sélection - + Inverser la sélection - + Sélectionner tous les conducteurs - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Sélectionne tous les éléments du folio - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste - + Zoom avant - + Zoom avant - + Zoom arrière - + Zoom arrière - + Zoom sur le contenu - + Zoom sur le contenu - + Zoom adapté - + Zoom adapté - + Pas de zoom - + Pas de zoom - + + Centrer sur le curseur + Centrer sur le curseur + + + Agrandit le folio status bar tip - + Agrandit le folio - + Rétrécit le folio status bar tip - + Rétrécit le folio - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Adapte le zoom exactement sur le cadre du folio - + Restaure le zoom par défaut status bar tip - + Restaure le zoom par défaut - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + + + Ajouter un champ de texte - + Ajouter un champ de texte - + Ajouter une image - + Ajouter une image - + Ajouter un PDF - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter une ellipse - + + Ajouter un arc + Ajouter un arc + + + Ajouter une polyligne - + Ajouter une polyligne - - Répéter : insérer « %1 » - + + Ajouter un congé + Ajouter un congé - - Répéter : %1 - + + Ajoute un arc sur le folio actuel + Ajoute un arc sur le folio actuel - - folio %1 - + + Arrondit le coin entre deux lignes du folio actuel + Arrondit le coin entre deux lignes du folio actuel + + + + Scripts + toolbar title + Scripts + + + + Sélection + Sélection + + + + Profondeur + Profondeur + + + + + Scripts + Scripts + + + + Folio %1 : %2 + Folio %1 : %2 + + + + Conducteurs non chargés + message box title + Conducteurs non chargés - + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + + + + + %n objet(s) aligné(s) + + %n objet(s) aligné(s) + %n objet(s) aligné(s) + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + La sélection est déjà alignée, à la grille près + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » + Répéter : insérer « %1 » + + + + Répéter : %1 + Répéter : %1 + + + + folio %1 + folio %1 + + + %n élément(s) redessiné(s). - - + %n élément(s) redessiné(s). + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech > Général > Projets. - + Les scripts sont désactivés. + +Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. + +Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech > Général > Projets. - + + Retenu après un redémarrage + Retenu après un redémarrage + + + Scripts JavaScript (*.js);;Tous les fichiers (*) - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + Ignoré : %1 + + + + + Arrêter + Arrêter + + + + Arrêter l'enregistrement de la macro + Arrêter l'enregistrement de la macro + + + + ● Enregistrement : %n étape(s) + + ● Enregistrement : %n étape(s) + ● Enregistrement : %n étape(s) + + + + + Macro enregistrée + Macro enregistrée + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + &Copier la demande pour l'assistant + &Copier la demande pour l'assistant + + + + &Ouvrir le dossier + &Ouvrir le dossier + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + Couper la connexion de l'assistant pour le reste de la session + Couper la connexion de l'assistant pour le reste de la session + + + + Mode direct : assistant connecté + Mode direct : assistant connecté + + + + Mode direct : en attente d'un assistant + Mode direct : en attente d'un assistant + + + + + Assistant + Assistant + + + + Demander avant d'exécuter un script écrit par l'assistant + Demander avant d'exécuter un script écrit par l'assistant + + + Pour cette session seulement : chaque démarrage redemande + Pour cette session seulement : chaque démarrage redemande + + + + Mode direct : %1 %2 à %3 + Mode direct : %1 %2 à %3 + + + + %n type(s) d'objets masqué(s) + + %n type d'objets masqué + %n types d'objets masqués + + + + + Textes %1 - + Textes %1 - + Exporte le folio courant dans un autre format status bar tip - + Exporte le folio courant dans un autre format - + Imprime un ou plusieurs folios du projet courant status bar tip - + Imprime un ou plusieurs folios du projet courant - + Ferme l'application QElectroTech status bar tip - + Ferme l'application QElectroTech - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Recalcule les chemins des conducteurs sans tenir compte des modifications - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + Présente les différents projets ouverts dans des sous-fenêtres - + Présente les différents projets ouverts des onglets status bar tip - + Présente les différents projets ouverts des onglets - + Permet de sélectionner les éléments status bar tip - + Permet de sélectionner les éléments - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Permet de visualiser le folio sans pouvoir le modifier - + Dispose les fenêtres en mosaïque status bar tip - + Dispose les fenêtres en mosaïque - + Ajouter une nomenclature - + Ajouter une nomenclature - + Dispose les fenêtres en cascade status bar tip - + Dispose les fenêtres en cascade - + Active le projet suivant status bar tip - + Active le projet suivant - + Active le projet précédent status bar tip - + Active le projet précédent - + Grouper les textes sélectionnés - + Grouper les textes sélectionnés - + Ajouter une courbe - + Ajouter une courbe - + Ajouter un plan de bornes - + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + Ajoute une polyligne sur le folio actuel - + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + Ajoute un plan de bornier sur le folio actuel - + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Chercher/remplacer - + Atteindre un élément - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Recherche et sélectionne rapidement un élément du folio - + + Outils - + Outils - + + Affichage - + Affichage - + + Schéma - + Schéma - + + Ajouter - + Ajouter - + + Profondeur toolbar title - + Profondeur - + &Fichier - + &Fichier - + &Édition - - - - - &Projet - - - - - Afficha&ge - - - - - Fe&nêtres - - - - - &Récemment ouverts - - - - - A&jouter - - - - - Aligner - - - - - Lignes et colonnes - - - - - Affiche ou non la barre d'outils principale - - - - - Affiche ou non la barre d'outils Affichage - - - - - Affiche ou non la barre d'outils Schéma - - - - - Affiche ou non le panel d'appareils - - - - - Affiche ou non la liste des modifications - - - - - Afficher les projets - - - - - - Projet %1 enregistré dans le repertoire: %2. - + &Édition - Ouvrir un fichier - + &Projet + &Projet - - Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - + + Afficha&ge + Afficha&ge - - - Impossible d'ouvrir le fichier - message box title - + + Fe&nêtres + Fe&nêtres - - Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + + &Récemment ouverts + &Récemment ouverts - - Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + + A&jouter + A&jouter - - Ouverture du projet en lecture seule - message box title - + + Aligner + Aligner - - Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - + + Lignes et colonnes + Lignes et colonnes + + + + Affiche ou non la barre d'outils principale + Affiche ou non la barre d'outils principale + + + + Affiche ou non la barre d'outils Affichage + Affiche ou non la barre d'outils Affichage + + + + Affiche ou non la barre d'outils Schéma + Affiche ou non la barre d'outils Schéma + + + + Affiche ou non le panel d'appareils + Affiche ou non le panel d'appareils - - Échec de l'ouverture du projet - message box title - + Affiche ou non la liste des modifications + Affiche ou non la liste des modifications - + + Afficher les projets + Afficher les projets + + + + + Projet %1 enregistré dans le repertoire: %2. + Projet %1 enregistré dans le repertoire: %2. + + + + Ouvrir un fichier + Ouvrir un fichier + + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) + + + + + Impossible d'ouvrir le fichier + message box title + Impossible d'ouvrir le fichier + + + + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. + + + + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. + + + + Ouverture du projet en lecture seule + message box title + Ouverture du projet en lecture seule + + + + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. + + + + + Échec de l'ouverture du projet + message box title + Échec de l'ouverture du projet + + + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content - - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content - - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. - + Polices du projet message box title - + Polices du projet - + Suppression de borne impossible - + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe - + Groupe - + %n objet(s) remis sur la grille - - + %n objet(s) remis sur la grille + %n objet(s) remis sur la grille - + La sélection est déjà sur la grille - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) - - + (%n objet(s) verrouillé(s) laissé(s) en place) + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element - + Éditer l'élement - + Éditer le champ de texte edit text field - + Éditer le champ de texte - + Éditer l'image edit image - + Éditer l'image - + Éditer le conducteur edit conductor - + Éditer le conducteur - + Éditer l'objet sélectionné edit selected item - + Éditer l'objet sélectionné - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Une erreur est survenue lors de l'ouverture du fichier %1. - + Active le projet « %1 » - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Déplacer les folios - + Erreur message box title - + Erreur QETElementEditor - + &Nouveau - + &Nouveau - + &Ouvrir - + &Ouvrir - + &Ouvrir depuis un fichier - + &Ouvrir depuis un fichier - + &Enregistrer - + &Enregistrer + + + + Enregistrer sous + Enregistrer sous - Enregistrer sous - - - - Enregistrer dans un fichier - + Enregistrer dans un fichier - + Recharger - + Recharger - + Tout sélectionner - + Tout sélectionner QElectroTech - Éditeur d'élément - + QElectroTech - Éditeur d'élément - + &Aide - + &Aide - + Annulations - + Annulations - + Parties - + Parties - + Informations - + Informations - + Outils - + Outils - + Affichage - + Affichage - + Élément - + Élément - + Annulation - + Annulation - + Exporter en SVG - + Exporter en SVG - + &Fermer cet éditeur - + &Fermer cet éditeur - + Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Désélectionner tout - + Co&uper - + Co&uper - + Cop&ier - + Cop&ier + + + + C&oller + C&oller + + + + C&oller dans la zone + C&oller dans la zone - C&oller - - - - - C&oller dans la zone - - - - Un fichier - + Un fichier - + Un élément - + Un élément - + À &propos de QElectroTech - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - - - - - Manuel en ligne - - - - - Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - - - - - Chaine Youtube - - - - - Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - - - - - Soutenir le projet par un don - - - - - Soutenir le projet QElectroTech par un don - - - - - À propos de &Qt - - - - - Affiche des informations sur la bibliothèque Qt - - - - - Rotation - - - - - Fine-Rotation - - - - - Mirror - - - - - Flip - - - - - Importer un dxf - - - - - importer un élément à redimensionner - - - - - Inverser la sélection - - - - - &Supprimer - - - - - Éditer le nom et les traductions de l'élément - - - - - Éditer les informations sur l'auteur - - - - - Éditer les propriétés de l'élément - - - - - Annuler - - - - - Refaire - - - - - Profondeur - toolbar title - - - - - Zoom avant - - - - - Zoom arrière - + Affiche des informations sur QElectroTech - Zoom adapté - + Manuel en ligne + Manuel en ligne - - Pas de zoom - + + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - - Ajouter une ligne - + + Chaine Youtube + Chaine Youtube - - Ajouter un rectangle - + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - - Ajouter une ellipse - + + Soutenir le projet par un don + Soutenir le projet par un don - - Ajouter un polygone - + + Soutenir le projet QElectroTech par un don + Soutenir le projet QElectroTech par un don - - Ajouter du texte - + + À propos de &Qt + À propos de &Qt - - Ajouter un arc de cercle - + + Affiche des informations sur la bibliothèque Qt + Affiche des informations sur la bibliothèque Qt - - Ajouter une borne - + + Rotation + Rotation - - Ajouter un champ texte dynamique - + + Fine-Rotation + Fine-Rotation - - Double-click pour terminer la forme, Click droit pour annuler le dernier point - + + Mirror + Mirror + + + + Flip + Flip + + + + Importer un dxf + Importer un dxf + + + + importer un élément à redimensionner + importer un élément à redimensionner + + + + Inverser la sélection + Inverser la sélection + + + + &Supprimer + &Supprimer + + + + Éditer le nom et les traductions de l'élément + Éditer le nom et les traductions de l'élément + + + + Éditer les informations sur l'auteur + Éditer les informations sur l'auteur + + + + Éditer les propriétés de l'élément + Éditer les propriétés de l'élément + + + + Annuler + Annuler + + + + Refaire + Refaire + Profondeur + toolbar title + Profondeur + + + + Zoom avant + Zoom avant + + + + Zoom arrière + Zoom arrière + + + + Zoom adapté + Zoom adapté + + + + Pas de zoom + Pas de zoom + + + + Ajouter une ligne + Ajouter une ligne + + + + Ajouter un rectangle + Ajouter un rectangle + + + + Ajouter une ellipse + Ajouter une ellipse + + + + Ajouter un polygone + Ajouter un polygone + + + + Ajouter du texte + Ajouter du texte + + + + Ajouter un arc de cercle + Ajouter un arc de cercle + + + + Ajouter une borne + Ajouter une borne + + + + Ajouter un champ texte dynamique + Ajouter un champ texte dynamique + + + + Double-click pour terminer la forme, Click droit pour annuler le dernier point + Double-click pour terminer la forme, Click droit pour annuler le dernier point + + + Parties toolbar title - + Parties - + &Fichier - + &Fichier - + &Édition - + &Édition - + Afficha&ge - + Afficha&ge - + Coller depuis... - + Coller depuis... - + [Modifié] window title tag - + [Modifié] - + [lecture seule] window title tag - + [lecture seule] - + Aucune modification - + Aucune modification - + Éditeur d'éléments status bar message - + Éditeur d'éléments - - + + %n partie(s) sélectionnée(s). %n partie sélectionnée. @@ -9625,40 +12199,40 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Trop de primitives, liste non générée: %1 - + Trop de primitives, liste non générée: %1 - + Absence de borne warning title - + Absence de borne - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. - + Absence de borne - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + La vérification de cet élément a généré message box content - + La vérification de cet élément a généré - + %n erreur(s) errors @@ -9667,194 +12241,251 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + et - + et - + <b>%1</b> : %2 warning title: warning description - + <b>%1</b> : %2 - + Erreurs - + Erreurs - + Avertissements - + Avertissements - + Le fichier %1 n'existe pas. message box content - + Le fichier %1 n'existe pas. - + Afficher menu entry - - - - - - Impossible d'ouvrir le fichier %1. - message box content - + Afficher - + + Impossible d'ouvrir le fichier %1. + message box content + Impossible d'ouvrir le fichier %1. + + + + Ce fichier n'est pas un document XML valide message box content - + Ce fichier n'est pas un document XML valide - - + + Erreur toolbar title - + Erreur - - + + Édition en lecture seule message box title - + Édition en lecture seule - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. - - + + Erreur message box title - + Erreur - + Impossible d'écrire dans ce fichier message box content - + Impossible d'écrire dans ce fichier - + Impossible d'enregistrer l'élément message box content - + Impossible d'enregistrer l'élément - + Nombre de bornes incorrect - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Éditeur d'élément - + + Noms de bornes en double + Noms de bornes en double - - Ajouter un texte d'élément non éditable dans les schémas - + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. - - Ajouter un texte d'élément pouvant être édité dans les schémas - - - - - X: %1 Y: %2 - - - - - Exporter en SVG - dialog title - - - - - Image SVG (*.svg) - filetypes allowed when exporting an element to SVG - - - - - Échec de l'export - - - - - Impossible d'écrire dans le fichier « %1 ». - - - - - Avertissement - - - - - L'import d'un dxf volumineux peut prendre du temps -veuillez patienter durant l'import... - - - - - Importer un élément à redimensionner - - - - - Éléments QElectroTech (*.elmt) - + + Bornes sans nom + Bornes sans nom - + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément + Éditeur d'élément + + + + Ajouter un texte d'élément non éditable dans les schémas + Ajouter un texte d'élément non éditable dans les schémas + + + + Ajouter un texte d'élément pouvant être édité dans les schémas + Ajouter un texte d'élément pouvant être édité dans les schémas + + + + Afficher le cadre de fond + Afficher le cadre de fond + + + + Taille du cadre de fond... + Taille du cadre de fond... + + + + Taille du cadre de fond + Taille du cadre de fond + + + + + px + px + + + + Largeur + Largeur + + + + Hauteur + Hauteur + + + + X: %1 Y: %2 + X: %1 Y: %2 + + + + Exporter en SVG + dialog title + Exporter en SVG + + + + Image SVG (*.svg) + filetypes allowed when exporting an element to SVG + Image SVG (*.svg) + + + + Échec de l'export + Échec de l'export + + + + Impossible d'écrire dans le fichier « %1 ». + Impossible d'écrire dans le fichier « %1 ». + + + + Avertissement + Avertissement + + + + L'import d'un dxf volumineux peut prendre du temps +veuillez patienter durant l'import... + L'import d'un dxf volumineux peut prendre du temps +veuillez patienter durant l'import... + + + + Importer un élément à redimensionner + Importer un élément à redimensionner + + + + Éléments QElectroTech (*.elmt) + Éléments QElectroTech (*.elmt) + + + %n avertissement(s) warnings @@ -9863,350 +12494,417 @@ veuillez patienter durant l'import... - + Impossible d'ouvrir le fichier message box title - + Impossible d'ouvrir le fichier - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Recharger l'élément dialog title - + Recharger l'élément - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? - - - + + + Echec de l'enregistrement - + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + L'enregistrement à échoué, +les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Enregistrer sous - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Éléments QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title - + Enregistrer l'élément en cours ? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Voulez-vous enregistrer l'élément %1 ? - + Ouvrir un fichier dialog title - + Ouvrir un fichier - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - - - - - - - - Élément inexistant. - message box title - - - - - - Le chemin virtuel choisi ne correspond pas à un élément. - message box content - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) - + + + + Élément inexistant. + message box title + Élément inexistant. + + + + + Le chemin virtuel choisi ne correspond pas à un élément. + message box content + Le chemin virtuel choisi ne correspond pas à un élément. + + + + L'élément n'existe pas. message box content - + L'élément n'existe pas. QETMainWindow - + &Configurer QElectroTech - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + Permet de régler différents paramètres de QElectroTech - + À &propos de QElectroTech - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - - - - - Manuel en ligne - - - - - Chaine Youtube - - - - - - Télécharger une nouvelle version (dev) - - - - - Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - status bar tip - - - - - - Général - - - - - Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - status bar tip - + Affiche des informations sur QElectroTech - - Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech - status bar tip - + Manuel en ligne + Manuel en ligne - - Soutenir le projet par un don - - - - - Soutenir le projet QElectroTech par un don - status bar tip - - - - - À propos de &Qt - - - - - Affiche des informations sur la bibliothèque Qt - status bar tip - + + Chaine Youtube + Chaine Youtube - Enregistrer un rapport de diagnostic... - + + Télécharger une nouvelle version (dev) + Télécharger une nouvelle version (dev) + + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech + status bar tip + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech + + + + Enregistrer la configuration sous... + Enregistrer la configuration sous... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Enregistre les réglages de QElectroTech dans un fichier + + + + + + + + + + + + + + + + + Général + Général + + + + &Personnaliser... + &Personnaliser... + + + + Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre + status bar tip + Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre + + + + Charger une configuration... + Charger une configuration... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + + + + Connecter un assistant IA... + Connecter un assistant IA... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech + status bar tip + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech + + + + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech + status bar tip + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech + + + + Soutenir le projet par un don + Soutenir le projet par un don + + + + Soutenir le projet QElectroTech par un don + status bar tip + Soutenir le projet QElectroTech par un don + + + + À propos de &Qt + À propos de &Qt + + + + Affiche des informations sur la bibliothèque Qt + status bar tip + Affiche des informations sur la bibliothèque Qt + + + + Enregistrer un rapport de diagnostic... + Enregistrer un rapport de diagnostic... + + + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug - + &Configuration window menu - + &Configuration - + &Aide window menu - + &Aide - + Sortir du &mode plein écran - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Affiche QElectroTech en mode fenêtré - + Passer en &mode plein écran - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Affiche QElectroTech en mode plein écran - + Afficher menu entry - + Afficher QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet %1 - + Projet sans titre displayed title for a project-less, file-less project - + Projet sans titre - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [lecture seule] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + %1 [modifié] - + Renumber elements Renuméroter les ' éléments - + Renumber elements (%1) Renuméroter l ' élément (%1) - + Système de contacts modifié - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. Voulez-vous continuer ? - + Le nouvel élément définit des groupes de contacts esclaves. +Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. + +Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Une erreur s'est produite durant l'intégration du modèle. - + Avertissement message box title - + Avertissement - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + Ce document semble avoir été enregistré avec une version %1 + qui est ultérieure à votre version ! +Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + . + Il est alors possible que l'ouverture de tout ou partie de ce document échoue. +Que désirez vous faire ? - + Avertissement message box title - + Avertissement - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. + - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. +Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10214,174 +12912,172 @@ Que désirez vous faire ? Impossible de vérifier la requête : la base de données ne peut pas être mise en lecture seule. - + Impossible de vérifier la requête : la base de données ne peut pas être mise en lecture seule. Seules les requêtes en lecture seule sont autorisées : cette requête modifierait la base de données. - + Seules les requêtes en lecture seule sont autorisées : cette requête modifierait la base de données. Requête SQL invalide : %1 - + Requête SQL invalide : %1 QETTitleBlockTemplateEditor - + Enregistrer le modèle en cours ? dialog title - + Enregistrer le modèle en cours ? - + Voulez-vous enregistrer le modèle %1 ? dialog content - %1 is a title block template name - + Voulez-vous enregistrer le modèle %1 ? - + nouveau_modele template name suggestion when duplicating the default one - + nouveau_modele - + Dupliquer un modèle de cartouche input dialog title - + Dupliquer un modèle de cartouche - + Pour dupliquer ce modèle, entrez le nom voulu pour sa copie input dialog text - - - - - &Nouveau - menu entry - - - - - &Ouvrir - menu entry - + Pour dupliquer ce modèle, entrez le nom voulu pour sa copie - Ouvrir depuis un fichier + &Nouveau menu entry - + &Nouveau - &Enregistrer + &Ouvrir menu entry - + &Ouvrir - Enregistrer sous + Ouvrir depuis un fichier menu entry - + Ouvrir depuis un fichier - Enregistrer vers un fichier + &Enregistrer menu entry - + &Enregistrer + Enregistrer sous + menu entry + Enregistrer sous + + + + Enregistrer vers un fichier + menu entry + Enregistrer vers un fichier + + + &Quitter menu entry - - - - - Co&uper - menu entry - - - - - Cop&ier - menu entry - + &Quitter - C&oller + Co&uper menu entry - + Co&uper - Gérer les logos + Cop&ier menu entry - + Cop&ier - Éditer les informations complémentaires + C&oller menu entry - + C&oller - Zoom avant + Gérer les logos menu entry - + Gérer les logos - Zoom arrière + Éditer les informations complémentaires menu entry - + Éditer les informations complémentaires - Zoom adapté + Zoom avant menu entry - + Zoom avant - Pas de zoom + Zoom arrière menu entry - + Zoom arrière - Ajouter une &ligne + Zoom adapté menu entry - + Zoom adapté - Ajouter une &colonne + Pas de zoom menu entry - + Pas de zoom - &Fusionner les cellules + Ajouter une &ligne menu entry - + Ajouter une &ligne - &Séparer les cellules + Ajouter une &colonne menu entry - + Ajouter une &colonne + + + + &Fusionner les cellules + menu entry + &Fusionner les cellules + + + + &Séparer les cellules + menu entry + &Séparer les cellules - - @@ -10399,158 +13095,160 @@ Que désirez vous faire ? + + Éditeur de cartouche - - - - - &Fichier - menu title - - - - - &Édition - menu title - + Éditeur de cartouche + &Fichier + menu title + &Fichier + + + + &Édition + menu title + &Édition + + + Afficha&ge menu title - + Afficha&ge - + Outils toolbar title - + Outils - + Édition toolbar title - + Édition - + Affichage toolbar title - - - - - Aucune modification - label displayed in the undo list when empty - + Affichage + Aucune modification + label displayed in the undo list when empty + Aucune modification + + + Annulations dock title - + Annulations - + Propriétés de la cellule dock title - + Propriétés de la cellule - + [Modifié] window title tag - + [Modifié] - + [Lecture seule] window title tag - + [Lecture seule] - + %1 %2 part of the window title - %1 is the filepath or template name, %2 is the [Changed] or [Read only] tag - + %1 %2 - + QElectroTech - Éditeur de modèle de cartouche titleblock template editor: base window title - + QElectroTech - Éditeur de modèle de cartouche - + %1 - %2 window title: %1 is the base window title, %2 is a template name - + %1 - %2 - - + + Erreur message box title - + Erreur - + Impossible d'enregistrer le modèle « %1 ». message box content - %1 is a title block template name - + Impossible d'enregistrer le modèle « %1 ». - + Ouvrir un modèle File > open dialog window title - - - - - Ouvrir un fichier - dialog title - + Ouvrir un modèle + Ouvrir un fichier + dialog title + Ouvrir un fichier + + + Modèles de cartouches QElectroTech (*%1);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening a title block template file - %1 is the .titleblock extension - + Modèles de cartouches QElectroTech (*%1);;Fichiers XML (*.xml);;Tous les fichiers (*) - + Enregistrer le modèle sous dialog window title - + Enregistrer le modèle sous - + Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name - - - - - Enregistrer sous - dialog title - + Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | + Enregistrer sous + dialog title + Enregistrer sous + + + Modèles de cartouches QElectroTech (*%1) filetypes allowed when saving a title block template file - %1 is the .titleblock extension - + Modèles de cartouches QElectroTech (*%1) - + Éditer les informations complémentaires window title - + Éditer les informations complémentaires - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs du cartouche, sa licence, ou tout autre renseignement que vous jugerez utile. - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs du cartouche, sa licence, ou tout autre renseignement que vous jugerez utile. @@ -10563,7 +13261,11 @@ Que désirez vous faire ? - le tiret [-], l'underscore [_] et le point [.] tooltip content when editing a filename - + Les caractères autorisés sont : + - les chiffres [0-9] + - les minuscules [a-z] + - le tiret [-], l'underscore [_] et le point [.] + @@ -10617,7 +13319,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10626,7 +13328,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10635,7 +13337,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10644,7 +13346,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10653,7 +13355,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10662,7 +13364,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10671,7 +13373,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10680,7 +13382,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10689,130 +13391,130 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. - + Amener au premier plan - + Amener au premier plan - + Rapprocher - + Rapprocher - + Éloigner - + Éloigner - + Envoyer au fond - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - + Profondeur Insertion d'une ligne label used in the title block template editor undo list - + Insertion d'une ligne Suppression d'une ligne label used in the title block template editor undo list - + Suppression d'une ligne Insertion d'une colonne label used in the title block template editor undo list - + Insertion d'une colonne Suppression d'une colonne label used in the title block template editor undo list - + Suppression d'une colonne Modification d'une ligne label used in the title block template editor undo list - + Modification d'une ligne Modification d'une colonne label used in the title block template editor undo list - + Modification d'une colonne Fusion de %1 cellules label used in the title block template editor undo list; %1 is the number of merged cells - + Fusion de %1 cellules Séparation d'une cellule en %1 label used in the title block template editor undo list; %1 is the number of cells after the split - + Séparation d'une cellule en %1 modification des informations complémentaires undo caption - + modification des informations complémentaires @@ -10833,152 +13535,152 @@ Que désirez vous faire ? - + Collection QET - + Collection QET - + Collection Company Collection Entreprise - + Collection utilisateur - + Collection utilisateur - + Macros - + Macros Makros Macros - + Collection inconnue - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. Projet sans titre - + Projet sans titre Collection - + Collection Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés d'un conducteur Modifier les propriétés de plusieurs conducteurs undo caption - + Modifier les propriétés de plusieurs conducteurs Numéroter automatiquement un conducteur undo caption - + Numéroter automatiquement un conducteur un champ texte - + un champ texte un conducteur - + un conducteur un element graphique - + un element graphique - + supprimer %1 undo caption - %1 is a sentence listing the removed content - + supprimer %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste - + coller %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut - + couper %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + déplacer %1 - + modifier le texte undo caption - + modifier le texte - + modifier un conducteur undo caption - + modifier un conducteur - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content - + Réinitialiser %1 modifier le cartouche undo caption - + modifier le cartouche - + modifier les dimensions du folio undo caption - + modifier les dimensions du folio Ajouter - + Ajouter Selectionner une image... - + Selectionner une image... Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) @@ -10988,367 +13690,376 @@ Que désirez vous faire ? Erreur - + Erreur Impossible de charger l'image. - + Impossible de charger l'image. Auteur - + Auteur + Titre - + Titre Date - + Date suppression undo caption - + suppression couper des parties undo caption - + couper des parties déplacement undo caption - + déplacement modification noms undo caption - + modification noms amener au premier plan undo caption - + amener au premier plan rapprocher undo caption - + rapprocher éloigner undo caption - + éloigner envoyer au fond undo caption - + envoyer au fond modification informations complementaires undo caption - + modification informations complementaires redimensionnement %1 undo caption -- %1 is the resized primitive type name - + redimensionnement %1 redimensionnement de %1 primitives undo caption -- %1 always > 1 - + redimensionnement de %1 primitives Modifier les propriétées de l'élément - + Modifier les propriétées de l'élément Pivoter la selection undo caption - + Pivoter la selection Miroir de sélection undo caption - + Miroir de sélection Retourner la sélection undo caption - + Retourner la sélection Arc - + Arc Ellipse - + Ellipse ligne - + ligne Polygone - + Polygone Rectangle - + Rectangle Borne - + Borne - + Texte - + Texte arc element part name - + arc ellipse element part name - + ellipse ligne element part name - + ligne polygone element part name - + polygone rectangle element part name - + rectangle T default text when adding a text in the element editor - + T texte element part name - + texte - + Folio sans titre - + Folio sans titre - + schema - + schema - + Conserver les proportions - + Conserver les proportions - + Réinitialiser les dimensions - + Réinitialiser les dimensions - + Aperçu - + Aperçu - + Exporter vers le presse-papier - + Exporter vers le presse-papier numero_de_fileries_ - + numero_de_fileries_ Enregister sous... - + Enregister sous... Fichiers csv (*.csv) - + Fichiers csv (*.csv) Impossible de remplacer le fichier! - + Impossible de remplacer le fichier! + + Position du folio - + Position du folio Numéro de folio - + Numéro de folio - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. - + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. - + Borne tooltip - + Borne %1px titleblock: absolute width - + %1px %1% titleblock: width relative to total length - + %1% %1% du restant titleblock: width relative to remaining length - + %1% du restant type title block cell property human name - + type nom title block cell property human name - + nom logo title block cell property human name - + logo label title block cell property human name - + label affichage du label title block cell property human name - + affichage du label valeur affichée title block cell property human name - + valeur affichée alignement du texte title block cell property human name - + alignement du texte taille du texte title block cell property human name - + taille du texte ajustement horizontal title block cell property human name - + ajustement horizontal Propriétés du projet window title - + Propriétés du projet + Modifier les informations de l'élément : %1 - + Modifier les informations de l'élément : %1 Modifier les informations de plusieurs éléments - + Modifier les informations de plusieurs éléments Éditer les référence croisé edite the cross reference - + Éditer les référence croisé + + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11359,56 +14070,56 @@ Que désirez vous faire ? Champ texte dynamique - + Champ texte dynamique Ajouter un texte d'élément - + Ajouter un texte d'élément Ajouter un groupe de textes d'élément - + Ajouter un groupe de textes d'élément Grouper des textes d'élément - + Grouper des textes d'élément Supprimer un groupe de textes d'élément - + Supprimer un groupe de textes d'élément Insérer un texte d'élément dans un groupe de textes - + Insérer un texte d'élément dans un groupe de textes Enlever un texte d'élément d'un groupe de textes - + Enlever un texte d'élément d'un groupe de textes Modifier l'alignement d'un groupe de textes - + Modifier l'alignement d'un groupe de textes Pivoter la selection - + Pivoter la selection Pivoter le groupe - + Pivoter le groupe - + %n texte(s) %n texte @@ -11416,605 +14127,606 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Pivoter %1 - + Orienter les textes sélectionnés window title - + Orienter les textes sélectionnés Configuration de textes - + Configuration de textes Une configuration de textes nommée << %1 >> existe déjà. Voulez-vous la remplacer ? - + Une configuration de textes nommée << %1 >> existe déjà. +Voulez-vous la remplacer ? Nom de la configuration - + Nom de la configuration Entrer le nom de la configuration à créer - + Entrer le nom de la configuration à créer Aucune configuration de textes existante. - + Aucune configuration de textes existante. Sélectionner une configuration de textes - + Sélectionner une configuration de textes Sélectionner la configuration de textes à ajouter à l'élément - + Sélectionner la configuration de textes à ajouter à l'élément Importer la configuration de texte : %1 - + Importer la configuration de texte : %1 - + %p% effectué (%v sur %m) %p% effectué (%v sur %m) - - + + chargement %p% (%v sur %m) - + chargement %p% (%v sur %m) Chercher/remplacer les propriétés de folio - + Chercher/remplacer les propriétés de folio - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer les propriétés de conducteurs. - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé - + Rechercher / remplacer avancé - + Chercher/remplacer des textes independants - + Chercher/remplacer des textes independants Fichier - + Fichier Installation (=) - + Installation (=) Localisation (+) - + Localisation (+) Indice de révision - + Indice de révision Position - + Position Version de QElectroTech - + Version de QElectroTech Nombre de folio - + Nombre de folio Numéro du folio précédent - + Numéro du folio précédent Numéro du folio suivant - + Numéro du folio suivant Titre du projet - + Titre du projet Chemin du fichier du projet - + Chemin du fichier du projet Nom du fichier - + Nom du fichier Date d'enregistrement du fichier format local - + Date d'enregistrement du fichier format local Date d'enregistrement du fichier format yyyy-MM-dd - + Date d'enregistrement du fichier format yyyy-MM-dd Formule du label - + Formule du label Label - + Label Table PLC - + Table PLC Table PLC (vide) - + Table PLC (vide) - - - + + + Type - + Type - - - + + + Adresse - + Adresse - - - - + + + + Commentaire - + Commentaire - - - - + + + + Réf. croisée - + Réf. croisée + + + + - - - - Fonction - + Fonction Largeur [mm] - + Largeur [mm] Hauteur [mm] - + Hauteur [mm] Profondeur [mm] - + Profondeur [mm] Bloc auxiliaire 1 - + Bloc auxiliaire 1 Description textuelle auxiliaire 1 - + Description textuelle auxiliaire 1 Numéro d'article auxiliaire 1 - + Numéro d'article auxiliaire 1 Fabricant auxiliaire 1 - + Fabricant auxiliaire 1 Numéro de commande auxiliaire 1 - + Numéro de commande auxiliaire 1 Numéro interne auxiliaire 1 - + Numéro interne auxiliaire 1 Fournisseur auxiliaire 1 - + Fournisseur auxiliaire 1 Quantité auxiliaire 1 - + Quantité auxiliaire 1 Unité auxiliaire 1 - + Unité auxiliaire 1 Bloc auxiliaire 2 - + Bloc auxiliaire 2 Description textuelle auxiliaire 2 - + Description textuelle auxiliaire 2 Numéro d'article auxiliaire 2 - + Numéro d'article auxiliaire 2 Fabricant auxiliaire 2 - + Fabricant auxiliaire 2 Numéro de commande auxiliaire 2 - + Numéro de commande auxiliaire 2 Numéro interne auxiliaire 2 - + Numéro interne auxiliaire 2 Fournisseur auxiliaire 2 - + Fournisseur auxiliaire 2 Quantité auxiliaire 2 - + Quantité auxiliaire 2 Unité auxiliaire 2 - + Unité auxiliaire 2 Bloc auxiliaire 3 - + Bloc auxiliaire 3 Description textuelle auxiliaire 3 - + Description textuelle auxiliaire 3 Numéro d'article auxiliaire 3 - + Numéro d'article auxiliaire 3 Fabricant auxiliaire 3 - + Fabricant auxiliaire 3 Numéro de commande auxiliaire 3 - + Numéro de commande auxiliaire 3 Numéro interne auxiliaire 3 - + Numéro interne auxiliaire 3 Fournisseur auxiliaire 3 - + Fournisseur auxiliaire 3 Quantité auxiliaire 3 - + Quantité auxiliaire 3 Unité auxiliaire 3 - + Unité auxiliaire 3 Bloc auxiliaire 4 - + Bloc auxiliaire 4 Description textuelle auxiliaire 4 - + Description textuelle auxiliaire 4 Numéro d'article auxiliaire 4 - + Numéro d'article auxiliaire 4 Fabricant auxiliaire 4 - + Fabricant auxiliaire 4 Numéro de commande auxiliaire 4 - + Numéro de commande auxiliaire 4 Numéro interne auxiliaire 4 - + Numéro interne auxiliaire 4 Fournisseur auxiliaire 4 - + Fournisseur auxiliaire 4 Quantité auxiliaire 4 - + Quantité auxiliaire 4 Unité auxiliaire 4 - + Unité auxiliaire 4 Type PLC - + Type PLC Adresse PLC - + Adresse PLC Fonction PLC - + Fonction PLC Commentaire PLC - + Commentaire PLC Réf. croisée PLC - + Réf. croisée PLC Description textuelle - + Description textuelle Modèle - + Modèle Catégorie - + Catégorie Tension nominale - + Tension nominale Courant nominal - + Courant nominal Notes - + Notes Numéro d'article - + Numéro d'article Fabricant - + Fabricant Numéro de commande - + Numéro de commande Numéro interne - + Numéro interne Fournisseur - + Fournisseur Quantité - + Quantité Unité - + Unité Tension / Protocole - + Tension / Protocole Couleur du fil - + Couleur du fil Section du fil - + Section du fil Formule du texte - + Formule du texte Date d'enregistrement du fichier format dd-MM-yyyy - + Date d'enregistrement du fichier format dd-MM-yyyy Heure d'enregistrement du fichier - + Heure d'enregistrement du fichier Nom du fichier enregistré - + Nom du fichier enregistré Chemin du fichier enregistré - + Chemin du fichier enregistré - + Création de conducteurs - + Création de conducteurs - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Pour installer le plugin qet_tb_generator <br> : visitez le site: <br><a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generateur </a><br> requiert Python version 3.5 ou supérieure. <br><B><U> Premièrement , installation sous Windows </B></U><br>1. Installez, si nécessaire, Python 3.5 ou version ultérieure <br><br><a href='https://www.python.org/downloads/'> python.org </a><br> 2. pip installer qet_tb_generator <br><B><U> Mise à jour sous Windows </B></U><br> python -m installation de pip --upgrade qet_tb_generator <br> >> l'utilisateur peut lancer dans un terminal ce script dans cette Répertoire <br> C: \ Utilisateurs \ XXXX \ AppData \ Local \ Programmes \ Python \ Python36-32 \ Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Pour installer le plugin qet_tb_generator<br>Visitez:<br><a.href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Nécessite python 3.5 ou supérieur.<br><br><B><U>Première installation sous Linux</B></U><br>1. vérifiez que pip3 est installé: pip3 --version <br>Si ce n'est pas le cas, installez avec: sudo apt-get install python3-pip <br>2. Installez le programme: sudo pip3 install qet_tb_generator <br> 3. Exécutez le programme: qet_tb_generator <br><br><B><U> Mise à jour sous Linux </B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Erreur lors du lancement du plugin qet_tb_generator Ajouter une nomenclature - + Ajouter une nomenclature Ajouter un sommaire - + Ajouter un sommaire Coller - + Coller - - + - - - - - - + + + + + + + this is an error in the code c'est une erreur dans le code @@ -12022,194 +14734,194 @@ Voulez-vous la remplacer ? Compilation : - + Compilation : Compilation : - + Compilation : Ajouter un groupe de bornes - + Ajouter un groupe de bornes Supprimer un groupe de bornes - + Supprimer un groupe de bornes Modifier les proriétés d'un groupe de bornes - + Modifier les proriétés d'un groupe de bornes Trier le bornier %1 - + Trier le bornier %1 Générique generic terminal element type - + Générique Fusible fuse terminal element type - + Fusible Sectionable sectional terminal element type - + Sectionable Diode diode terminal element type - + Diode Terre ground terminal element type - + Terre Générique generic terminal element function - + Générique Phase phase terminal element function - + Phase Neutre neutral terminal element function - + Neutre Entrée digitale - + Entrée digitale Sortie digitale - + Sortie digitale Entrée analogique - + Entrée analogique Sortie analogique - + Sortie analogique Entrée universelle - + Entrée universelle Sortie universelle - + Sortie universelle Modifier les propriétés d'un élement - + Modifier les propriétés d'un élement Ponter des bornes entre-elles - + Ponter des bornes entre-elles Supprimer des ponts de bornes - + Supprimer des ponts de bornes Modifier la couleur d'un pont de bornes - + Modifier la couleur d'un pont de bornes - + Ouvrir un element - + Ouvrir un element - + Importer un fichier dxf - + Importer un fichier dxf Disposition par défaut - + Disposition par défaut Entrer le facteur d'échelle - + Entrer le facteur d'échelle Facteur X: - + Facteur X: Facteur Y: - + Facteur Y: sans - + sans horizontal - + horizontal vertical - + vertical horizontal + vertical - + horizontal + vertical Retourner l'élément : - + Retourner l'élément : direction - + direction @@ -12222,7 +14934,8 @@ informations supplémentaires sur l'importation/mise à l'échelle de Le logiciel QET_ElementScaler est nécessaire pour mettre les éléments à l'échelle. Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation - + Le logiciel QET_ElementScaler est nécessaire pour mettre les éléments à l'échelle. +Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation @@ -12241,10 +14954,11 @@ Erreur : assurez-vous que le fichier %1 est un fichier .dxf valide L'import dxf nécessite le logiciel dxf2elmt. Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation - + L'import dxf nécessite le logiciel dxf2elmt. +Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper dans le dossier d'installation - + Automatic terminal numbering Numérotation automatique des bornes @@ -12252,70 +14966,70 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da table PLC element part name - + table PLC Ajouter un folio undo command text - + Ajouter un folio Déplacer un folio undo command text - + Déplacer un folio Supprimer un folio undo command text - + Supprimer un folio Sélectionner un fichier PDF... - + Sélectionner un fichier PDF... Fichiers PDF (*.pdf) - + Fichiers PDF (*.pdf) Impossible de charger le fichier PDF. - + Impossible de charger le fichier PDF. Le fichier PDF ne contient aucune page. - + Le fichier PDF ne contient aucune page. Impossible de déterminer la taille de la page PDF. - + Impossible de déterminer la taille de la page PDF. Impossible de rendre la page PDF. - + Impossible de rendre la page PDF. Transformer %1 - + Transformer %1 Grille des textes %1. Relâcher Maj et maintenir Ctrl pour placer librement. - + Grille des textes %1. Relâcher Maj et maintenir Ctrl pour placer librement. Grille des textes désactivée. - + Grille des textes désactivée. @@ -12327,7 +15041,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes %n groupe de textes @@ -12336,30 +15050,30 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 - + Déplacer %1 Ajouter une borne à un groupe de bornes - + Ajouter une borne à un groupe de bornes Ajouter la borne %1 à un groupe de bornes - + Ajouter la borne %1 à un groupe de bornes Ajouter une borne au groupe de bornes %1 - + Ajouter une borne au groupe de bornes %1 Ajouter la borne %1 au groupe de bornes %2 - + Ajouter la borne %1 au groupe de bornes %2 @@ -12396,42 +15110,42 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Déplacer une borne d'un groupe de bornes vers un autre groupe de bornes - + Déplacer une borne d'un groupe de bornes vers un autre groupe de bornes Déplacer une borne d'un groupe de bornes vers le groupe de bornes %1 - + Déplacer une borne d'un groupe de bornes vers le groupe de bornes %1 Déplacer une borne du groupe de bornes %1 vers un autre groupe de bornes - + Déplacer une borne du groupe de bornes %1 vers un autre groupe de bornes Déplacer une borne du groupe de bornes %1 vers le groupe de bornes %2 - + Déplacer une borne du groupe de bornes %1 vers le groupe de bornes %2 Déplacer la borne %1 d'un groupe de bornes vers un autre groupe de bornes - + Déplacer la borne %1 d'un groupe de bornes vers un autre groupe de bornes Déplacer la borne %1 d'un groupe de bornes vers le groupe de bornes %2 - + Déplacer la borne %1 d'un groupe de bornes vers le groupe de bornes %2 Déplacer la borne %1 du groupe de bornes %2 vers un autre groupe de bornes - + Déplacer la borne %1 du groupe de bornes %2 vers un autre groupe de bornes Déplacer la borne %1 du groupe de bornes %2 vers le groupe de bornes %3 - + Déplacer la borne %1 du groupe de bornes %2 vers le groupe de bornes %3 @@ -12466,104 +15180,178 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille Aligner %n objet sur la grille Aligner %n objets sur la grille + + + Aligner %n objet(s) + + Aligner %n objet(s) + Aligner %n objet(s) + + - + Ajouter %1 - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier un texte - + Modifier la couleur d'un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Redimensionner une image - + Pivoter une image - + Pivoter une image - + Modifier un texte d'élément - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + Renuméroter les éléments (%1) + + + Rechercher et remplacer - + Rechercher et remplacer - - - + + + Script - + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). - + Les scripts sont désactivés. + +Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. + +Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + + Assistant : %1 + Assistant : %1 + + + + Script : %1 + Script : %1 + + + + Grouper %n objet(s) + + Grouper %n objet(s) + Grouper %n objet(s) + + + + + Dégrouper %n objet(s) + + Dégrouper %n objet(s) + Dégrouper %n objet(s) + + + + + Figer le nom de l'élément + Figer le nom de l'élément + + + + Dégeler le nom de l'élément + Dégeler le nom de l'élément + + + + Folio + Folio + + + + (Aucune action) + spacemouse config: unbound button + (Aucune action) + + + + Miroir horizontal + Miroir horizontal + + + + Miroir vertical + Miroir vertical @@ -12572,7 +15360,7 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d Ex. Short example string - + Ex. @@ -12584,371 +15372,441 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. +Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. +Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Limitation de tableau - + Modifier la géometrie d'un tableau - + Modifier la géometrie d'un tableau + + + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + Aucun répertoire de collection n'a été donné. + Aucun répertoire de collection n'a été donné. + + + + l'élément racine <%1> n'est pas <labels>. + l'élément racine <%1> n'est pas <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + le fichier n'a pas pu être ouvert : %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + Aucun fichier de préfixes à enregistrer. + Aucun fichier de préfixes à enregistrer. + + + + Le répertoire %1 n'a pas pu être créé. + Le répertoire %1 n'a pas pu être créé. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. QetShapeItem - - - - Ajouter un point - - + + Ajouter un point + Ajouter un point + + + Supprimer ce point - + Supprimer ce point - + Déformer une courbe - + Déformer une courbe - + Nœud le plus proche - + Nœud le plus proche - + Lisse - + Lisse - + Symétrique - + Symétrique - + Anguleux - + Anguleux - + Supprimer le nœud le plus proche - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en polyligne - + Convertir en courbe de Bézier - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir horizontal - + Miroir vertical - + Miroir vertical - + Taille - + Taille - + Coins arrondis - + Coins arrondis - + Édition des nœuds - + Édition des nœuds - + Rotation/Inclinaison - + Rotation/Inclinaison - + Cliquer : mode %1 - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - - - - - une extrémité - - - - - un coin - - - - - un point - - - - - Glisser %1 : rotation (Maj = 15°) - - - - - ; un bord : inclinaison - - - - - ; point rouge : glisser pour repositionner le centre de rotation - - - - - (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - - - - - — Cliquer : mode %1 - - - - - Glisser : déplacer ce point - - - - - Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - - - - - , Alt = détacher en polyligne - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - Glisser : rotation (Ctrl = position libre, Maj = 15°) - + une extrémité + une extrémité + + + + un coin + un coin - Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + un point + un point - - Glisser : repositionner le centre de rotation (Ctrl = position libre) - + + Glisser %1 : rotation (Maj = 15°) + Glisser %1 : rotation (Maj = 15°) + + + + ; un bord : inclinaison + ; un bord : inclinaison - Glisser : arrondir les coins (Ctrl = position libre) - + ; point rouge : glisser pour repositionner le centre de rotation + ; point rouge : glisser pour repositionner le centre de rotation - - Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - - - - - Glisser : déplacer le point (Ctrl = position libre - - - - - , Alt = créer des poignées - + + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) + — Cliquer : mode %1 + — Cliquer : mode %1 + + + + Glisser : déplacer ce point + Glisser : déplacer ce point + + + + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions + + + + , Alt = détacher en polyligne + , Alt = détacher en polyligne + + + + Glisser : rotation (Ctrl = position libre, Maj = 15°) + Glisser : rotation (Ctrl = position libre, Maj = 15°) + + + + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) + + + + Glisser : repositionner le centre de rotation (Ctrl = position libre) + Glisser : repositionner le centre de rotation (Ctrl = position libre) + + + + Glisser : arrondir les coins (Ctrl = position libre) + Glisser : arrondir les coins (Ctrl = position libre) + + + + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) + + + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre + Glisser : déplacer le point (Ctrl = position libre + + + + , Alt = créer des poignées + , Alt = créer des poignées + + + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Modifier le type d'un nœud - + Redimensionner %1 - + Redimensionner %1 - + Faire pivoter %1 - + Faire pivoter %1 - + Incliner %1 - + Incliner %1 - + Deplacer le centre de rotation - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + Modifier la courbure d'un arc + + + + Modifier la forme d'%1 - + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + Modifier %1 - + une ligne - + une ligne - + un rectangle - + un rectangle - + une éllipse - + une éllipse - + un arc - + un arc - + une polyligne - + une polyligne - + une courbe - + une courbe - + une shape - + une shape @@ -12956,43 +15814,43 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Dimensions : - + Dimensions : y - + y Coin supérieur gauche : - + Coin supérieur gauche : Largeur : - + Largeur : Arrondi : - + Arrondi : x - + x Hauteur : - + Hauteur : Modifier un rectangle - + Modifier un rectangle @@ -13000,78 +15858,122 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Dialog - + Dialog Nouveau nom : - + Nouveau nom : Écraser - + Écraser Renommer - + Renommer Annuler - + Annuler TextLabel - + TextLabel - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? RenumberElementsDialog - + Renumber element(s) Renuméroter les ' éléments - + Scope Champ d'application - + All schemes Tous les folios - + One scheme Un folio - + Scheme: Foilo: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + %n élément gardent le nom qu'ils ont. + %n éléments gardent le nom qu'ils ont. + + + + + %n élément(s) restent comme ils sont. + + %n élément restent comme ils sont. + %n éléments restent comme ils sont. + + + + + Folio + Folio + + + + Élément + Élément + + + + Nom actuel + Nom actuel + + + + Nouveau nom + Nouveau nom + + + + (figé) + (figé) + + ReplaceConductorDialog Type - + Type &Multifilaire - + &Multifilaire @@ -13084,31 +15986,31 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier - + Ne pas modifier En haut - + En haut En bas - + En bas Texte sur conducteur horizontal : - + Texte sur conducteur horizontal : Tension / protocol : - + Tension / protocol : @@ -13116,198 +16018,198 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Supprimer ce texte - + Supprimer ce texte Fonction : - + Fonction : Formule du texte : - + Formule du texte : Texte visible - + Texte visible Angle : - + Angle : Texte sur conducteur vertical : - + Texte sur conducteur vertical : Taille du texte : - + Taille du texte : Texte : - + Texte : À gauche - + À gauche À droite - + À droite Couleur du conducteur - + Couleur du conducteur ° - + ° Section du conducteur - + Section du conducteur Unifilaire - + Unifilaire Protective Earth Neutral - + Protective Earth Neutral PEN - + PEN Phase - + Phase phase - + phase - - + + Nombre de phase - + Nombre de phase - + Neutre - + Neutre - + neutre - + neutre - + Terre - + Terre - + terre - + terre - + TextLabel - + TextLabel - + PushButton - + PushButton - + Apparence - + Apparence - + Taille : - + Taille : - - + + Couleur : - + Couleur : - + Style : - + Style : - - + + Modifier - + Modifier - + Couleur secondaire : - + Couleur secondaire : - + Taille de trait : - + Taille de trait : - + px - + px - + Trait plein conductor style: solid line - + Trait plein - + Trait en pointillés conductor style: dashed line - + Trait en pointillés - + Traits et points conductor style: dashed and dotted line - + Traits et points ReplaceElementDialog - + Ne pas modifier - + Ne pas modifier @@ -13320,140 +16222,145 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Principales - + Principales Indice Rev - + Indice Rev Localisation - + Localisation Fichier : - + Fichier : Disponible en tant que %title pour les modèles de cartouches - + Disponible en tant que %title pour les modèles de cartouches - - - - + + + + Ne pas modifier - + Ne pas modifier Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %author pour les modèles de cartouches Auteur : - + Auteur : Date : - + Date : Installation : - + Installation : Disponible en tant que %indexrev pour les modèles de cartouches - + Disponible en tant que %indexrev pour les modèles de cartouches Disponible en tant que %filename pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches Folio : - + Folio : Pas de date - + Pas de date Disponible en tant que %date pour les modèles de cartouches - + Disponible en tant que %date pour les modèles de cartouches Date fixe : - + Date fixe : Appliquer la date actuelle - + Appliquer la date actuelle - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet - %total : nombre total de folios dans le projet - %autonum : Folio Auto Numeration - + Disponible en tant que %folio pour les modèles de cartouches +Les variables suivantes sont utilisables : +- %id : numéro du folio courant dans le projet +- %total : nombre total de folios dans le projet +- %autonum : Folio Auto Numeration - + Disponible en tant que %locmach pour les modèles de cartouches - + Disponible en tant que %locmach pour les modèles de cartouches - + Titre : - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Supprimer ce texte - + Personnalisées - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : +associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13461,12 +16368,12 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Form - + Form Label de report de folio - + Label de report de folio @@ -13478,7 +16385,197 @@ Créer votre propre texte en vous aidant des variables suivantes : %LM : la localisation %l : le numéro de ligne %c : le numéro de colonne - + Vous pouvez définir un label personnalisé pour les reports de folio. +Créer votre propre texte en vous aidant des variables suivantes : +%f : la position du folio dans le projet +%F : le numéro de folio +%M : l'installation +%LM : la localisation +%l : le numéro de ligne +%c : le numéro de colonne + + + + ScriptManagerDialog + + + + + Gérer les scripts + Gérer les scripts + + + + &Nouveau + &Nouveau + + + + Supp&rimer + Supp&rimer + + + + Le texte du bouton + Le texte du bouton + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + Choisir une image (SVG ou PNG)… + Choisir une image (SVG ou PNG)… + + + + Toujours + Toujours + + + + Avec une sélection + Avec une sélection + + + + Avec un conducteur sélectionné + Avec un conducteur sélectionné + + + + Nom : + Nom : + + + + Icône : + Icône : + + + + Info-bulle : + Info-bulle : + + + + Raccourci : + Raccourci : + + + + Actif : + Actif : + + + + &Tester + &Tester + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + &Enregistrer + &Enregistrer + + + + Ouvrir le &dossier + Ouvrir le &dossier + + + + &Fermer + &Fermer + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + Pas de bouton : %1 + Pas de bouton : %1 + + + + Pas de bouton pour ce fichier : %1 + Pas de bouton pour ce fichier : %1 + + + + Nouveau script + Nouveau script + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + Pas encore enregistré + Pas encore enregistré + + + + Le script doit avoir un nom. + Le script doit avoir un nom. + + + + Non enregistré : %1 + Non enregistré : %1 + + + + Impossible d'écrire %1 + Impossible d'écrire %1 + + + + Supprimer le script + Supprimer le script + + + + Supprimer « %1 » et son bouton ? + Supprimer « %1 » et son bouton ? + + + + Icône du script + Icône du script + + + + Images (*.svg *.png) + Images (*.svg *.png) + + + + Impossible de copier %1 + Impossible de copier %1 + + + + Le script affiché n'est pas enregistré. Enregistrer ? + Le script affiché n'est pas enregistré. Enregistrer ? @@ -13491,215 +16588,215 @@ Créer votre propre texte en vous aidant des variables suivantes : Aller à la correspondance suivante - + Aller à la correspondance suivante - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + Aller à la correspondance précédente - + Aller à la correspondance précédente - + Quitter - + Quitter - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Champ texte de folio - + Champ texte de folio - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio Folio Texte brut - + Texte brut Mode - + Mode Mots entiers - + Mots entiers Sensible à la casse - + Sensible à la casse - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + avancé - + avancé - + Élément - + Élément - + Conducteur - + Conducteur - + Remplacer : - + Remplacer : - + Remplacer - + Remplacer - + Tout remplacer - + Tout remplacer Chercher : - + Chercher : - + Actualiser - + Actualiser - + Correspondance : - + Correspondance : - + Folios - + Folios - + Champs texte - + Champs texte - + Eléments - + Eléments - + Eléments simple - + Eléments simple - + Eléments maître - + Eléments maître - + Eléments esclave - + Eléments esclave - + Eléments report de folio - + Eléments report de folio - + Eléments bornier - + Eléments bornier - + Sélectionner les éléments de ce folio - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] - + [édité] - + Conducteurs - + Conducteurs - + Inconnue - + Inconnue @@ -13707,71 +16804,91 @@ Créer votre propre texte en vous aidant des variables suivantes : Form - + Form Numérotations disponibles : - + Numérotations disponibles : Nom de la nouvelle numérotation - + Nom de la nouvelle numérotation Supprimer la numérotation - + Supprimer la numérotation - + Définition - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + Valeur - + Valeur - + Incrémentation - + Incrémentation - + + Annuler + Annuler + + + + Revenir à la définition enregistrée + Revenir à la définition enregistrée + + + + Monter cette variable + Monter cette variable + + + + Descendre cette variable + Descendre cette variable + + + + Supprimer cette variable + Supprimer cette variable + + + Folio Autonumérotation title window - + Folio Autonumérotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13785,10 +16902,21 @@ Si le chiffre défini dans le champ Valeur possède moins de digits que le type Le champ "Incrémentation" n'est pas utilisé. help dialog about the folio autonumerotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. +-Une numérotation est composée d'une variable minimum. +-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. +-Une variable de numérotation comprend : un type, une valeur et une incrémentation. + +-les types "Chiffre 1", "Chiffre 01" et "Chiffre 001", représentent un type numérique défini dans le champ "Valeur", qui s'incrémente à chaque nouveau folio de la valeur du champ "Incrémentation". +-"Chiffre 01" et "Chiffre 001", sont respectivement représentés sur le schéma par deux et trois digits minimum. +Si le chiffre défini dans le champ Valeur possède moins de digits que le type choisi,celui-ci sera précédé par un ou deux 0 afin de respecter son type. + +-Le type "Texte", représente un texte fixe. +Le champ "Incrémentation" n'est pas utilisé. + - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13807,16 +16935,32 @@ Les autres champs ne sont pas utilisés. -Le type "Folio" représente le nom du folio en cours. Les autres champs ne sont pas utilisés. help dialog about the conductor autonumerotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. +-Une numérotation est composée d'une variable minimum. +-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. +-Une variable de numérotation comprend : un type, une valeur et une incrémentation. + +-les types "Chiffre 1", "Chiffre 01" et "Chiffre 001", représentent un type numérique défini dans le champ "Valeur", qui s'incrémente à chaque nouveau conducteur de la valeur du champ "Incrémentation". +-"Chiffre 01" et "Chiffre 001", sont respectivement représentés sur le schéma par deux et trois digits minimum. +Si le chiffre défini dans le champ Valeur possède moins de digits que le type choisi,celui-ci sera précédé par un ou deux 0 afin de respecter son type. + +-Le type "Texte", représente un texte fixe. +Le champ "Incrémentation" n'est pas utilisé. + +-Le type "N° folio" représente le n° du folio en cours. +Les autres champs ne sont pas utilisés. + +-Le type "Folio" représente le nom du folio en cours. +Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + Element Autonumérotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13835,13 +16979,39 @@ Les autres champs ne sont pas utilisés. -Le type "Folio" représente le nom du folio en cours. Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. +-Une numérotation est composée d'une variable minimum. +-Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. +-Une variable de numérotation comprend : un type, une valeur et une incrémentation. + +-les types "Chiffre 1", "Chiffre 01" et "Chiffre 001", représentent un type numérique défini dans le champ "Valeur", qui s'incrémente à chaque nouveau conducteur de la valeur du champ "Incrémentation". +-"Chiffre 01" et "Chiffre 001", sont respectivement représentés sur le schéma par deux et trois digits minimum. +Si le chiffre défini dans le champ Valeur possède moins de digits que le type choisi,celui-ci sera précédé par un ou deux 0 afin de respecter son type. + +-Le type "Texte", représente un texte fixe. +Le champ "Incrémentation" n'est pas utilisé. + +-Le type "N° folio" représente le n° du folio en cours. +Les autres champs ne sont pas utilisés. + +-Le type "Folio" représente le nom du folio en cours. +Les autres champs ne sont pas utilisés. - + + Nouvelle numérotation… + Nouvelle numérotation… + + + + Renommer la numérotation… + Renommer la numérotation… + + + Conducteur Autonumérotation title window - + Conducteur Autonumérotation @@ -13849,241 +17019,241 @@ Les autres champs ne sont pas utilisés. Form - + Form Trait - + Trait Épaisseur - + Épaisseur Normal - + Normal Tiret - + Tiret Pointillé - + Pointillé Traits et points - + Traits et points Traits points points - + Traits points points Tiret custom - + Tiret custom Type - + Type Couleur - + Couleur Remplissage - + Remplissage Style - + Style Aucun - + Aucun Géométrie - + Géométrie Largeur - + Largeur Hauteur - + Hauteur Angle - + Angle ° - + ° Plein - + Plein Densité 1 - + Densité 1 Densité 2 - + Densité 2 Densité 3 - + Densité 3 Densité 4 - + Densité 4 Densité 5 - + Densité 5 Densité 6 - + Densité 6 Densité 7 - + Densité 7 Horizontal - + Horizontal Vertical - + Vertical Croix - + Croix Diagonal arrière - + Diagonal arrière Diagonal avant - + Diagonal avant Diagonal en croix - + Diagonal en croix Verrouiller la position - + Verrouiller la position Forme fermée - + Forme fermée Modifier la longueur d'une ligne - + Modifier la longueur d'une ligne Modifier la taille d'une forme - + Modifier la taille d'une forme Modifier l'angle d'une forme - + Modifier l'angle d'une forme Modifier le trait d'une forme - + Modifier le trait d'une forme Modifier le remplissage d'une forme - + Modifier le remplissage d'une forme Fermer le polygone - + Fermer le polygone Modifier une forme simple - + Modifier une forme simple Modifier les propriétés d'une forme simple - + Modifier les propriétés d'une forme simple Longueur - + Longueur Rayon X - + Rayon X Rayon Y - + Rayon Y Éditer les propriétés d'une primitive - + Éditer les propriétés d'une primitive @@ -14091,53 +17261,53 @@ Les autres champs ne sont pas utilisés. La barre de raccourcis s'ouvre à la position du curseur (touche S par défaut). Elle montre les commandes choisies ici selon ce qui est sélectionné, puis le sélecteur d'éléments. - + La barre de raccourcis s'ouvre à la position du curseur (touche S par défaut). Elle montre les commandes choisies ici selon ce qui est sélectionné, puis le sélecteur d'éléments. Ajouter → - + Ajouter → ← Retirer - + ← Retirer Monter - + Monter Descendre - + Descendre Valeurs par défaut - + Valeurs par défaut Commandes disponibles - + Commandes disponibles Dans la barre, dans l'ordre - + Dans la barre, dans l'ordre Contexte : - + Contexte : Barre de raccourcis configuration page title - + Barre de raccourcis @@ -14145,84 +17315,222 @@ Les autres champs ne sont pas utilisés. Folio, rien de sélectionné - + Folio, rien de sélectionné Éléments sélectionnés - + Éléments sélectionnés Conducteurs sélectionnés - + Conducteurs sélectionnés ShortcutsConfigPage - + Filtrer les raccourcis… - + Filtrer les raccourcis… - + Tous - + Tous - + Attribués uniquement - + Attribués uniquement - + Non attribués uniquement - + Non attribués uniquement - + Conflits uniquement - + Conflits uniquement - + + Toutes les catégories + Toutes les catégories + + + + Appuyez sur une combinaison de touches pour voir quelle commande l'utilise + Appuyez sur une combinaison de touches pour voir quelle commande l'utilise + + + + Effacer la touche recherchée + Effacer la touche recherchée + + + + Rechercher par touche : + Rechercher par touche : + + + + Action - + Action - + + Raccourci - + Raccourci - + + + Menu + Menu + + + Tout réinitialiser - + Tout réinitialiser - + + Copier la liste + Copier la liste + + + + Copie les raccourcis affichés, à coller dans un tableur ou un document + Copie les raccourcis affichés, à coller dans un tableur ou un document + + + Réinitialiser ce raccourci - + Réinitialiser ce raccourci - + %n action(s) - - + %n action(s) + %n action(s) - + Ce raccourci est aussi utilisé par : %1 - + Ce raccourci est aussi utilisé par : %1 - + + Catégorie + Catégorie + + + Raccourcis configuration page title - + Raccourcis + + + + SpaceMouseConfigPage + + + Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) à une action de QElectroTech. Le numéro de bouton dépend de votre appareil et de son pilote -- reportez-vous à sa documentation, ou essayez successivement les valeurs à partir de 0. + spacemouse config page intro + Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) à une action de QElectroTech. Le numéro de bouton dépend de votre appareil et de son pilote -- reportez-vous à sa documentation, ou essayez successivement les valeurs à partir de 0. + + + + N° bouton + N° bouton + + + + Action + Action + + + + Ajouter une association + Ajouter une association + + + + Boutons + Boutons + + + + Les petits mouvements en dessous de ce seuil sont ignorés. Augmentez-le si la vue dérive quand vous ne touchez pas la souris. + Les petits mouvements en dessous de ce seuil sont ignorés. Augmentez-le si la vue dérive quand vous ne touchez pas la souris. + + + + Pousser / tirer le capuchon + Pousser / tirer le capuchon + + + + Tourner le capuchon + Tourner le capuchon + + + + Inverser le déplacement horizontal + Inverser le déplacement horizontal + + + + Inverser le déplacement vertical + Inverser le déplacement vertical + + + + Inverser le zoom + Inverser le zoom + + + + Vitesse de déplacement : + Vitesse de déplacement : + + + + Vitesse du zoom : + Vitesse du zoom : + + + + Zoomer en : + Zoomer en : + + + + Zone morte : + Zone morte : + + + + Mouvement + Mouvement + + + + Supprimer cette association + Supprimer cette association + + + + Souris 3D + configuration page title + Souris 3D @@ -14231,1987 +17539,1987 @@ Les autres champs ne sont pas utilisés. Noir element part color - + Noir Blanc element part color - + Blanc Vert element part color - + Vert Rouge element part color - + Rouge Bleu element part color - + Bleu Gris element part color - + Gris Marron element part color - + Marron Jaune element part color - + Jaune Cyan element part color - + Cyan Magenta element part color - + Magenta Gris clair element part color - + Gris clair Orange element part color - + Orange Violet element part color - + Violet Pink : Pink element part color - + Pink : Pink Pink : LightPink element part color - + Pink : LightPink Pink : HotPink element part color - + Pink : HotPink Pink : DeepPink element part color - + Pink : DeepPink Pink : PaleVioletRed element part color - + Pink : PaleVioletRed Pink : MediumVioletRed element part color - + Pink : MediumVioletRed Red : LightSalmon element part color - + Red : LightSalmon Red : Salmon element part color - + Red : Salmon Red : DarkSalmon element part color - + Red : DarkSalmon Red : LightCoral element part color - + Red : LightCoral Red : IndianRed element part color - + Red : IndianRed Red : Crimson element part color - + Red : Crimson Red : Firebrick element part color - + Red : Firebrick Red : DarkRed element part color - + Red : DarkRed Red : Red element part color - + Red : Red Orange : OrangeRed element part color - + Orange : OrangeRed Orange : Tomato element part color - + Orange : Tomato Orange : Coral element part color - + Orange : Coral Orange : DarkOrange element part color - + Orange : DarkOrange Orange : Orange element part color - + Orange : Orange Yellow : Yellow element part color - + Yellow : Yellow Yellow : LightYellow element part color - + Yellow : LightYellow Yellow : LemonChiffon element part color - + Yellow : LemonChiffon Yellow : LightGoldenrodYellow element part color - + Yellow : LightGoldenrodYellow Yellow : PapayaWhip element part color - + Yellow : PapayaWhip Yellow : Moccasin element part color - + Yellow : Moccasin Yellow : PeachPuff element part color - + Yellow : PeachPuff Yellow : PaleGoldenrod element part color - + Yellow : PaleGoldenrod Yellow : Khaki element part color - + Yellow : Khaki Yellow : DarkKhaki element part color - + Yellow : DarkKhaki Yellow : Gold element part color - + Yellow : Gold Brown : Cornsilk element part color - + Brown : Cornsilk Brown : BlanchedAlmond element part color - + Brown : BlanchedAlmond Brown : Bisque element part color - + Brown : Bisque Brown : NavajoWhite element part color - + Brown : NavajoWhite Brown : Wheat element part color - + Brown : Wheat Brown : Burlywood element part color - + Brown : Burlywood Brown : Tan element part color - + Brown : Tan Brown : RosyBrown element part color - + Brown : RosyBrown Brown : SandyBrown element part color - + Brown : SandyBrown Brown : Goldenrod element part color - + Brown : Goldenrod Brown : DarkGoldenrod element part color - + Brown : DarkGoldenrod Brown : Peru element part color - + Brown : Peru Brown : Chocolate element part color - + Brown : Chocolate Brown : SaddleBrown element part color - + Brown : SaddleBrown Brown : Sienna element part color - + Brown : Sienna Brown : Brown element part color - + Brown : Brown Brown : Maroon element part color - + Brown : Maroon Green : DarkOliveGreen element part color - + Green : DarkOliveGreen Green : Olive element part color - + Green : Olive Green : OliveDrab element part color - + Green : OliveDrab Green : YellowGreen element part color - + Green : YellowGreen Green : LimeGreen element part color - + Green : LimeGreen Green : Lime element part color - + Green : Lime Green : LawnGreen element part color - + Green : LawnGreen Green : Chartreuse element part color - + Green : Chartreuse Green : GreenYellow element part color - + Green : GreenYellow Green : SpringGreen element part color - + Green : SpringGreen Green : MediumSpringGreen element part color - + Green : MediumSpringGreen Green : LightGreen element part color - + Green : LightGreen Green : PaleGreen element part color - + Green : PaleGreen Green : DarkSeaGreen element part color - + Green : DarkSeaGreen Green : MediumAquamarine element part color - + Green : MediumAquamarine Green : MediumSeaGreen element part color - + Green : MediumSeaGreen Green : SeaGreen element part color - + Green : SeaGreen Green : ForestGreen element part color - + Green : ForestGreen Green : Green element part color - + Green : Green Green : DarkGreen element part color - + Green : DarkGreen Cyan : Aqua element part color - + Cyan : Aqua Cyan : Cyan element part color - + Cyan : Cyan Cyan : LightCyan element part color - + Cyan : LightCyan Cyan : PaleTurquoise element part color - + Cyan : PaleTurquoise Cyan : Aquamarine element part color - + Cyan : Aquamarine Cyan : Turquoise element part color - + Cyan : Turquoise Cyan : MediumTurquoise element part color - + Cyan : MediumTurquoise Cyan : DarkTurquoise element part color - + Cyan : DarkTurquoise Cyan : LightSeaGreen element part color - + Cyan : LightSeaGreen Cyan : CadetBlue element part color - + Cyan : CadetBlue Cyan : DarkCyan element part color - + Cyan : DarkCyan Cyan : Teal element part color - + Cyan : Teal Blue : LightSteelBlue element part color - + Blue : LightSteelBlue Blue : PowderBlue element part color - + Blue : PowderBlue Blue : LightBlue element part color - + Blue : LightBlue Blue : SkyBlue element part color - + Blue : SkyBlue Blue : LightSkyBlue element part color - + Blue : LightSkyBlue Blue : DeepSkyBlue element part color - + Blue : DeepSkyBlue Blue : DodgerBlue element part color - + Blue : DodgerBlue Blue : CornflowerBlue element part color - + Blue : CornflowerBlue Blue : SteelBlue element part color - + Blue : SteelBlue Blue : RoyalBlue element part color - + Blue : RoyalBlue Blue : Blue element part color - + Blue : Blue Blue : MediumBlue element part color - + Blue : MediumBlue Blue : DarkBlue element part color - + Blue : DarkBlue Blue : Navy element part color - + Blue : Navy Blue : MidnightBlue element part color - + Blue : MidnightBlue Purple : Lavender element part color - + Purple : Lavender Purple : Thistle element part color - + Purple : Thistle Purple : Plum element part color - + Purple : Plum Purple : Violet element part color - + Purple : Violet Purple : Orchid element part color - + Purple : Orchid Purple : Fuchsia element part color - + Purple : Fuchsia Purple : Magenta element part color - + Purple : Magenta Purple : MediumOrchid element part color - + Purple : MediumOrchid Purple : MediumPurple element part color - + Purple : MediumPurple Purple : BlueViolet element part color - + Purple : BlueViolet Purple : DarkViolet element part color - + Purple : DarkViolet Purple : DarkOrchid element part color - + Purple : DarkOrchid Purple : DarkMagenta element part color - + Purple : DarkMagenta Purple : Purple element part color - + Purple : Purple Purple : Indigo element part color - + Purple : Indigo Purple : DarkSlateBlue element part color - + Purple : DarkSlateBlue Purple : SlateBlue element part color - + Purple : SlateBlue Purple : MediumSlateBlue element part color - + Purple : MediumSlateBlue White : White element part color - + White : White White : Snow element part color - + White : Snow White : Honeydew element part color - + White : Honeydew White : MintCream element part color - + White : MintCream White : Azure element part color - + White : Azure White : AliceBlue element part color - + White : AliceBlue White : GhostWhite element part color - + White : GhostWhite White : WhiteSmoke element part color - + White : WhiteSmoke White : Seashell element part color - + White : Seashell White : Beige element part color - + White : Beige White : OldLace element part color - + White : OldLace White : FloralWhite element part color - + White : FloralWhite White : Ivory element part color - + White : Ivory White : AntiqueWhite element part color - + White : AntiqueWhite White : Linen element part color - + White : Linen White : LavenderBlush element part color - + White : LavenderBlush White : MistyRose element part color - + White : MistyRose Gray : Gainsboro element part color - + Gray : Gainsboro Gray : LightGray element part color - + Gray : LightGray Gray : Silver element part color - + Gray : Silver Gray : DarkGray element part color - + Gray : DarkGray Gray : Gray element part color - + Gray : Gray Gray : DimGray element part color - + Gray : DimGray Gray : LightSlateGray element part color - + Gray : LightSlateGray Gray : SlateGray element part color - + Gray : SlateGray Gray : DarkSlateGray element part color - + Gray : DarkSlateGray Gray : Black element part color - + Gray : Black Aucun element part color - + Aucun Normal element part line style - + Normal Tiret element part line style - + Tiret Pointillé element part line style - + Pointillé Traits et points element part line style - + Traits et points Nulle element part weight - + Nulle Fine element part weight - + Fine Normale element part weight - + Normale Forte element part weight - + Forte Élevé element part weight - + Élevé Aucun element part filling - + Aucun Noir element part filling - + Noir Blanc element part filling - + Blanc Vert element part filling - + Vert Rouge element part filling - + Rouge Bleu element part filling - + Bleu Gris element part filling - + Gris Marron element part filling - + Marron Jaune element part filling - + Jaune Cyan element part filling - + Cyan Magenta element part filling - + Magenta Gris clair element part filling - + Gris clair Orange element part filling - + Orange Violet element part filling - + Violet Pink : Pink element part filling - + Pink : Pink Pink : LightPink element part filling - + Pink : LightPink Pink : HotPink element part filling - + Pink : HotPink Pink : DeepPink element part filling - + Pink : DeepPink Pink : PaleVioletRed element part filling - + Pink : PaleVioletRed Pink : MediumVioletRed element part filling - + Pink : MediumVioletRed Red : LightSalmon element part filling - + Red : LightSalmon Red : Salmon element part filling - + Red : Salmon Red : DarkSalmon element part filling - + Red : DarkSalmon Red : LightCoral element part filling - + Red : LightCoral Red : IndianRed element part filling - + Red : IndianRed Red : Crimson element part filling - + Red : Crimson Red : Firebrick element part filling - + Red : Firebrick Red : DarkRed element part filling - + Red : DarkRed Red : Red element part filling - + Red : Red Orange : OrangeRed element part filling - + Orange : OrangeRed Orange : Tomato element part filling - + Orange : Tomato Orange : Coral element part filling - + Orange : Coral Orange : DarkOrange element part filling - + Orange : DarkOrange Orange : Orange element part filling - + Orange : Orange Yellow : Yellow element part filling - + Yellow : Yellow Yellow : LightYellow element part filling - + Yellow : LightYellow Yellow : LemonChiffon element part filling - + Yellow : LemonChiffon Yellow : LightGoldenrodYellow element part filling - + Yellow : LightGoldenrodYellow Yellow : PapayaWhip element part filling - + Yellow : PapayaWhip Yellow : Moccasin element part filling - + Yellow : Moccasin Yellow : PeachPuff element part filling - + Yellow : PeachPuff Yellow : PaleGoldenrod element part filling - + Yellow : PaleGoldenrod Yellow : Khaki element part filling - + Yellow : Khaki Yellow : DarkKhaki element part filling - + Yellow : DarkKhaki Yellow : Gold element part filling - + Yellow : Gold Brown : Cornsilk element part filling - + Brown : Cornsilk Brown : BlanchedAlmond element part filling - + Brown : BlanchedAlmond Brown : Bisque element part filling - + Brown : Bisque Brown : NavajoWhite element part filling - + Brown : NavajoWhite Brown : Wheat element part filling - + Brown : Wheat Brown : Burlywood element part filling - + Brown : Burlywood Brown : Tan element part filling - + Brown : Tan Brown : RosyBrown element part filling - + Brown : RosyBrown Brown : SandyBrown element part filling - + Brown : SandyBrown Brown : Goldenrod element part filling - + Brown : Goldenrod Brown : DarkGoldenrod element part filling - + Brown : DarkGoldenrod Brown : Peru element part filling - + Brown : Peru Brown : Chocolate element part filling - + Brown : Chocolate Brown : SaddleBrown element part filling - + Brown : SaddleBrown Brown : Sienna element part filling - + Brown : Sienna Brown : Brown element part filling - + Brown : Brown Brown : Maroon element part filling - + Brown : Maroon Green : DarkOliveGreen element part filling - + Green : DarkOliveGreen Green : Olive element part filling - + Green : Olive Green : OliveDrab element part filling - + Green : OliveDrab Green : YellowGreen element part filling - + Green : YellowGreen Green : LimeGreen element part filling - + Green : LimeGreen Green : Lime element part filling - + Green : Lime Green : LawnGreen element part filling - + Green : LawnGreen Green : Chartreuse element part filling - + Green : Chartreuse Green : GreenYellow element part filling - + Green : GreenYellow Green : SpringGreen element part filling - + Green : SpringGreen Green : MediumSpringGreen element part filling - + Green : MediumSpringGreen Green : LightGreen element part filling - + Green : LightGreen Green : PaleGreen element part filling - + Green : PaleGreen Green : DarkSeaGreen element part filling - + Green : DarkSeaGreen Green : MediumAquamarine element part filling - + Green : MediumAquamarine Green : MediumSeaGreen element part filling - + Green : MediumSeaGreen Green : SeaGreen element part filling - + Green : SeaGreen Green : ForestGreen element part filling - + Green : ForestGreen Green : Green element part filling - + Green : Green Green : DarkGreen element part filling - + Green : DarkGreen Cyan : Aqua element part filling - + Cyan : Aqua Cyan : Cyan element part filling - + Cyan : Cyan Cyan : LightCyan element part filling - + Cyan : LightCyan Cyan : PaleTurquoise element part filling - + Cyan : PaleTurquoise Cyan : Aquamarine element part filling - + Cyan : Aquamarine Cyan : Turquoise element part filling - + Cyan : Turquoise Cyan : MediumTurquoise element part filling - + Cyan : MediumTurquoise Cyan : DarkTurquoise element part filling - + Cyan : DarkTurquoise Cyan : LightSeaGreen element part filling - + Cyan : LightSeaGreen Cyan : CadetBlue element part filling - + Cyan : CadetBlue Cyan : DarkCyan element part filling - + Cyan : DarkCyan Cyan : Teal element part filling - + Cyan : Teal Blue : LightSteelBlue element part filling - + Blue : LightSteelBlue Blue : PowderBlue element part filling - + Blue : PowderBlue Blue : LightBlue element part filling - + Blue : LightBlue Blue : SkyBlue element part filling - + Blue : SkyBlue Blue : LightSkyBlue element part filling - + Blue : LightSkyBlue Blue : DeepSkyBlue element part filling - + Blue : DeepSkyBlue Blue : DodgerBlue element part filling - + Blue : DodgerBlue Blue : CornflowerBlue element part filling - + Blue : CornflowerBlue Blue : SteelBlue element part filling - + Blue : SteelBlue Blue : RoyalBlue element part filling - + Blue : RoyalBlue Blue : Blue element part filling - + Blue : Blue Blue : MediumBlue element part filling - + Blue : MediumBlue Blue : DarkBlue element part filling - + Blue : DarkBlue Blue : Navy element part filling - + Blue : Navy Blue : MidnightBlue element part filling - + Blue : MidnightBlue Purple : Lavender element part filling - + Purple : Lavender Purple : Thistle element part filling - + Purple : Thistle Purple : Plum element part filling - + Purple : Plum Purple : Violet element part filling - + Purple : Violet Purple : Orchid element part filling - + Purple : Orchid Purple : Fuchsia element part filling - + Purple : Fuchsia Purple : Magenta element part filling - + Purple : Magenta Purple : MediumOrchid element part filling - + Purple : MediumOrchid Purple : MediumPurple element part filling - + Purple : MediumPurple Purple : BlueViolet element part filling - + Purple : BlueViolet Purple : DarkViolet element part filling - + Purple : DarkViolet Purple : DarkOrchid element part filling - + Purple : DarkOrchid Purple : DarkMagenta element part filling - + Purple : DarkMagenta Purple : Purple element part filling - + Purple : Purple Purple : Indigo element part filling - + Purple : Indigo Purple : DarkSlateBlue element part filling - + Purple : DarkSlateBlue Purple : SlateBlue element part filling - + Purple : SlateBlue Purple : MediumSlateBlue element part filling - + Purple : MediumSlateBlue White : White element part filling - + White : White White : Snow element part filling - + White : Snow White : Honeydew element part filling - + White : Honeydew White : MintCream element part filling - + White : MintCream White : Azure element part filling - + White : Azure White : AliceBlue element part filling - + White : AliceBlue White : GhostWhite element part filling - + White : GhostWhite White : WhiteSmoke element part filling - + White : WhiteSmoke White : Seashell element part filling - + White : Seashell White : Beige element part filling - + White : Beige White : OldLace element part filling - + White : OldLace White : FloralWhite element part filling - + White : FloralWhite White : Ivory element part filling - + White : Ivory White : AntiqueWhite element part filling - + White : AntiqueWhite White : Linen element part filling - + White : Linen White : LavenderBlush element part filling - + White : LavenderBlush White : MistyRose element part filling - + White : MistyRose Gray : Gainsboro element part filling - + Gray : Gainsboro Gray : LightGray element part filling - + Gray : LightGray Gray : Silver element part filling - + Gray : Silver Gray : DarkGray element part filling - + Gray : DarkGray Gray : Gray element part filling - + Gray : Gray Gray : DimGray element part filling - + Gray : DimGray Gray : LightSlateGray element part filling - + Gray : LightSlateGray Gray : SlateGray element part filling - + Gray : SlateGray Gray : DarkSlateGray element part filling - + Gray : DarkSlateGray Gray : Black element part filling - + Gray : Black Lignes Horizontales element part filling - + Lignes Horizontales Lignes Verticales element part filling - + Lignes Verticales Hachures gauche element part filling - + Hachures gauche Hachures droite element part filling - + Hachures droite Antialiasing - + Antialiasing Apparence : - + Apparence : Contour : - + Contour : Remplissage : - + Remplissage : Style : - + Style : Épaisseur : - + Épaisseur : Géométrie : - + Géométrie : style antialiasing - + style antialiasing style couleur - + style couleur style ligne - + style ligne style epaisseur - + style epaisseur style remplissage - + style remplissage @@ -16224,27 +19532,39 @@ Les autres champs ne sont pas utilisés. Informations disponibles - + Informations disponibles Information à afficher - + Information à afficher - + Configuration - + Configuration - + Requête SQL : - + Requête SQL : Position - + Position + + + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + Cette borne a déjà %n conducteur, la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + Cette borne a déjà %n conducteurs, la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + @@ -16252,139 +19572,139 @@ Les autres champs ne sont pas utilisés. Nord - + Nord Est - + Est Sud - + Sud Ouest - + Ouest Modifier l'orientation d'une borne - + Modifier l'orientation d'une borne Déplacer une borne - + Déplacer une borne - - + + T%1 - + T%1 Générique - + Générique Bornier intérieur - + Bornier intérieur Bornier extérieur - + Bornier extérieur NO (contact SW) - + NO (contact SW) NC (contact SW) - + NC (contact SW) Commun (contact SW) - + Commun (contact SW) Modifier le nom du terminal - + Modifier le nom du terminal Modifier le type d'une borne - + Modifier le type d'une borne Afficher/cacher le nom du terminal - + Afficher/cacher le nom du terminal Modifier la position du label - + Modifier la position du label Modifier la police du label - + Modifier la police du label Modifier la taille de police du label - + Modifier la taille de police du label Modifier la rotation du label - + Modifier la rotation du label Modifier l'alignement du label - + Modifier l'alignement du label Afficher/cacher le cadre du label - + Afficher/cacher le cadre du label - - + + Modifier la couleur du label - + Modifier la couleur du label - + Modifier l'étiquette du maître - + Modifier l'étiquette du maître - - - + + + Modifier le nom de la borne - + Modifier le nom de la borne - + Modifier l'index de l'étiquette du maître - + Modifier l'index de l'étiquette du maître @@ -16394,92 +19714,92 @@ Les autres champs ne sont pas utilisés. y : - + y : Orientation : - + Orientation : x : - + x : Nom : - + Nom : Type : - + Type : Nom de la borne - + Nom de la borne Afficher le nom - + Afficher le nom Propriétés du texte - + Propriétés du texte Police - + Police X : - + X : Y : - + Y : Rotation : - + Rotation : ° - + ° Alignement - + Alignement Couleur : - + Couleur : Encadrer le texte - + Encadrer le texte Étiquette du maître - + Étiquette du maître Reprendre du maître - + Reprendre du maître @@ -16487,57 +19807,57 @@ Les autres champs ne sont pas utilisés. Numérotation automatique des bornes - + Numérotation automatique des bornes Cette fonction numérote les bornes du projet selon leur position. Les bornes vides ou verrouillées sont ignorées.Le marquage des bornes doit être configuré au préalable comme suit : '-X:AB'. La partie avant les deux-points (le bornier) peut être nommée au choix. 'AB' peut être composé de chiffres ou de lettres." - + Cette fonction numérote les bornes du projet selon leur position. Les bornes vides ou verrouillées sont ignorées.Le marquage des bornes doit être configuré au préalable comme suit : '-X:AB'. La partie avant les deux-points (le bornier) peut être nommée au choix. 'AB' peut être composé de chiffres ou de lettres." Priorité des axes - + Priorité des axes Priorité à l'axe X (horizontal) - + Priorité à l'axe X (horizontal) Priorité à l'axe Y (vertical) - + Priorité à l'axe Y (vertical) Type de numérotation - + Type de numérotation Numérique uniquement (1, 2, 3...) - + Numérique uniquement (1, 2, 3...) Alphanumérique (A, B, C... 1, 2...) - + Alphanumérique (A, B, C... 1, 2...) Numéroter également les lettres - + Numéroter également les lettres Borniers - + Borniers Décochez les borniers dont la numérotation doit être exclue - + Décochez les borniers dont la numérotation doit être exclue @@ -16545,32 +19865,32 @@ Les autres champs ne sont pas utilisés. Création groupe de bornes - + Création groupe de bornes Localisation : - + Localisation : Nom : - + Nom : Installation : - + Installation : Description : - + Description : Commentaire : - + Commentaire : @@ -16578,63 +19898,63 @@ Les autres champs ne sont pas utilisés. Disposition - + Disposition - + Ponter les bornes - + Ponter les bornes - + Déponter les bornes - + Déponter les bornes - + Propriétés - + Propriétés - + Nom : - + Nom : - + Commentaire : - + Commentaire : - + Description - + Description - + Installation : - + Installation : - + Localisation : - + Localisation : - + Type : - + Type : - + Degrouper les bornes - + Degrouper les bornes - - + + Générique - + Générique @@ -16644,92 +19964,92 @@ Les autres champs ne sont pas utilisés. Effectuer le déplacement - + Effectuer le déplacement - + Couleur pont : - + Couleur pont : - + Fusible - + Fusible - + Sectionnable - + Sectionnable - + Diode - + Diode - + Terre - + Terre - + Déplacer dans : - + Déplacer dans : - + Phase - + Phase - + Neutre - + Neutre - + Position automatique - + Position automatique - + Étage : - + Étage : - + Grouper les bornes - + Grouper les bornes - + Fonction : - + Fonction : Sans - + Sans Avec - + Avec - + LED : - + LED : Bornes indépendantes - + Bornes indépendantes Modifier des propriétés de borniers - + Modifier des propriétés de borniers @@ -16737,42 +20057,42 @@ Les autres champs ne sont pas utilisés. Gestionnaire de borniers - + Gestionnaire de borniers toolBar - + toolBar - + Ajouter un bornier - + Ajouter un bornier - + Ajouter un bornier au projet - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier - + Supprimer le bornier du projet - + Supprimer le bornier du projet + + + + Recharger + Recharger - Recharger - - - - Recharger les borniers - + Recharger les borniers @@ -16780,7 +20100,7 @@ Les autres champs ne sont pas utilisés. plan de bornes - + plan de bornes @@ -16793,142 +20113,142 @@ Les autres champs ne sont pas utilisés. Borne niveau 0 : - + Borne niveau 0 : En tête : - + En tête : Point de pont - + Point de pont Décalage vertical - + Décalage vertical Afficher l'aide - + Afficher l'aide Largeur - + Largeur Orientation - + Orientation Alignement - + Alignement Police : - + Police : Taille : - + Taille : Texte d'en tête - + Texte d'en tête Origine vertical - + Origine vertical Longueur maximal - + Longueur maximal Texte borne - + Texte borne Référence croisée - + Référence croisée Hauteur - + Hauteur Prévisualisation : - + Prévisualisation : Gauche - + Gauche Centre - + Centre Droite - + Droite Horizontal - + Horizontal Vertical - + Vertical Borne niveau 2 : - + Borne niveau 2 : Espace : - + Espace : Borne niveau 3 : - + Borne niveau 3 : Borne niveau 1 : - + Borne niveau 1 : @@ -16936,52 +20256,52 @@ Les autres champs ne sont pas utilisés. Position - + Position Étage - + Étage Label - + Label Référence croisé - + Référence croisé Câble - + Câble Couleur / numéro de fil câble - + Couleur / numéro de fil câble Type - + Type Fonction - + Fonction led - + led Numéro de conducteur - + Numéro de conducteur @@ -16989,7 +20309,7 @@ Les autres champs ne sont pas utilisés. Plan de bornes - + Plan de bornes @@ -16997,17 +20317,17 @@ Les autres champs ne sont pas utilisés. Explorateur de bornier - + Explorateur de bornier - + Projet sans titre - + Projet sans titre - + Bornes indépendante - + Bornes indépendante @@ -17015,29 +20335,29 @@ Les autres champs ne sont pas utilisés. Modifier le contenu d'un champ texte - + Modifier le contenu d'un champ texte Pivoter un champ texte - + Pivoter un champ texte Modifier la police d'un texte - + Modifier la police d'un texte Modifier la couleur d'un texte - + Modifier la couleur d'un texte Déplacer un champ texte - + Déplacer un champ texte @@ -17047,52 +20367,68 @@ Les autres champs ne sont pas utilisés. Y : - + Y : Police : - + Police : ° - + ° Rotation : - + Rotation : X : - + X : Entrer votre texte ici - + Entrer votre texte ici Couleur : - + Couleur : Alignement - + Alignement Point d'ancrage du texte et alignement des lignes entre elles - + Point d'ancrage du texte et alignement des lignes entre elles Modifier l'alignement d'un champ texte - + Modifier l'alignement d'un champ texte + + + + TextResizeCommand + + + Redimensionner un texte + Redimensionner un texte + + + + TextResizeHandles + + + Glisser pour changer la largeur du texte, double-cliquer pour une largeur automatique + Glisser pour changer la largeur du texte, double-cliquer pour une largeur automatique @@ -17100,56 +20436,56 @@ Les autres champs ne sont pas utilisés. Logiciel tiers requis - + Logiciel tiers requis Télechargement - + Télechargement - + Dossier installation - + Dossier installation TitleBlockDimensionWidget - + Largeur : default dialog label - - - - - Absolu - a traditional, absolute measure - + Largeur : - Relatif au total - a percentage of the total width - + Absolu + a traditional, absolute measure + Absolu + Relatif au total + a percentage of the total width + Relatif au total + + + Relatif au restant a percentage of what remains from the total width - + Relatif au restant - + % spinbox suffix when changing the dimension of a row/column - + % - + px spinbox suffix when changing the dimension of a row/column - + px @@ -17157,189 +20493,195 @@ Les autres champs ne sont pas utilisés. Form - + Form Informations des cartouches - + Informations des cartouches Modèle : - + Modèle : - + Principales - + Principales - + Date : - + Date : - + Auteur : - + Auteur : - + Disponible en tant que %locmach pour les modèles de cartouches - + Disponible en tant que %locmach pour les modèles de cartouches - + Disponible en tant que %title pour les modèles de cartouches - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Folio : - + Fichier : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Pas de date - + Date courante - + Date courante - + Appliquer la date actuelle - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Date fixe : - + Titre : - + Titre : - + Page Num: - + Page Num: <html><head/><body><p>Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.</p></body></html> - + <html><head/><body><p>Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.</p></body></html> - + Installation : - + Installation : - + Disponible en tant que %indexrev pour les modèles de cartouches - + Disponible en tant que %indexrev pour les modèles de cartouches - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet - %total : nombre total de folios dans le projet - %autonum : Folio Auto Numeration - + Disponible en tant que %folio pour les modèles de cartouches +Les variables suivantes sont utilisables : +- %id : numéro du folio courant dans le projet +- %total : nombre total de folios dans le projet +- %autonum : Folio Auto Numeration - + Indice Rev: - + Indice Rev: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Localisation: - + Localisation: - + Personnalisées - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : +associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Éditer ce modèle - + Dupliquer et éditer ce modèle menu entry - + Dupliquer et éditer ce modèle - + Title block templates actions - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Créer un Folio Numérotation Auto - + Modèle par défaut - + Modèle par défaut TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 : %2 - + %1 - + %1 @@ -17347,146 +20689,146 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Type de cellule : - + Type de cellule : Vide - + Vide Texte - + Texte Logo - + Logo Nom : - + Nom : Attention : les bordures des cellules vides n'apparaissent pas lors du rendu final sur le folio. - + Attention : les bordures des cellules vides n'apparaissent pas lors du rendu final sur le folio. Aucun logo - + Aucun logo Gérer les logos - + Gérer les logos Afficher un label : - + Afficher un label : Editer - + Editer Texte : - + Texte : Alignement : - + Alignement : horizontal : - + horizontal : Gauche - + Gauche Centré - + Centré Droite - + Droite vertical : - + vertical : Haut - + Haut Milieu - + Milieu Bas - + Bas Police : - + Police : Ajuster la taille de police si besoin - + Ajuster la taille de police si besoin Label de cette cellule - + Label de cette cellule Valeur de cette cellule - + Valeur de cette cellule Aucun logo text displayed in the combo box when a template has no logo - + Aucun logo Édition d'une cellule : %1 label of and undo command when editing a cell - + Édition d'une cellule : %1 Par défaut, les variables suivantes sont disponibles :<ul><li>%{author} : auteur du folio</li><li>%{date} : date du folio</li><li>%{title} : titre du folio</li><li>%{filename} : nom de fichier du projet</li><li>%{plant} : nom de l'installation (=) dans laquelle se trouve le folio</li><li>%{locmach} : nom de la localisation (+) dans laquelle se trouve le folio</li><li>%{indexrev} : indice de révision du folio</li><li>%{version} : version du logiciel</li><li>%{folio} : numéro du folio</li><li>%{folio-id} : position du folio dans le projet</li><li>%{folio-total} : nombre total de folios dans le projet</li><li>%{previous-folio-num} : numéro du folio précédent</li><li>%{next-folio-num} : numéro du folio suivant</li><li>%{projecttitle} : titre du projet</li><li>%{projectpath} : chemin du projet</li><li>%{projectfilename} : nom du fichier</li><li>%{saveddate} : date d'enregistrement du fichier format local</li><li>%{saveddate-eu} : date d'enregistrement du fichier format dd-MM-yyyy</li><li>%{saveddate-us} : date d'enregistrement du fichier format yyyy-MM-dd</li><li>%{savedtime} : heure d'enregistrement du fichier</li><li>%{savedfilename} : nom du fichier enregistré</li><li>%{savedfilepath} : chemin du fichier enregistré</li></ul> - + Par défaut, les variables suivantes sont disponibles :<ul><li>%{author} : auteur du folio</li><li>%{date} : date du folio</li><li>%{title} : titre du folio</li><li>%{filename} : nom de fichier du projet</li><li>%{plant} : nom de l'installation (=) dans laquelle se trouve le folio</li><li>%{locmach} : nom de la localisation (+) dans laquelle se trouve le folio</li><li>%{indexrev} : indice de révision du folio</li><li>%{version} : version du logiciel</li><li>%{folio} : numéro du folio</li><li>%{folio-id} : position du folio dans le projet</li><li>%{folio-total} : nombre total de folios dans le projet</li><li>%{previous-folio-num} : numéro du folio précédent</li><li>%{next-folio-num} : numéro du folio suivant</li><li>%{projecttitle} : titre du projet</li><li>%{projectpath} : chemin du projet</li><li>%{projectfilename} : nom du fichier</li><li>%{saveddate} : date d'enregistrement du fichier format local</li><li>%{saveddate-eu} : date d'enregistrement du fichier format dd-MM-yyyy</li><li>%{saveddate-us} : date d'enregistrement du fichier format yyyy-MM-dd</li><li>%{savedtime} : heure d'enregistrement du fichier</li><li>%{savedfilename} : nom du fichier enregistré</li><li>%{savedfilepath} : chemin du fichier enregistré</li></ul> Chaque cellule d'un cartouche affiche une valeur, optionnellement précédée d'un label. Tous deux peuvent être traduits en plusieurs langues.<br/>Comme ce que vous éditez actuellement est un <em>modèle</em> de cartouche, ne saisissez pas directement des données brutes : insérez plutôt des variables sous la forme %{nom-de-variable}, qui seront ensuite remplacées par les valeurs adéquates sur le folio. - + Chaque cellule d'un cartouche affiche une valeur, optionnellement précédée d'un label. Tous deux peuvent être traduits en plusieurs langues.<br/>Comme ce que vous éditez actuellement est un <em>modèle</em> de cartouche, ne saisissez pas directement des données brutes : insérez plutôt des variables sous la forme %{nom-de-variable}, qui seront ensuite remplacées par les valeurs adéquates sur le folio. @@ -17495,14 +20837,15 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Supprimer le modèle de cartouche ? message box title - + Supprimer le modèle de cartouche ? Êtes-vous sûr de vouloir supprimer ce modèle de cartouche (%1) ? message box content - + Êtes-vous sûr de vouloir supprimer ce modèle de cartouche (%1) ? + @@ -17511,13 +20854,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Collection parente used in save as form - + Collection parente Modèle existant used in save as form - + Modèle existant @@ -17526,13 +20869,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol ou nouveau nom used in save as form - + ou nouveau nom Nouveau modèle (entrez son nom) combox box entry - + Nouveau modèle (entrez son nom) @@ -17540,125 +20883,125 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Gestionnaire de logos - + Gestionnaire de logos Logos embarqués dans ce modèle : - + Logos embarqués dans ce modèle : Ajouter un logo - + Ajouter un logo Exporter ce logo - + Exporter ce logo Supprimer ce logo - + Supprimer ce logo Propriétés - + Propriétés Nom : - + Nom : Renommer - + Renommer Type : - + Type : Logo déjà existant - + Logo déjà existant Remplacer - + Remplacer Il existe déjà un logo portant le nom "%1" au sein de ce modèle de cartouche. Voulez-vous le remplacer ou préférez-vous spécifier un autre nom pour ce nouveau logo ? - + Il existe déjà un logo portant le nom "%1" au sein de ce modèle de cartouche. Voulez-vous le remplacer ou préférez-vous spécifier un autre nom pour ce nouveau logo ? Type : %1 - + Type : %1 Choisir une image / un logo - + Choisir une image / un logo Images vectorielles (*.svg);;Images bitmap (*.png *.jpg *.jpeg *.gif *.bmp *.xpm);;Tous les fichiers (*) - + Images vectorielles (*.svg);;Images bitmap (*.png *.jpg *.jpeg *.gif *.bmp *.xpm);;Tous les fichiers (*) Erreur - + Erreur Impossible d'ouvrir le fichier spécifié - + Impossible d'ouvrir le fichier spécifié Choisir un fichier pour exporter ce logo - + Choisir un fichier pour exporter ce logo Tous les fichiers (*);;Images vectorielles (*.svg);;Images bitmap (*.png *.jpg *.jpeg *.gif *.bmp *.xpm) - + Tous les fichiers (*);;Images vectorielles (*.svg);;Images bitmap (*.png *.jpg *.jpeg *.gif *.bmp *.xpm) Impossible d'exporter vers le fichier spécifié - + Impossible d'exporter vers le fichier spécifié Renommer un logo - + Renommer un logo Vous devez saisir un nouveau nom. - + Vous devez saisir un nouveau nom. Le nouveau nom ne peut pas être vide. - + Le nouveau nom ne peut pas être vide. Le nom saisi est déjà utilisé par un autre logo. - + Le nom saisi est déjà utilisé par un autre logo. @@ -17667,153 +21010,158 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Changer la largeur de la colonne window title when changing a column with - + Changer la largeur de la colonne Largeur : text before the spinbox to change a column width - + Largeur : Changer la hauteur de la ligne window title when changing a row height - + Changer la hauteur de la ligne Hauteur : text before the spinbox to change a row height - + Hauteur : Ajouter une colonne (avant) context menu - + Ajouter une colonne (avant) Ajouter une ligne (avant) context menu - + Ajouter une ligne (avant) Ajouter une colonne (après) context menu - + Ajouter une colonne (après) Ajouter une ligne (après) context menu - + Ajouter une ligne (après) Modifier les dimensions de cette colonne context menu - + Modifier les dimensions de cette colonne Modifier les dimensions de cette ligne context menu - + Modifier les dimensions de cette ligne Supprimer cette colonne context menu - + Supprimer cette colonne Supprimer cette ligne context menu - + Supprimer cette ligne Modifier la largeur de cet aperçu context menu - + Modifier la largeur de cet aperçu [%1px] content of the extra cell added when the total width of cells is less than the preview width - + [%1px] [%1px] content of the extra helper cell added when the total width of cells is greater than the preview width - + [%1px] %1px format displayed in rows helper cells - + %1px %1px - + %1px Changer la largeur de l'aperçu - + Changer la largeur de l'aperçu Largeur de l'aperçu : - + Largeur de l'aperçu : Attention : la somme des largeurs relatives dépasse 100%% de la largeur totale, ce modèle de cartouche ne peut être satisfait par aucune largeur. tooltip warning shown when a template's relative-to-total-length columns alone already exceed 100%% of the total width - + Attention : la somme des largeurs relatives dépasse 100%% de la largeur totale, ce modèle de cartouche ne peut être satisfait par aucune largeur. + Attention : les colonnes de largeur fixe ne peuvent pas tenir dans la largeur restante, ce modèle de cartouche ne peut être satisfait par aucune largeur. tooltip warning shown when a template's relative-to-total-length columns already consume all available width, leaving no room for its fixed-width columns - + Attention : les colonnes de largeur fixe ne peuvent pas tenir dans la largeur restante, ce modèle de cartouche ne peut être satisfait par aucune largeur. + Longueur minimale : %1px tooltip showing the minimum width of the edited template - + Longueur minimale : %1px + Longueur maximale : %1px tooltip showing the maximum width of the edited template - + Longueur maximale : %1px + Longueur non contrainte. tooltip shown when the edited template has neither a minimum nor a maximum width constraint - + Longueur non contrainte. + Largeur totale pour cet aperçu : %1px displayed at the top of the preview when editing a title block template - + Largeur totale pour cet aperçu : %1px @@ -17822,170 +21170,358 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Cartouches du projet sans titre (id %1) collection title when the parent project has an empty title -- %1 is the project internal id - + Cartouches du projet sans titre (id %1) Cartouches du projet "%1" collection title when the project has a suitable title -- %1 is the project title - + Cartouches du projet "%1" + + + + ToolbarCommandsConfigPage + + + Choisissez les commandes de chaque barre d'outils de l'éditeur de schémas. Glissez une commande de la liste de gauche vers la barre, ou double-cliquez dessus ; Suppr la retire. + Choisissez les commandes de chaque barre d'outils de l'éditeur de schémas. Glissez une commande de la liste de gauche vers la barre, ou double-cliquez dessus ; Suppr la retire. + + + + Nouvelle barre… + Nouvelle barre… + + + + Renommer… + Renommer… + + + + Supprimer la barre + Supprimer la barre + + + + Valeurs par défaut + Valeurs par défaut + + + + Rechercher une commande + Rechercher une commande + + + + Ajouter → + Ajouter → + + + + Séparateur + Séparateur + + + + ← Retirer + ← Retirer + + + + Monter + Monter + + + + Descendre + Descendre + + + + Commandes disponibles + Commandes disponibles + + + + Dans la barre, dans l'ordre + Dans la barre, dans l'ordre + + + + Barre d'outils : + Barre d'outils : + + + + Contenu des barres + configuration page title: what each toolbar holds + Contenu des barres + + + + Nouvelle barre d'outils + Nouvelle barre d'outils + + + + + Nom de la barre d'outils : + Nom de la barre d'outils : + + + + Renommer la barre d'outils + Renommer la barre d'outils + + + + ─── Séparateur ─── + ─── Séparateur ─── + + + + ToolbarsConfigPage + + + Par défaut + Par défaut + + + + Petites (16 px) + Petites (16 px) + + + + Moyennes (24 px) + Moyennes (24 px) + + + + Grandes (32 px) + Grandes (32 px) + + + + Très grandes (48 px) + Très grandes (48 px) + + + + Icône seule + Icône seule + + + + Texte à côté de l'icône + Texte à côté de l'icône + + + + Texte sous l'icône + Texte sous l'icône + + + + Verrouiller les barres d'outils (elles ne peuvent plus être déplacées) + Verrouiller les barres d'outils (elles ne peuvent plus être déplacées) + + + + Taille des icônes : + Taille des icônes : + + + + Boutons : + Boutons : + + + + Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils. + Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils. + + + + Barres d'outils + configuration page title + Barres d'outils WiringListDialog - + Liste de câblage window title - - - - - Fil - column title - + Liste de câblage - Composant 1 + Fil column title - + Fil - Borne 1 + Composant 1 column title - + Composant 1 - Composant 2 + Borne 1 column title - + Borne 1 - Borne 2 + Composant 2 column title - + Composant 2 + Borne 2 + column title + Borne 2 + + + Folio column title Folio - - + + %n conducteur(s) listé(s). wiring list summary - - + %n conducteur(s) listé(s). + %n conducteur(s) listé(s). - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning - - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. WiringListExport - - + + Erreur - + Erreur - + Impossible de lire la structure en mémoire du projet. - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Impossible d'ouvrir le fichier pour l'écriture. + + + + Page + Wiring list CSV header + Page + + + + Composant 1 + Wiring list CSV header + Composant 1 - Page + Borne 1 Wiring list CSV header - + Borne 1 - Composant 1 + Composant 2 Wiring list CSV header - + Composant 2 - Borne 1 + Borne 2 Wiring list CSV header - + Borne 2 - Composant 2 + Tension / Protocole Wiring list CSV header - + Tension / Protocole - Borne 2 + Couleur du fil Wiring list CSV header - + Couleur du fil - Tension / Protocole + Section du fil Wiring list CSV header - + Section du fil - Couleur du fil + Fonction Wiring list CSV header - + Fonction - Section du fil + Câble Wiring list CSV header - + Câble - - Fonction - Wiring list CSV header - - - - + Export réussi - + Export réussi - + Le plan de câblage a été exporté avec succès ! - + Le plan de câblage a été exporté avec succès ! + + + + WiringRulesWarning + + + Avertissement + Avertissement + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. @@ -17993,22 +21529,22 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Form - + Form Type : - + Type : Représentation: - + Représentation: Positionner : - + Positionner : @@ -18031,72 +21567,82 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Par défaut - Ajuster à la hauteur XRef - + + Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre. + Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre. + + + + Empiler les références dont les textes se chevauchent + Empiler les références dont les textes se chevauchent + + + XRef slave position Position XRef de l'esclave - + Distance label - slave : - + Distance label - slave : - + Distance in pixels between the label and the slave cross reference - - - - - Afficher les numéros de bornes dans les Xrefs - - - - - Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître - + Distance in pixels between the label and the slave cross reference - Afficher tous les esclaves définis par le maître - + Afficher les numéros de bornes dans les Xrefs + Afficher les numéros de bornes dans les Xrefs + Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître + Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître + + + + Afficher tous les esclaves définis par le maître + Afficher tous les esclaves définis par le maître + + + Affiche&r en contacts - + Affiche&r en contacts - + Afficher en croix - + Afficher en croix - + Label des références croisées - - - - - Maitre - + Label des références croisées - %f-%l%c - + Maitre + Maitre - - Esclave - + + %f-%l%c + %f-%l%c - (%f-%l%c) - + Esclave + Esclave - + + (%f-%l%c) + (%f-%l%c) + + + Créer votre propre texte en vous aidant des variables suivantes : %f : le numéro de folio %F: le label de folio @@ -18104,62 +21650,68 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol %c : le numéro de colonne %M: Installation %LM: Localisation - + Créer votre propre texte en vous aidant des variables suivantes : +%f : le numéro de folio +%F: le label de folio +%l : le numéro de ligne +%c : le numéro de colonne +%M: Installation +%LM: Localisation - + Option d'affichage en croix - + Option d'affichage en croix - + Afficher les contacts de puissance dans la croix - + Afficher les contacts de puissance dans la croix - + Préfixe des contacts de puissance : - + Préfixe des contacts de puissance : - + Préfixe des contacts temporisés : - + Préfixe des contacts temporisés : - + Préfixe des contacts inverseurs : - + Préfixe des contacts inverseurs : Bobine - + Bobine Organe de protection - + Organe de protection Commutateur / bouton - + Commutateur / bouton Automate (PLC) - + Automate (PLC) En bas de page - + En bas de page Sous le label de l'élément - + Sous le label de l'élément @@ -18189,41 +21741,41 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Champ de texte - + Champ de texte projectDataBase - + La requête est vide. - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + Exporter la base de données interne du projet - + sans_nom - + sans_nom qdesigner_internal::ColorAction - + Text Color Couleur de texte @@ -18231,7 +21783,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Insérer une entité HTML @@ -18239,27 +21791,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Éditer le texte - + Rich Text Texte enrichi - + Source - + Source - + &OK - + &OK - + &Cancel &Annuler @@ -18267,69 +21819,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - + Texte en gras - - - + + + Éditeur de texte - + Éditeur de texte - + Texte en italique - + Texte en italique - + Texte souligé - + Texte souligé - + Left Align Aligner à gauche - + Center Centrer - + Right Align Aligner à droite - + Justify Justifier - + Superscript - + Superscript - + Subscript - + Subscript - + Insérer un lien - + Insérer un lien - + Insert &Image - + Insert &Image - + Simplify Rich Text Simplifier le texte enrichi @@ -18339,27 +21891,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Rechercher/Remplacer avancé - + Rechercher/Remplacer avancé par : - + par : Remplacer : - + Remplacer : Qui : - + Qui : Texte ou expression régulière - + Texte ou expression régulière @@ -18369,22 +21921,22 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Élément - + Élément Conducteur - + Conducteur Texte indépendant - + Texte indépendant Quoi : - + Quoi : diff --git a/lang/qet_hr.ts b/lang/qet_hr.ts index 745c6915c..d3b93003e 100644 --- a/lang/qet_hr.ts +++ b/lang/qet_hr.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, program za crtanje elektro shema. - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale Orginalni koncept - - + - - + + + Développement Razvoj - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol Španjolski prijevod - + Traduction en russe Ruski prijevod - + Traduction en portugais Portugalski prijevod - + Traduction en tchèque Češki prijevod - + Traduction en polonais Poljski prijevod - + Traduction en allemand Njemački prijevod - + Traduction en roumain Rumunjski prijevod - + Traduction en italien Talijanski prijevod - + Traduction en arabe Arapski prijevod - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian Debian paket - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes Ikone - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Kut: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,139 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1034,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur Greška - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1115,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1182,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1213,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1222,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1237,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir Crno - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc Bijelo - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -995,7 +1313,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1013,13 +1331,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1028,24 +1346,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1059,6 +1387,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte Tekst @@ -1085,7 +1414,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur @@ -1111,6 +1440,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1165,134 +1495,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : - + cable - + bus - - + + Unifilaire Jednofazno - + TextLabel - - + + Nombre de phase - + Neutre - + Terre - + Phase - + phase faza - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line Isprekidane linije - + Traits et points conductor style: dashed and dotted line - + terre uzemljenje - + neutre nula - + Protective Earth Neutral - + PEN - + Taille : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + Taille de trait : - + px px - + Apparence Izgled - - + + Couleur : Boje: @@ -1313,128 +1660,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Poništi - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple Jednostavno - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1464,27 +1836,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Greška - + Impossible d'écrire dans le fichier « %1 ». @@ -1492,7 +1864,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1632,7 +2004,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1649,262 +2021,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Greška - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1912,7 +2352,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1921,12 +2361,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1935,79 +2375,85 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip "Što je to?" savjet Područje u kojem ste dizajnirali shemu dodavanjem novih elemenata traži vodiče između svojih priključaka. Također možete dodati neovisan tekst. - + Coller ici context menu action Zalijepi ovdje - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur Izaberi novu boju za ovaj vodič - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Greška - + Le fichier n'a pas pu être écrit. @@ -2025,7 +2471,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2033,42 +2479,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Vrh - + Bas Dno - + Gauche Lijevo - + Droite Desno - + Direction : @@ -2076,17 +2522,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2105,30 +2551,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2340,21 +2786,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Lijevo - + Droite Desno - + Centre @@ -2453,64 +2899,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2518,32 +2964,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche Lijevo - + Centre - + Droite Desno @@ -2551,12 +2997,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2597,153 +3043,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Otvori element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Odaberi element koji želiš otvoriti. - + Enregistrer un élément dialog title Spremi element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Odaberi element kojem želiš spremiti definiciju. - + Ouvrir une catégorie dialog title Otvori kategoriju - - + + Choisissez une catégorie. dialog content Odaberi kategoriju. - + Enregistrer une catégorie dialog title Spremi kategoriju - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau template - + Nom du nouveau dossier - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Nepostojeći odabir - + La sélection n'existe pas. message box content Odabrano ne postoji. - - + + Sélection incorrecte message box title Pogrešan odabir - + La sélection n'est pas un élément. message box content Odabrano nije element. - + Écraser l'élément ? message box title Piši preko elementa? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Element već postoji. Želiš ga prebrisati? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2767,12 +3286,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2780,7 +3305,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementInfoWidget - + Informations Informacije @@ -2795,99 +3320,209 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Poništi - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2903,8 +3538,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2987,8 +3622,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3018,302 +3653,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple Jednostavno - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Niišta - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3327,7 +3962,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3455,249 +4090,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter Izvoz - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Greška - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3705,29 +4340,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title Uredi informacije o autoru - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Možete koristiti ovaj prostor za navođenje autora elementa, njegovu licencu ili bilo koje druge informacije koje smatrate korisnima. - + Éditer les noms window title Uredi naziv - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Možete upisati naziv elementa na nekoliko jezika. @@ -3735,101 +4370,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title Nepostojeća kategorija - + La catégorie demandée n'existe pas. Abandon. message box content Zahtijevana kategorija ne postoji. Odustani. - + Éditer une catégorie window title Uredi kategoriju - + Créer une nouvelle catégorie window title Dodaj novu kategoriju - + Nom de la nouvelle catégorie default name when creating a new category Imenuj novu kategoriju - + Édition en lecture seule message box title Edicija samo za čitanje - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nije dozvoljeno mijenjati ovu kategoriju. Kategorija je samo za čitanje. - + Nom interne : Interno ime: - + Vous pouvez spécifier un nom par langue pour la catégorie. Možete dodati naziv po jezicima za kategoriju. - + Nom interne manquant message box title Nedostaje interno ime - + Vous devez spécifier un nom interne. message box content Zadajte interno ime. - + Nom interne déjà utilisé message box title Interno ime već postoji - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Interno ime koje ste odabrali već postojiu drugoj kategoriji. Molim, odaberite neko drugo. - + Erreur message box title Greška - + Impossible de créer la catégorie message box content Nemoguće kreirati kategoriju @@ -3838,122 +4473,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément Uredi element - + Supprimer l'élément Obriši element - + Supprimer le dossier - + Recharger les collections Ponovo učitaj kolekciju - + Éditer le dossier - + Nouveau dossier - + Nouvel élément Novi element - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title Obriši element? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title Brisanje elementa - + La suppression de l'élément a échoué. message box content Brisanje elementa neuspjelo. - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3969,43 +4604,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4014,7 +4649,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4023,32 +4658,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4118,124 +4753,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet Zatvori projekt - + Propriétés du projet Svojstva projekta - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle Novi predložak - + Éditer ce modèle Uredi ovaj predložak - + Supprimer ce modèle Obriši ovaj predložak - - + + Panneau des éléments - + Filtrer @@ -4281,7 +4916,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Izvoz @@ -4290,102 +4925,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter Izvoz - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher Označii sve - + Tout décocher Odznači sve - + Titre du folio - + Nom de fichier Ime datoteke - + Dimensions Dimenzije - + Noms des fichiers cibles message box title Ciljno ime datoteke - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Morate odrediti putanju do datoteke u koju će biti spremljena slika datoteke. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Ne mogu pisati u datoteku - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Izgleda da nemate potrebne dozvole za pisanjeu datoteku%1. - + Aperçu Petpregled - - + + px px @@ -4649,63 +5284,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4713,27 +5358,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4761,129 +5406,130 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets Projekt - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4898,181 +5544,296 @@ that you create. Text and number inputs are - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés Označite elemente u integriranoj ploči - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Gestion des éléments Upravljanje elementima @@ -5082,271 +5843,369 @@ that you create. Text and number inputs are - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : Font: - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Općenito - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5401,7 +6260,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] %1 [nekorišteno u projektu] @@ -5654,42 +6513,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5872,28 +6731,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6136,6 +6995,97 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6187,7 +7137,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6287,7 +7237,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6297,6 +7247,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Poništi + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Poništi + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6346,10 +7448,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6359,7 +7466,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6387,7 +7494,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dodaj liniju - + Copier dans le presse papier @@ -6445,13 +7552,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6726,13 +7833,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6792,25 +7899,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6819,32 +7945,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6950,12 +8076,12 @@ Voulez-vous tout de même lier ce contact esclave ? Zatvoreni poligon - + Ajouter un point - + Supprimer ce point @@ -7007,54 +8133,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7063,23 +8189,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7087,10 +8213,108 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + Obriši + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Ispis @@ -7099,142 +8323,344 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom + Naziv + + + + Folio - - Numérotation auto des folios + + Élément + Element + + + + Figé - - Importer depuis un autre projet... + + Attribuer un numéro libre… - - Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - - - - - - - Nom de la nouvelle numérotation - - - - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7242,12 +8668,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7262,50 +8688,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title Općenito - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7349,137 +8859,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre Nacrtaj obrub - + Dessiner le cartouche Nacrtaj umetak - + Conserver les couleurs des conducteurs Zadrži boju vodiča - + Dessiner les bornes Nacrtaj priključak - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille Koristi cijelu stranicu - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur Prilagodi širini - + Ajuster la page Prilagodi stranici - + Zoom arrière Smanji - + Zoom avant Povećaj - + Paysage Pejzaž - + Portrait Portret - + Première page Prva stranica - + Page précédente Prethodan stranica - + Page suivante Slijedeća stranica - + Dernière page Posljednja stranica - + Afficher une seule page - + Afficher deux pages Prikaži naslovnu stranicu - + Afficher un aperçu de toutes les pages Prikaži sve stranice - + mise en page @@ -7656,238 +9166,274 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Učitavam... Inicijaliziram međumemoriju kolekcije elemenata - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption Učitavam... Otvaram datoteke - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET naslov grupe - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Korisnikov naslov grupe - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Shema - + Electrique Normal example text - translate length, not meaning Električna - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Podesite.QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Greška + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Učitavam... - + Chargement... icône du systray splash screen caption Učitavam... Ikona trake sustava - + QElectroTech systray menu title QElectroTech - + &Quitter &Gotovo - + &Masquer &Sakrij - + &Restaurer &Pokaži - + &Masquer tous les éditeurs de schéma &Sakrij uređivač shema - + &Restaurer tous les éditeurs de schéma &Prikaži uređivač shema - + &Masquer tous les éditeurs d'élément &Sakrij uređivač elemenata - + &Restaurer tous les éditeurs d'élément &Prikaži uređivač elemenata - + &Masquer tous les éditeurs de cartouche systray submenu entry &Sakrij uređivač naslova grupe predloška - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Prikaži uređivač naslova grupe predložaka - + &Nouvel éditeur de schéma &Novi uređivač shema - + &Nouvel éditeur d'élément &Novi uređivač elemenata - + Ferme l'application QElectroTech Zatvori QElectroTech - + Réduire QElectroTech dans le systray Minimiziraj QElectroTech u traku sustava - + Restaurer QElectroTech Vrati QElectrotech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Uređivač shema - + Éditeurs d'élément Uređivač elemenata - + Éditeurs de cartouche systray menu entry Uređivač naslova grupe predložaka - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Upotrijebljeno: - + [options] [fichier]... @@ -7896,7 +9442,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7912,31 +9458,31 @@ Dostupne opcije: --licenca Prikaži licencu - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dirr=DIR Definiraj zajednički direktorij za elemente - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definiraj direktorij naslova grupe predložaka - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definiraj direktorij konfiguracije - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definiraj direktorij za jezične datoteke @@ -7945,732 +9491,999 @@ Dostupne opcije: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Poništi - + Aucune modification Bez promjena - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Kliknite za uređivanje svoje sheme - + &Nouveau &Novo - + &Ouvrir &Otvori - + + &Fermer &Zatvori - + &Enregistrer &Spremi - + Enregistrer sous Spremi kao - + E&xporter &Izvoz - + Projets dock title Projekt - + Collections - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprimer Ispiši - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter &Kraj - + Annuler Poništi - + Refaire Vrati kako je bilo - + Co&uper I&zreži - + Cop&ier &Kopiraj - + C&oller &Zalijepi - + + Coller au point d'origine + + + + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Prikaz + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Ajouter un folio - - - + + + Supprimer le folio - + Exporter au format CSV - + Ajouter une nomenclature - + Ajouter un sommaire - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une ligne Add row Dodaj liniju - + Enlever une ligne Remove row Ukloni red - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Pivoter le groupe - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Odaberi sve - + Désélectionner tout Bez odabira - + Inverser la sélection Obrnuta (inverzna) selekcija - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom sur le contenu - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter une image - + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter - + Profondeur toolbar title Dubina - + + Scripts + toolbar title + + + + + + Scripts + + + + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8679,7 +10492,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8688,7 +10501,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -8697,18 +10510,18 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8717,415 +10530,516 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 - + Supprimer Obriši - + Pivoter Okreni - + Orienter les textes Odaberi orijentaciju teksta - + Retrouver dans le panel Nađi na ploči - + Réinitialiser les conducteurs Resetiraj vodiče - + Ajouter un champ de texte Dodaj tekstualno polje - + Ajouter une colonne Dodaj stupac - + Enlever une colonne Ukloni stupac - + Propriétés du projet Svojstva projekta - + Nettoyer le projet Obriši projekt - + Zoom avant Povećaj - + Zoom arrière Smanji - + Zoom adapté Podesi povećanje - + Pas de zoom Poništi povećanje - + en utilisant des onglets koristi kartice - + en utilisant des fenêtres koristi prozore - + Mode Selection Način selekcije - + Mode Visualisation Vrsta pogleda - + &Mosaïque &Mozaik - + &Cascade &Kaskada - + Projet suivant Slijedeći projekt - + Projet précédent Prethodni projekt - + Ajouter un rectangle Dodaj pravokutnik - + Ajouter une ellipse Dodaj elipsu - - + + Projet %1 enregistré dans le repertoire: %2. - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title Nemoguće otvoriti datoteku - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Ouverture du projet en lecture seule message box title Otvori datoteku samo za čitanje - + Ferme l'application QElectroTech status bar tip Zatvori QElectroTech - + Annule l'action précédente status bar tip Poništi prethodne akcije - + Restaure l'action annulée status bar tip Vrati poništene akcije - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Stavi odabrane elemente u međuspremnik - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopiraj odabrane elemente - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Poništi odabir elemenata i odabei elemente koji nisu bili odabrani - + Pivote les éléments et textes sélectionnés status bar tip Okreni odabrani element i tekst - + Pivote les textes sélectionnés à un angle précis status bar tip Okreni odabrani tekst za određeni kut - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Vrati putanje vodiča ignorirajući korisničke promjene - + Restaure le zoom par défaut status bar tip Vrati nivo temeljnog povećanja - + Ajouter une ligne Draw line Dodaj liniju - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Prikaži otvorene projekte u prozorima - + Présente les différents projets ouverts des onglets status bar tip Prikaži otvorene projekte u karticama - + Permet de sélectionner les éléments status bar tip Dozvoli odabir elemenata - + Dispose les fenêtres en mosaïque status bar tip Složi prozore kao mozaik - + Dispose les fenêtres en cascade status bar tip Složi prozore u kaskadu - + Active le projet suivant status bar tip Aktiviraj slijedeći projekt - + Active le projet précédent status bar tip Aktiviraj prethodni projekt - + &Fichier &Datoteka - + &Édition &Uredi - + &Projet &Projekt - + Afficha&ge Ekr&an - + Fe&nêtres Pro&zor - + &Récemment ouverts - + Affiche ou non la barre d'outils principale Prikaži ili sakrij glavnu alatnu traku - + Affiche ou non la barre d'outils Affichage Prikaži ili sakrij alatnu traku ekrana - + Affiche ou non la barre d'outils Schéma Prikaži ili sakrij alatnu traku sheme - + Affiche ou non le panel d'appareils Ekran ili element van panela - + Affiche ou non la liste des modifications Prikaži ili sakrij listu vraćanja - + Afficher les projets Prikaži projekt - + Outils Alati - + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Affichage Ekran - + Schéma Shema - + A&jouter - + Aligner - + Lignes et colonnes - + Ouvrir un fichier Otvori datoteku - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Datoteka koju pokušavate otvoriti nije čitljiva i ne može biti otvorena. Molim provjerite dozvole za datoteku. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Nije moguće upisivanje u projekt kojeg pokušavate otvoriti. Otvorit će se samo za čitanje. - - + + Échec de l'ouverture du projet message box title Nemoguće otvoriti projekt - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9135,7 +11049,7 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9145,29 +11059,29 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Polices du projet message box title - + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe - + %n objet(s) remis sur la grille @@ -9176,12 +11090,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9190,79 +11104,79 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Greška @@ -9271,42 +11185,42 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QETElementEditor - + &Nouveau &Novo - + &Ouvrir &Otvori - + &Ouvrir depuis un fichier &Otvori iz datoteke - + &Enregistrer &Spremi - + Enregistrer sous Spremi kao - + Enregistrer dans un fichier Spremi u datoteku - + Recharger Ponovo učitaj - + Tout sélectionner Odaberi sve @@ -9316,300 +11230,324 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QElectroTech - Uređivač elemenata - + &Aide &Pomoć - + Annulations Poništi - + Parties Dijelovi - + Informations Informacije - + Outils Alati - + Affichage Ekran - + Élément Element - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Bez odabira - + Co&uper I&zreži - + Cop&ier &Kopiraj - + C&oller &Zalijepi - + C&oller dans la zone - + Un fichier - + Un élément - + Éditer le nom et les traductions de l'élément - + Éditer les propriétés de l'élément - + À &propos de QElectroTech &O QElectroTech-u - + Affiche des informations sur QElectroTech Prikaži informacije o QElectroTech-u - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt Prikaži informacije o Qt knjižnici - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection Obrnuta (inverzna) selekcija - + &Supprimer &Obriši - + Zoom avant Povećaj - + Zoom arrière Smanji - + Zoom adapté Podesi povećanje - + Pas de zoom Vrati povećanje - + Éditer les informations sur l'auteur Uredi informacije o autoru - + Ajouter une ligne Dodaj liniju - + Ajouter un rectangle Dodaj pravokutnik - + Ajouter une ellipse Dodaj elipsu - + Ajouter un polygone Dodaj poligon - + Ajouter du texte Dodaj tekst - + Ajouter un arc de cercle Dodaj luk - + Ajouter une borne Dodaj priključak - + Annuler Poništi - + Afficher menu entry Prikaz - + Trop de primitives, liste non générée: %1 - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9619,12 +11557,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + et - + %n avertissement(s) warnings @@ -9634,199 +11572,232 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Refaire Vrati poništeno - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) QElectroTech elementi (*.elmt) - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Avertissement Upozorenje - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Parties toolbar title Dijelovi - + Profondeur toolbar title Dubina - + &Fichier &Datoteka - + &Édition &Uredi - + Afficha&ge Ekr&an - + Coller depuis... Zalijepi iz... - + [Modifié] window title tag [Promijenjeno] - + [lecture seule] window title tag [Samo za čitanje] - + Aucune modification Bez izmjena - + Éditeur d'éléments status bar message Uređivač elemenata - - + + %n partie(s) sélectionnée(s). %n odabrani dio. @@ -9835,154 +11806,154 @@ veuillez patienter durant l'import... - + Absence de borne warning title Nedostaje priključak - + Absence de borne Nedostaje priključak - + Avertissements Upozorenje - + Le fichier %1 n'existe pas. message box content Datoteka %1 ne postoji. - - + + Impossible d'ouvrir le fichier %1. message box content Nemoguće otvoriti datoteku %1. - - + + Ce fichier n'est pas un document XML valide message box content Datoteka nije važeči XML dokument - - + + Erreur toolbar title Greška - - + + Édition en lecture seule message box title Verzija samo za čitanje - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nemate dozvolu mijenjati ovaj element. Samo za čitanje je. - - + + Erreur message box title Greška - + Impossible d'écrire dans ce fichier message box content Ne mogu pisati u datoteku - + Impossible d'enregistrer l'élément message box content Nemoguće spremiti element - + Impossible d'ouvrir le fichier message box title Nemoguće otvoriti datoteku - + Recharger l'élément dialog title Ponovo učitaj element - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Element je promijenjen od posljednjeg spremanja. Ako ga ponovo učitate, promjene će biti izgubljene. Želite li zaista ponovo učitati element? - + Enregistrer sous dialog title Spremi kao - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elementi (*.elmt) - + Enregistrer l'élément en cours ? dialog title Spremi trenutni element? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Želite li spremiti element %1? - + Ouvrir un fichier dialog title Otvori datoteku - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech elementi (*.elmt);;XML files (*.xml);;Sve datoteke (*) - - - - + + + + Élément inexistant. message box title Nepostojeći element. - - + + L'élément n'existe pas. message box content Element ne postoji. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Izabrana putanje ne poklapa se s elementom. @@ -9991,137 +11962,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech Po&dešavanje QElectroTech-a - + Permet de régler différents paramètres de QElectroTech status bar tip Dozvoli određivanje različitih parametara za QElectroTech - + À &propos de QElectroTech &O QElectroTech-u - + Affiche des informations sur QElectroTech status bar tip Prikaži informacije o QElectroTech-u - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général Općenito - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Prikaži informacije o Qt knjižnici - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Podešavanje - + &Aide window menu &Pomoć - + Sortir du &mode plein écran Napusti cijeli &ekran - + Affiche QElectroTech en mode fenêtré status bar tip Pokreni QElectroTech u prozoru - + Passer en &mode plein écran &Cijeli ekran - + Affiche QElectroTech en mode plein écran status bar tip Pokreni QElectroTech na cijelom ekranu - + Afficher menu entry Prikaz @@ -10130,52 +12136,52 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Projekt bez naslova - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [samo za čitanje] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10183,56 +12189,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Greška nastala tijekom integracije predloška. - + Avertissement message box title Upozorenje - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10601,56 +12607,56 @@ Que désirez vous faire ? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Upozorenje: Element će biti spremljen sa više trenutnih verzija QElectroTech-a. - + supprimer %1 undo caption - %1 is a sentence listing the removed content obriši %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste zalijepi %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut izreži %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content premjesti %1 - + modifier le texte undo caption promijeni tekst - + modifier un conducteur undo caption Izmijeni vodič - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Poništi %1 - + modifier les dimensions du folio undo caption @@ -10794,32 +12800,32 @@ Que désirez vous faire ? tekst - + Folio sans titre - + schema shema - + Conserver les proportions Zadrži omjer - + Réinitialiser les dimensions Poništi veličinu - + Aperçu Pretpregled - + Exporter vers le presse-papier Izvezi u međuspremnik @@ -10842,7 +12848,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10852,7 +12858,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10862,7 +12868,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10872,7 +12878,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10882,7 +12888,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10892,7 +12898,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10902,7 +12908,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10912,7 +12918,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10922,79 +12928,79 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Tekst sa sadržajem GNU/GPL licencom nije pronađen - ionako, znate kako to ide, znate li? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Tekst sa sadržajem GNU/GPL licencom postoji ali me može biti otvoren - ionako, znate kako to ide, znate li? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Nemoguće otvoriti datoteku %1 za pisanje, pronađena greška %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan Donesi naprijed - + Rapprocher Podizanje - + Éloigner Niže - + Envoyer au fond Pošalji natrag - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur Dubina - + Borne tooltip Priključak @@ -11201,32 +13207,32 @@ Que désirez vous faire ? Tekst - + Collection QET QET Kolekcija - + Collection Company - + Collection utilisateur Korisnikova kolekcija - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11245,7 +13251,7 @@ Que désirez vous faire ? Okreni - + %n texte(s) @@ -11254,13 +13260,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orijentacija za označeni tekst @@ -11270,7 +13276,7 @@ Que désirez vous faire ? Dodaj priključak - + %p% effectué (%v sur %m) @@ -11294,15 +13300,15 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code @@ -11348,12 +13354,12 @@ Que désirez vous faire ? - + Importer un fichier dxf - + Ouvrir un element @@ -11363,13 +13369,18 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11522,22 +13533,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin @@ -11553,6 +13564,7 @@ Voulez-vous la remplacer ? + Titre @@ -11679,35 +13691,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11715,9 +13727,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction @@ -12032,22 +14044,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12153,6 +14165,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -12179,7 +14192,7 @@ Voulez-vous la remplacer ? - + Création de conducteurs @@ -12260,7 +14273,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12344,7 +14357,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12354,8 +14367,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12492,7 +14505,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12500,91 +14513,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12592,6 +14619,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12611,369 +14681,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -13055,7 +15186,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -13063,31 +15194,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + + + + + Élément + Element + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13111,9 +15288,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13233,97 +15410,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af faza - - + + Nombre de phase - + Neutre - + neutre nula - + Terre - + terre uzemljenje - + TextLabel - + PushButton - + Apparence Izgled - + Taille : - - + + Couleur : Boje: - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line Isprekidane linije - + Traits et points conductor style: dashed and dotted line @@ -13332,7 +15509,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13374,10 +15551,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13437,7 +15614,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13446,38 +15623,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées Osobno - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13508,6 +15685,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Novo + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Naziv: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Spremi + + + + Ouvrir le &dossier + + + + + &Fermer + &Zatvori + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13546,185 +15902,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément Element - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer Zamijeni - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13752,53 +16108,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Vrijednost - + Incrémentation - + + Annuler + Poništi + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13815,13 +16191,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13843,13 +16219,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13870,6 +16246,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16260,12 +18646,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16275,6 +18661,19 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16629,123 +19028,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés Svojstva - + Nom : Naziv: - + Commentaire : - + Installation : - + Localisation : - + Description - + Type : Vrsta: @@ -16773,32 +19172,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger Ponovo učitaj - + Recharger les borniers @@ -17023,12 +19422,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre Projekt bez naslova - + Bornes indépendante @@ -17136,7 +19535,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17144,37 +19543,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Širina: - + Absolu a traditional, absolute measure Apsolutno - + Relatif au total a percentage of the total width U odnosu na sve - + Relatif au restant a percentage of what remains from the total width U odnosu na ostatak - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17183,30 +19582,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Temeljni predložak - + Éditer ce modèle menu entry Uredi ovaj predložak - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions Akcije naslova grupe predloška - - + + + Créer un Folio Numérotation Auto @@ -17216,17 +19616,17 @@ Les autres champs ne sont pas utilisés. Predložak: - + Pas de date Bez datuma - + Date courante Trenutni datum - + Principales Glavno @@ -17246,72 +19646,72 @@ Les autres champs ne sont pas utilisés. - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17320,37 +19720,37 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées Osobno - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -17359,13 +19759,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -17862,50 +20262,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17915,7 +20315,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17928,96 +20328,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Greška - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Upozorenje + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18225,27 +20644,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18253,7 +20672,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18261,7 +20680,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18269,27 +20688,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18297,69 +20716,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_hu.ts b/lang/qet_hu.ts index b57b5bfe5..c24987331 100644 --- a/lang/qet_hu.ts +++ b/lang/qet_hu.ts @@ -54,272 +54,272 @@ napló - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, egy alkalmazás elektromos tervek készítéséhez. - + Les développeurs de QElectroTech about tab, developers line A QElectroTech fejlesztői - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kapcsolat : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Eredeti elképzelés - - + - - + + + Développement Fejlesztés - + Convertisseur DXF DXF kovertáló - + Plugin Bornier Sorkapocs tömb plugin - + Collection Gyűjtemény - + Traduction en espagnol Spanyol fordító - + Traduction en russe Orosz fordító - + Traduction en portugais Portugál fordító - + Traduction en tchèque Cseh fordító - + Traduction en polonais Lengyel fordító - + Traduction en allemand Német fordító - + Traduction en roumain Román fordító - + Traduction en italien Olasz fordító - + Traduction en arabe Arab fordító - + Traduction en croate Horváth fordító - + Traduction en catalan Katalán fordító - + Traduction en grec Görög fordító - + Traduction en néerlandais Holland fordító - + Traduction en flamand Flamand fordító - + Traduction en danois Dán fordító - + Traduction en brézilien Brazil fordító - + Traduction en Turc Török fordító - + Traduction en hongrois Magyar fordító - + Traduction en serbe Szerb fordító - + Traduction en japonais Japán fordító - + Traduction en coréen Kóreai fordító - + Traduction en mongol Mongol fordító - + Paquets Fedora et Red Hat Fedora és Red Hat programcsomag - + Paquets Mageia Mageia programcsomag - + Paquets Debian Debian programcsomag - + Paquets Gentoo Gentoo programcsomag - + Paquets OS/2 OS/2 programcsomag - + Paquets FreeBSD FreeBSD programcsomag - + Paquets MAC OS X MAC OS X programcsomag - + Paquets Archlinux AUR Archlinus AUR programcsomag - + Icônes Ikonok - + Documentation Dukumentáció - + Collection d'éléments Tervjelek gyűjteménye - + Redimensionneur d'éléments Element scaler Elem átméretező - + Convertisseur d'élément DXF Dxf2elmt DXF elem konvertáló - + Outil de traduction d'éléments Qet_translate Elem fordító eszköz - + Paquets Snap Beépülő programcsomag - + Traduction en ukrainien Ukrán fordító - + Traduction en norvégien Norvég fordító - + Traduction en slovène Szlovén fordító - + Générateur d'élément lambda Lambda element generator Lambda elem generátor @@ -428,17 +428,17 @@ Konfiguráció - + Contenu Tartalom - + Sélectionner la police des en tête du tableau Betűtípus kiválasztása a táblázat tetején - + Sélectionner la police des cellules du tableau A táblázat celláinak betűtípusának kiválasztása @@ -456,6 +456,134 @@ Hozzáadja a következő sorkapocs tervet : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -499,6 +627,39 @@ Szög : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -523,50 +684,50 @@ - - + + Réinitialiser à la valeur de départ Alapértelmezés visszaállítása - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. A számláló jelenlegi értéke. Változtatáshoz írj be egy új értéket és utána nyomd meg az OK gombot. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element alkatrészek/összetevők Elem - + Conducteur Vezeték - + Configurer les règles d'auto numérotation Automatikus számozási szabályok beállítása - + Configurer az alkotóelemek számozásának beállítása Beállítás @@ -578,10 +739,84 @@ Tervlap - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + %n élément(s) numérotés. + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + Autonumérotation Automatikus számozás + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -683,28 +918,74 @@ Létező - + Under Development Fejlesztés alatt - + Installing Beszerelés - + Built Összeállítás - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + Auto Numbering Management title window Automata számozás kezelése - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -747,55 +1028,55 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Előnézet - + nomenclature_ alkatrész lista_ - + Enregister sous... Mentés más néven... - + Fichiers csv (*.csv) Fájlok csv (*.csv) - - + + Erreur Hiba - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Pozíció - + Position du folio Tervlap pozíció - + Quantité numéro d'article Special field with name : designation quantity Mennyiség meghatározása - + Requête refusée - + Erreur dans la requête : %1 @@ -828,6 +1109,27 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Nem + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -878,7 +1180,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat ClickableImageLabel - + Cliquez pour choisir une couleur @@ -909,8 +1211,8 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Változó hozzáadása : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Szöveg összeállítása, változók használatával @@ -918,13 +1220,13 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Conductor - + Modifier les propriétés d'un conducteur undo caption Vezeték tulajdonságainak módosítása - + Modifier les propriétés de plusieurs conducteurs undo caption Több vezeték tulajdonságainak módosítása @@ -933,73 +1235,73 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat ConductorColorToolButton - + Noir Fekete - + Marron Barna - + Gris Szürke - + Bleu Kék - + Vert Zöld - + Rouge Vörös - + Orange Narancs - + Violet Lila - + Blanc Fehér - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1007,7 +1309,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat - + Choisir une couleur de conducteur @@ -1025,13 +1327,13 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Alkalmazza a tulajdonságokat minden azonos potenciálon lévő vezetékre - + Modifier les propriétés d'un conducteur undo caption Vezeték tulajdonságainak módosítása - + Modifier les propriétés de plusieurs conducteurs undo caption Több vezeték tulajdonságának módosítása @@ -1040,24 +1342,32 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Alkalmazza a tulajdonságokat minden azonos potenciálon lévő vezetékre + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Vezeték @@ -1101,16 +1411,18 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat + Texte Szöveg + Texte visible Szöveg látható - + Formule du texte : Szöveg formátuma : @@ -1146,102 +1458,102 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Vezető keresztmetszete - + cable kábel - + bus sín - - + + Unifilaire Egyvonalas - - + + Nombre de phase Fázisok száma - + Neutre Nulla - + neutre nulla - + Phase Fázis - + phase fázis - + Protective Earth Neutral Védőföldelő Nulla - + PEN PEN - + Terre Földelés - + terre védőföldelés - + TextLabel Szövegcímke - + Apparence Megjelenés - + Couleur du conducteur Vezető színe - - + + Couleur : Szín : - + Taille : Méret : - - + + Style du conducteur Vezető stílusa - + Style : Stílus : @@ -1276,34 +1588,51 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat A vezető szövegének elhelyezése és forgatása : - + Couleur secondaire : Másodlagos szín : - + px pixel - + Taille de trait : Vonalméret : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Folyamatos vonal - + Trait en pointillés conductor style: dashed line Szagatott vonal - + Traits et points conductor style: dashed and dotted line Szagatott pontvonal @@ -1325,128 +1654,151 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Egy csoport érintkező kiválasztása - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Válasszd ki azt az érintkezőcsoportot, amelyet ehhez az alárendelt elemhez szeretne hozzárendelni: - + # # - + Type Típus - + Sous-type Al típus - + Contacts Érintkező - + Bornes Sorkapcsok - - + + T%1 T%1 - + (déjà assigné) (már ki van jelölve) - + (état ne correspond pas) (nem egyező állapot) - + (sous-type ne correspond pas) (az altípus nem egyezik) - + (nombre de contacts ne correspond pas) (az érintkezők száma nem egyezik) - + OK OK - + Annuler Visszavonás - + Normalement ouvert Alaphelyzetben nyitott - + Normalement fermé Alaphelyzetben zárt - + Inverseur Inverz - + Autre Egyéb - - + + Inconnu Ismeretlen - + Simple Egyszerű - + Puissance Teljesítmény - + Temporisé travail Késleltetve bekapcsoló - + Temporisé repos Késleltetve kikapcsoló - + Temporisé travail & repos Késleltetve be illetve kikapcsoló + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1476,27 +1828,27 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagnosticsReportDialog - + Enregistrer... Mentés... - + Enregistrer le rapport de diagnostic A diagnosztikai jelentés mentése - + Fichiers texte (*.txt);;Tous les fichiers (*) Szövegfájlok (*.txt);;Minden fájl (*) - + Erreur Hiba - + Impossible d'écrire dans le fichier « %1 ». Nem lehet írni « %1 » fájl-ba. @@ -1504,7 +1856,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Diagram - + Modifier la profondeur Rétegelrendezés módosítása @@ -1644,7 +1996,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1661,262 +2013,330 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) SVG kép (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image egy kép - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Kép kiválasztása ... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Hiba - + Impossible de charger l'image. Nem lehet a fájlt betölteni. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1924,7 +2344,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagramPropertiesDialog - + Propriétés du folio window title Tervlap tulajdonságok @@ -1933,12 +2353,12 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagramTextItem - + Maintenir ctrl pour un déplacement libre Tartsd lenyomva a Ctrl billentyűt a szabadon mozgatáshoz - + <Shift> to move @@ -1948,77 +2368,83 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Ez az a hely, ahol a rajzokat elemek hozzáadásával és csatlakozókhoz illesztésével tervezi meg. Lehetőséget kínál független szövegek hozzáadására is. - + Coller ici context menu action Beillesztés ide - + Collage multiple Többszörös beillesztés - + Créer un template context menu action Sablon-fájl készítése - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées A kiválasztott csatlakozók összekötése - + Sans titre what to display for untitled diagrams Cím nélkül - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Hiba - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Válassza ki a vezeték új színét - + Modifier les propriétés d'un conducteur undo caption Vezeték tulajdonságainak módosítása @@ -2037,7 +2463,7 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Cím - + TextLabel Szövegcímke @@ -2045,42 +2471,42 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Felső - + Bas Alsó - + Gauche Bal - + Droite Jobb - + Direction : @@ -2088,17 +2514,17 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DynamicElementTextItem - + Texte Szöveg - + Éditer un texte d'élément Az elem szövegének szerkesztése - + Redimensionner un texte d'élément @@ -2117,30 +2543,30 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat - - - - + + + + ... ... - + Importer une configuration de texte Szöveg összeállítás importálása - + Ajouter un texte Szöveg hozzáadása - + Ajouter un groupe de textes Szöveg csoport hozzáadása - + Supprimer la sélection A kiválasztás törlése @@ -2312,21 +2738,21 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat - + Gauche Bal - + Droite Jobb - + Centre Középre @@ -2465,64 +2891,64 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Forgatás - - + + Déplacer un champ texte Szövegmező mozgatása - + Pivoter un champ texte Szövegmező forgatása - + Modifier le texte d'un champ texte Szövegmező szövegének szerkesztése - - + + Modifier la police d'un champ texte Szövegmező betűtípusának megváltoztatása - + Modifier la couleur d'un champ texte Szövegmező színének változtatása - + Modifier la conservation de l'angle A szög módosításának megőrzése - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Szövegmező keretének módosítása - + Modifier la largeur d'un texte Szöveg szélességének változtatása - + Modifier l'information d'un texte Szöveges információ szerkesztése - + Modifier la source de texte, d'un texte Szöveg forrásának változtatása - + Modifier l'alignement d'un champ texte Szövegmező elhelyezésének módosítása @@ -2530,32 +2956,32 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat DynamicTextItemDelegate - + Texte utilisateur Felhasználói szöveg - + Information de l'élément Elem információ - + Texte composé Összetett szöveg - + Gauche Bal - + Centre Közép - + Droite Jobb @@ -2563,12 +2989,12 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2609,121 +3035,194 @@ Megjegyzés: ezek a lehetőségek NEM engedélyezik, vagy blokkolják az Automat Element - + Numéroter automatiquement un élément undo caption Egy elem automatikus számozása + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Egy elem megnyitása - + Choisissez l'élément que vous souhaitez ouvrir. dialog content A megnyitni kívánt elem kiválasztása. - + Enregistrer un élément dialog title Elem mentése - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Válassza ki azt a elemet, amelybe a definíciót el szeretné menteni. - + Ouvrir une catégorie dialog title Egy kategória megnyitása - - + + Choisissez une catégorie. dialog content Egy kategória választása. - + Enregistrer une catégorie dialog title Kategória mentése - + Enregistrer un template dialog title Sablon-fájl mentése - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Válassza ki a sablon mentésének a helyet. - + Titre Cím - + Label Címke - + Nom du nouveau dossier Új mappa neve - + Nom du nouveau template AZ új sablon neve - + Écraser le template ? message box title A sablon felülírása? - + Le template existe déjà. Voulez-vous l'écraser ? message box content Az sablon már létezik! Felül akarod írni? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Muszáj választani egy elemet, vagy kategóriát névvel az elemhez. - + Sélection inexistante message box title Nem létező kiválasztása - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Az elem-fájl neve - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2731,32 +3230,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságokban. - + La sélection n'existe pas. message box content A kiválasztás nem létezik. - - + + Sélection incorrecte message box title Rossz kiválasztás - + La sélection n'est pas un élément. message box content A kiválasztott nem egy elem. - + Écraser l'élément ? message box title Az elem felülírása? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Az elem már létezik! Felül akarod írni? @@ -2780,12 +3279,18 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok Ennek a szövegnek a törlése - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2803,104 +3308,214 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok Kizárás az automatikus számozásból - + Informations Információ - + Ajouter une propriété personnalisée Egyedi tulajdonság hozzáadása - + Séparation de potentiel Potenciál szétválasztása - + Exclure de la nomenclature Kizárás az anyagjegyzékből + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Visszavonás - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2916,8 +3531,8 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok - - + + Type Típus @@ -3000,8 +3615,8 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok - - + + Fonction Funkció @@ -3031,302 +3646,302 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok Értékek - - - + + + Simple Egyszerű - + Maître Mester - + Esclave Alárendelt - + Renvoi de folio suivant Tervlap hivatkozás követés - + Renvoi de folio précédent Előző tervlap hivatkozás - + Bornier Sorkapocs - + Vignette Bélyegkép - + Définition de conducteur Vezetékek meghatározása - - + + Normalement ouvert Alaphelyzetben nyitott - - + + Normalement fermé Alaphelyzetben zárt - - + + Inverseur inverz - + Other egyéb - + Esclave PLC Alárendelt PLC - - + + Puissance Teljesítmény - - + + Temporisé travail késleltetve be kapcsoló - - + + Temporisé repos késleltetve ki kapcsoló - - + + Temporisé travail & repos késleltetve be és ki kapcsoló - + Bobine tekercs - + Organe de protection védelmi szerv - + Commutateur / bouton Kapcsoló / nyomógomb - + Module PLC PLC modul - - + + Générique Általános - + Fusible Biztosíték - + Séctionnable Választható - + Diode Dióda - + Phase Fázis - + Neutre Nulla - - - - - + + + + + T%1 T%1 - + Autre Másik - + Configuration PLC PLC konfiguráció - + + + - + - - - - + + Adresse Cím - - + + Commentaire Megjegyzés - + Réf. croisée Kereszthivatkozás - - + + Nb. Szám - + T1 T1 - + Police des en-têtes Fejléc betűtípus - + Configurer la police des en-têtes de colonnes Oszlop fejléc betűtípus - + Police du texte Szöveg betűtípus - + Configurer la police du texte dans les cellules Cella betűtípus beállítás - + Afficher les en-têtes sur la feuille Fejléc mutatása a lapon - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Megjeleníti, vagy elrejti a PLC tábla oszlop-fejlécét a lapon - + Saut %1 après: Ugrás %1 -hoz utána: - + Aucun Nincs - + H. ligne: Sor H: - - + + mm mm - + Réf. Hivatkozás - + Nom personnalisé de la colonne (vide = par défaut) Egyedi oszlop név (üres = alapbeállítás) - + Visible Látható - + Coller depuis le presse-papiers Beillesztés a vágólapról - - + + Police des en-têtes: %1 %2pt Címsor betűméret: %1 %2pt - - + + Police du texte: %1 %2pt Betűméret: %1 %2pt - + Police des en-têtes de colonnes Oszlop fejléc formázás - + Police du texte des cellules Cella betűtípus - + Terre Föld @@ -3340,7 +3955,7 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok - Élement + Élément Elem @@ -3479,249 +4094,249 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok felfelé a listában - + Ajouter la sélection Kiválasztás hozzáadása - + Supprimer la sélection A kiválasztás törlése - + Descendre la sélection lefelé a listában - + Pas de filtre Nincs szűrő - + N'est pas vide Nem üres - + Est vide Üres - + Contient Tartalmaz - + Ne contient pas Nem tartalmaz - + Est égal à Egyenlő - + N'est pas égale à Nem egyenlő - + Filtre : Szűrő : - + Type d'éléments Elem típusa - + Simples Egyszerűek - + Tous Összes - + Vignettes bélyegkép - + Contacteurs et relais Mágneskapcsolók és relék - + Boutons et commutateurs Nyomógombok és kapcsolók - + Borniers Sorkapcsok - + Organes de protection Védelmi eszköz - + Automates (MAE/SPS) PLCs (MAE/SPS) - + Configuration Konfiguráció - + Ouvrir la configuration sélectionné A kiválasztott konfiguráció megnyitása - + Sauvegarder la configuration actuelle A jelenlegi konfiguráció mentése - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Egyéni SQL lekérdezés - + Requête SQL : SQL igénylés : - + Position Pozíció - + Titre du folio Tervlap címe - + Position du folio Tervlap pozíció - + Numéro du folio Tervlap száma - - + + Exporter Exportálás - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Hiba - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer Importálás - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3729,29 +4344,29 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok ElementScene - + Déplacer une primitive Egyszerű mozgatás - + Éditer les informations sur l'auteur window title Szerzői információ szerkesztése - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Ezt a mezőt használhatod az elem szerzőjének megnevezéséhez, az engedélyekhez, vagy egyébb más hasznos információ kereséshez. - + Éditer les noms window title Név szerkesztése - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Az elem nevét több nyelven beírhatod. @@ -3759,101 +4374,101 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Az elem nem egy kategória - + L'item demandé n'est pas une categrie. Abandon. message box content Az igényelt elem nem kategória. Megszakítás. - + Catégorie inexistante message box title Nem létező kategória - + La catégorie demandée n'existe pas. Abandon. message box content Az igényelt kategória nem létezik. Feladás. - + Éditer une catégorie window title Kategória szerkesztése - + Créer une nouvelle catégorie window title Új kategória hozzáadása - + Nom de la nouvelle catégorie default name when creating a new category Az új kategória neve - + Édition en lecture seule message box title Csak olvasható szerkesztés - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nem engedélyezet ennek a kategóriának a módosítása. Így, csak olvasható módban fog megnyílni. - + Nom interne : Belső (saját rendszerbeli) név : - + Vous pouvez spécifier un nom par langue pour la catégorie. A kategóriákhoz nyelvenként tudsz hozzáadni egy nevet. - + Nom interne manquant message box title Belső név hiányzik - + Vous devez spécifier un nom interne. message box content Muszáj adni egy belső nevet. - + Nom interne déjà utilisé message box title A belső név már létezik - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content A választott belső név már használt egy másik kategóriában. Kérlek válasz egy másikat. - + Erreur message box title Hiba - + Impossible de créer la catégorie message box content A kategóriát képtelen létrehozni @@ -3862,73 +4477,73 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok ElementsCollectionWidget - + Ouvrir le dossier correspondant Almappa megnyitása - + Éditer l'élément Elem szerkesztése - + Supprimer l'élément Elem törlése - + Supprimer le dossier Mappa törlése - + Recharger les collections Gyűjtemény újratöltése - + Éditer le dossier Mappa szerkesztése - + Nouveau dossier Új mappa - + Nouvel élément Új elem - + Importer une pièce EPLAN (.edz)… EPLAN alkatrész (.edz) importálása… - + Afficher uniquement ce dossier Csak ezt a mappát mutassa - + Afficher tous les dossiers Összes mapa mutatása - + Propriété du dossier Mappa tulajdonságok - + Supprimer l'élément ? message box title Elem törlése ? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3936,25 +4551,25 @@ Az elem megjelenítési nevét külön lehet szerkeszteni az elem tulajdonságok - + Suppression de l'élément message box title Elem törlés - + La suppression de l'élément a échoué. message box content Az elem törlése nem sikerült. - + Supprimer le dossier? message box title Mappa törlése? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3962,24 +4577,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Mappa törlés - + La suppression du dossier a échoué. message box content Mappa törlés nem sikerült. - + Avertissement — Importation d'un fichier EPLAN (.edz) Figyelmeztetés — EPLAN fájl (.edz) importálása - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4003,83 +4618,83 @@ A fájl importálásával Ön megerősíti, hogy: • sem a QElectroTech, sem annak karbantartói, sem közreműködői nem vonhatók felelősségre az adatok jogosulatlan felhasználásáért. - + J'ai lu et j'accepte ces conditions. Elolvastam és elfogadom ezeket a meghatározásokat és feltételeket. - + Importer Importálás - + Importer une pièce EPLAN EPLAN alkatrész importálása - + Pièces EPLAN (*.edz) EPLAN alkatrész (*.edz) - + Import EPLAN EPLAN importálás - + Impossible d'importer cette pièce : %1 Nem lehet importálni ezt a fájlt : %1 - + Le dossier %1 contient a mappa %1 tartalmaz - + %n élément(s), répartie(s) %n elem, alkatrész - + dans %n dossier(s). %n mappákban. - + Chemin de la collection : %1 A gyűjtemény elérési útvonala : %1 - + Chemin dans le système de fichiers : %1 A fájlrendszer elérési útvonala : %1 - + Rechercher... Keresés... - + Collections Gyűjtemény - + Modèles Sablon - + Propriété du dossier %1 A mappa tulajdonsága %1 @@ -4149,124 +4764,124 @@ A fájl importálásával Ön megerősíti, hogy: ElementsPanelWidget - + Ouvrir le dossier correspondant Almappa megnyitása - + Copier le chemin Teljes elérési útvonal másolása a vágólapra - + Basculer vers ce projet Projekt aktiválása - + Fermer ce projet Projekt bezárása - + Propriétés du projet Projekt tulajdonságok - + Propriétés du folio Tervlap tulajdonságok - + Ajouter un folio Tervlap hozzáadása - + Insérer un folio au-dessus Tervlapszám beszúrása fölé - + Insérer un folio en dessous Tervlapszám beszúrása alá - + Copier et coller Másolás és beillesztés - + Supprimer ce folio Tervlap törlése - + Remonter ce folio Tervlap mozgatása fel - + Abaisser ce folio Tervlap mozgatása le - + Remonter ce folio x10 Tervlap mozgatása fel 10 lappal - + Remonter ce folio x100 Tervlap mozgatása fel 100 lappal - + Remonter ce folio au debut Tervlap mozgatása kezdőlapnak - + Abaisser ce folio x10 Tervlap mozgatása le 10 lappal - + Abaisser ce folio x100 Tervlap mozgatása le 100 lappal - + Nouveau modèle Új sablon - + Éditer ce modèle Sablon szerkesztése - + Supprimer ce modèle Sablon törlése - - + + Panneau des éléments Elemek panel - + Filtrer Szűrő @@ -4312,7 +4927,7 @@ A fájl importálásával Ön megerősíti, hogy: ExportConfigPage - + Export configuration page title Exportálás @@ -4321,102 +4936,102 @@ A fájl importálásával Ön megerősíti, hogy: ExportDialog - + Exporter les folios du projet window title Projekt tervlapok exportálása - + Exporter Exportálás - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Válaszd ki az exportálni kívánt tervlapokat és add meg a méretüket : - + Tout cocher Összes kipipálása - + Tout décocher Kipipálás visszavonása - + Titre du folio Tervlap címe - + Nom de fichier Fájlnév - + Dimensions Kiterjedések - + Noms des fichiers cibles message box title Cél fájl nevek - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Muszáj beírni egy egyedi fájlnevet egyenként a tervlapok exportálásához. - + Dossier non spécifié message box title A könyvtár hiányzik - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Muszáj meghatározni a könyvtár útvonalát, amelyikbe a képfájl mentve lesz. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Nem lehet írni ezt a fájl-t - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Úgy tűnik nem rendelkezel a szükséges engedéllyel a fájl írásához %1. - + Aperçu Előnézet - - + + px pixel @@ -4699,63 +5314,73 @@ Szöveg és szám szintén bevihető. Áthelyezés alkalmazása - - + + Générique Általános - + Fusible Biztosíték - + Sectionnable Megosztható - + Diode Dióda - + Terre Földelés - + Phase Fázis - + Neutre Nulla - + Sans Nélkül - + Avec Vele - + Modifier des propriétés de borniers Sorkapocsléc tulajdonságainak módosítása - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4763,27 +5388,27 @@ Szöveg és szám szintén bevihető. FreeTerminalModel - + Label Címke - + Référence croisé Kereszthivatkozás - + Type Típus - + Fonction Funkció - + led led @@ -4801,68 +5426,68 @@ Szöveg és szám szintén bevihető. Rendszer színek használata - + Projets Projektek - + Utiliser les numéros de folio à la place de leur position dans le projet Tervlap számok használata a projekben elfoglalt pozíciójuk helyett - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 A tervlap oszlopainak számozása 0-tól (különben 1-től) - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) A projekt biztonsági mentése (alkalmazás a QElectroTech következő indításánál) - + Collections Gyűjtemény - + Accès aux collections Hozzáférés a gyűjteményhez - + Répertoire de la collection commune Közös gyűjtemény könyvtár - + Répertoire des cartouches utilisateur Felhasználói szövegmezők könyvtára - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Itt lehet meghatározni a QElectrotech különböző szövegeinek alapértelmezett megjelenését - + Grille + Clavier Rács + Billentyű - + Grille : 1 - 30 Rács: 1 - 30 - + DiagramEditor xGrid Sémaszerkesztő xRács - + DiagramEditor yGrid Sémaszerkesztő yRács @@ -4877,213 +5502,328 @@ Szöveg és szám szintén bevihető. - - Afficher la grille par défaut (appliqué au prochain lancement) - Látható az alpértelmezett rács (a program következő indításakor lesz alkalmazva) - - - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + Látható az alpértelmezett rács (a program következő indításakor lesz alkalmazva) + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) Látható a segédvonal (a program következő indításakor lesz alkalmazva) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) &Ablakok használata (alkalmazás a QElectroTech következő indításánál) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) &Fülek használata (alkalmazás a QElectroTech következő indításánál) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Magas képpontsűrűségű (hdpi) méretezési mód megjelenítése (a QElectrotech következő indításakor) : - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Gyári gyűjtemény könyvtár - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Gyári tervjel könyvtár - + Répertoire des Macros utilisateur Felhasználói Makró könyvtár - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Nyelvek - + Textes Szöveg - + Textes d'éléments Elemekhez tartozó szövegek - - - + + + Police : Betűtípus : - - + + ° ° - + Longueur : Hosszúság : - - + + Rotation : Forgatás : - + Textes indépendants Független szövegek - + Autres textes Egyéb szövegek - + La Grille doite etre active pour pouvoir voir les modifications. A Rácsnak aktívnak kell lennie, hogy lássuk a változásokat. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Billentyűzetről mozgatás: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Sémaszerkesztő (billentyű: bal / jobb) xRács - + DiagramEditor (touche : haut / bas) yGrid Sémaszerkesztő (billentyű: fel / le) yRács - + Déplacement au clavier avec la touche ALT : 1 - 9 Billentyűzetről mozgatás ALT + billentyű: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Sémaszerkesztő (billentyű: bal / jobb) xRács - + DiagramEditor (touche : haut / bas) yGrid Sémaszerkesztő (billentyű: fel / le) yRács - + Affichage Grille Rács megjelenítése - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Pont méret a tervlapszerkesztőben: 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Pont méret az elemszerkesztőben: 1 - 5 - + Editor Szerkesztő - + Max. parts in Element Editor List Maximum alkatrészszám az Elem-szerkesztő listában @@ -5093,7 +5833,7 @@ Szöveg és szám szintén bevihető. Érintőpárna gesztusok használata - + Ne pas conserver les labels des éléments lors des copier coller Ne tárolja az elemek címkéit másolat beillesztésekor @@ -5108,296 +5848,395 @@ Szöveg és szám szintén bevihető. Űrlap - + Chemin de la collection utilisateur Felhasználói gyűjtemény elérési útvonala - + Chemin de la collection commune Közös gyűjtemény elérési útvonala - - - - - - + + + + + + Par defaut Alapértelmezés szerint - - - - - - + + + + + + + Parcourir... Böngészés... - + Répertoire de la collection utilisateur Felhasználói gyűjtemény könyvtára - + (Recharger les collections d'éléments pour appliquer les changements) (Az elem gyűjtemény újratöltése a változások érvényesítéséhez) - + Désactivé Tiltva - + min minute perc - + Gestion des éléments Elemek szervezés - + Mettre en valeur dans le panel les éléments fraîchement intégrés A frissen elhelyezett alkatrészek kiemelése a panelen - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Az elem tartalmazhat információt a szerzőről, engedélyt, vagy más hasznos információt. A szövegmező alapértelmezett értékének meghatározása az új elemek alá vonatkoztatva : - + Appliqué au prochain lancement de QElectroTech Alkalmazás a QElectroTech következő indításánál - + Arrondi supérieur pour 0.5 et plus Kerekítés felfelé 0,5 és felette - + Toujours arrondi supérieur Mindíg felfelé kerekít - + Toujours arrondi inférieur Mindíg lefelé kerekít - + Arrondi supérieur pour 0.75 et plus Kerekítés felfelé 0,75 és felette - + Pas d'arrondi Nincs kerekítés - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Általános - + Système Rendszer - + Arabe Arab - + Brézilien Brazil - + Catalan Katalán - + Tchèque Cseh - + Allemand Német - + Danois Dán - + Grec Görög - + Anglais Angol - + Espagnol Spanyol - + Français Francia - + Croate Horváth - + Italien Olasz - + Japonais Japán - + Coréen Kóreai - + Polonais Lengyel - + Portugais Portugál - + Roumains Román - + Russe Orosz - + Slovène Szlovén - + Pays-Bas Holland - + Norvege Norvég - + Belgique-Flemish Belga-Flamand - + Turc Török - + Hongrois Magyar - + Mongol Mongol - + Ukrainien Ukrán - + Chinois Kínai - + Suédois Svéd - + Chemin de la collection company Gyári gyűjtemény elérési útvonala - + Chemin des cartouches company Gyári tervjel - + Chemin des cartouches utilisateur Felhasználói szövegmező elérési útvonala - + Chemin des macros utilisateur Felhasználói Makró könyvtár útvonal - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Fájlok csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. A túl magas érték a program összeomlásához vezethet. - + Fonctionnalité expérimental Kísérleti funkció - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5457,7 +6296,7 @@ Bármilyen beállítás, ami más mint a „Nincs kerekítés” renderelési h Ez egy tervjel sablon, amit a tervlaphoz lehet alkalmazni. - + %1 [non utilisé dans le projet] %1 [a projektben nem használt] @@ -5787,42 +6626,42 @@ Bármilyen beállítás, ami más mint a „Nincs kerekítés” renderelési h ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Előnézet - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6039,28 +6878,28 @@ Ehhez speciális szerkesztőt kell használni. JumpToElementDialog - + Atteindre un élément window title Elemhez ugrás - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6311,6 +7150,95 @@ Ehhez speciális szerkesztőt kell használni. Elérhető I/O-k: + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + MarginsEditDialog @@ -6352,7 +7280,7 @@ Ehhez speciális szerkesztőt kell használni. <html><head/><body><p>A kiválasztott elem szétválasztása</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>A kiválasztott elemek összekapcsolása</p></body></html> @@ -6462,7 +7390,7 @@ Voulez-vous tout de même lier ce contact esclave ? Sorkapcsok - + Coller depuis le presse-papiers Beillesztés a vágólapról @@ -6472,6 +7400,158 @@ Voulez-vous tout de même lier ce contact esclave ? Kereszthivatkozások (főelem) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Visszavonás + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Visszavonás + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6521,10 +7601,15 @@ Voulez-vous tout de même lier ce contact esclave ? Vezeték automatikus számozása - + Multi-collage Többszörös beillesztés + + + Numéroter les éléments collés + + NameListDialog @@ -6534,7 +7619,7 @@ Voulez-vous tout de même lier ce contact esclave ? Párbeszédablak - + Variables de cartouche Szövegmező változói @@ -6562,7 +7647,7 @@ Voulez-vous tout de même lier ce contact esclave ? Sor hozzáadása - + Copier dans le presse papier Vágólapra másolás @@ -6620,13 +7705,13 @@ Voulez-vous tout de même lier ce contact esclave ? Automatikus számozás - + Nouveau folio configuration page title Új tervlap - + Nouveau projet configuration page title Új projekt @@ -6901,13 +7986,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dinamikus szövegmező - + Déplacer un champ texte Szövegmező mozgatása @@ -6967,57 +8052,74 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Szöveg mozgatása - + Modifier un champ texte Szövegmező szerkesztése + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7123,12 +8225,12 @@ Voulez-vous tout de même lier ce contact esclave ? Zárt sokszög - + Ajouter un point Pont felvétele - + Supprimer ce point Pont törlése @@ -7180,83 +8282,83 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Két különböző potenciált próbálsz összekapcsolni. Kérlek válaszd ki a tulajdonságot, amit az új potenciálhoz alkamazzunk. - - + + %n conducteurs composent le potentiel suivant : %n darab vezető veszi fel a következő potenciált : - - - + + + Numéro : %1 Szám : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Kérlek válassz ki a listából egy elektromos potenciált, az új potenciál számára - - - + + + Fonction : %1 Funkció : %1 - - - + + + Tension/protocole : %1 Feszültség / Protokol : %1 - - - + + + Couleur du conducteur : %1 Vezető színe : %1 - - - + + + Section du conducteur : %1 Vezető színe : %1 - + Ajouter au câble: %1 Kábel hozzáadása: %1 - + Ajouter au bus: %1 Sín hozzáadása: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Több vezető tulajdonságának szerkesztése - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7267,10 +8369,106 @@ Az összeférhetetlen változók a következők: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + Conserver + + + + + Supprimer + Törlés + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Nyomtatás @@ -7279,155 +8477,345 @@ Az összeférhetetlen változók a következők: ProjectAutoNumConfigPage - + Numérotation auto Automatikus számozás - - + + Conducteurs Vezetékek - - - Eléments - Elemek - - - - - Folios - Tervlapok - - - - Numérotation auto des folios - Tervlap automatikus számozása - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Név + + + + Folio + Tervlap + + + + Élément + Elem + + + + Figé - - - - - - - - - - Nom de la nouvelle numérotation - Új számozás neve + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Elemek + + + + + Folios + Tervlapok + + + + Numérotation auto des folios + Tervlap automatikus számozása + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + ; %n numéro(s) sans élément + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + Supprimer la numérotation + Számozás törlése + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + Nom de la nouvelle numérotation + Új számozás neve + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Projekt QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - + Management Kezelés - - - - - - - Sans nom - Nincs név + Nincs név ProjectDBModel - + Position Pozíció - + Position du folio Tervlap pozíció @@ -7450,50 +8838,134 @@ Az összeférhetetlen változók a következők: ProjectMainConfigPage - + Général configuration page title Általános - + Titre du projet : label when configuring Projekt címe : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Az elkészült cím alkalmazható az összes szült tervlaphoz, mint %projektcím. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Az alábbiakban meghatározott egyedi tulajdonságok, amik felhasználhatóak a projekt összes tervlapjához. - + Temps passé sur ce projet : label when configuring A projektre fordított idő : - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label A projektre fordított idő nyomon követése (csak ebben a fájlban) - + Réinitialiser button label Visszaállítás - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project %1 óra %2 perc @@ -7537,137 +9009,137 @@ Az összeférhetetlen változók a következők: A következő időpontban : - + Option de rendu Megjelenítés lehetőségei - + Dessiner le cadre Keret rajzolása - + Dessiner le cartouche Tervjel rajzolása - + Conserver les couleurs des conducteurs Vezetékek színének megtartása - + Dessiner les bornes Sorkapcsok rajzolása - + Dessiner les noms des bornes Sorkapcsok nevének rajzolása - + Inscrire les informations des composants - + Option d'impression Nyomtatási lehetőségek - + Adapter le folio à la page A tervlap igazítása a lap méretéhez - + Utiliser toute la feuille Az egész oldal használata - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Ha ez az opció ki van választva, a tervlap nagyíított vagy zsugorított lesz, hogy az egész nyomtatható felületet kitöltse egyetlen egy lapon." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Ha ez az opció ki van választva, akkor a lap margója figyelmen kívül lesz hagyva és az egész nyotatható felület lesz használva. Ezt nem támogatja minden nyomtató. - + toolBar Eszköztár - + Ajuster la largeur Igazítás a szélességhez - + Ajuster la page Igazítás a lap méretéhez - + Zoom arrière Kicsinyítés - + Zoom avant Nagyítás - + Paysage Fekvő helyzetben - + Portrait Álló helyzetben - + Première page Első lap - + Page précédente Előző lap - + Page suivante Következő lap - + Dernière page Utolsó lap - + Afficher une seule page Egy lap mutatása - + Afficher deux pages Szemközti oldalak megjelenítése - + Afficher un aperçu de toutes les pages Az összes oldal megjelenítése - + mise en page Oldal elrendezés @@ -7845,217 +9317,265 @@ Akarod menteni a változásokat? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Töltés...Az elemgyűjtemény kiinduló állapotba hozása - + Chargement... Éditeur de schéma splash screen caption Töltés...Tervlap szerkesztő - + Chargement... Ouverture des fichiers splash screen caption Töltés... fájl megnyitás - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET tervjelek/szimbólumok - + Cartouches company title of the company's title block templates collection Gyári tervjelek - + Cartouches utilisateur title of the user's title block templates collection Felhasználói tervlap sablonok - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Terv - + Electrique Normal example text - translate length, not meaning Elektromos - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech konfigurálása - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Hiba + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Töltés... - + Chargement... icône du systray splash screen caption Töltés... Rendszer tálca ikon - + QElectroTech systray menu title QElectroTech - + &Quitter &Kilép - + &Masquer &Elrejt - + &Restaurer &Mutat - + &Masquer tous les éditeurs de schéma &Elrejti a vázlat szerkesztőt - + &Restaurer tous les éditeurs de schéma &Megjeleníti a vázlat szerkesztőt - + &Masquer tous les éditeurs d'élément &Elrejti az elem szerkesztőt - + &Restaurer tous les éditeurs d'élément &Megjeleníti a elem szerkesztőt - + &Masquer tous les éditeurs de cartouche systray submenu entry &Elrejti a szövegmező sablon szerkesztőt - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Megjeleníti a szövegmező sablon szerkesztőt - + &Nouvel éditeur de schéma &Új vázlat szerkesztő - + &Nouvel éditeur d'élément &Új elem szerkesztő - + Ferme l'application QElectroTech QElectroTech bezárása - + Réduire QElectroTech dans le systray QElectroTech tálcába helyezése - + Restaurer QElectroTech QElectroTech visszahelyezése - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Vázlat szerkesztők - + Éditeurs d'élément Elem szerkesztők - + Éditeurs de cartouche systray menu entry Szövegmező sablon szerkesztő - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>A következő helyreállított fájl-t találtuk, <br> Szeretnéd megnyitni ?</b><br> + <b>A következő helyreállított fájl-t találtuk, <br> Szeretnéd megnyitni ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>A következő helyreállított fájlokat találtuk, <br> Szeretnéd megnyitni őket ?</b><br> + <b>A következő helyreállított fájlokat találtuk, <br> Szeretnéd megnyitni őket ?</b><br> - Fichier de restauration - Fájl helyreállítás + Fájl helyreállítás - + Rapport de plantage Programleállás jelentés - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. @@ -8065,22 +9585,22 @@ Itt találhatóak az bezárás előtti utolsó naplózott üzenetek – elmenthe - + Rapport de diagnostic Diagnosztikai jelentés - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Ez tartalmazza a munkamenet legutolsó naplóbejegyzéseit. Kérlek, ellenőrizd le a tartalmát, mielőtt a nyilvános hibajelentéshez csatolod. - + Usage : Használat: - + [options] [fichier]... @@ -8089,7 +9609,7 @@ Itt találhatóak az bezárás előtti utolsó naplózott üzenetek – elmenthe - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8106,35 +9626,35 @@ Elérhető lehetőségek: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Meghatározza az elemgyűjtemény könyvtárat - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Meghatározza a szövegmező-sablonok gyűjtemény-könyvtárát - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Meghatározza a konfigurációs könyvtárat - + --data-dir=DIR Definir le dossier de data --adat-könyvtár=DIR Meghatározza az adat könyvtár - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Meghatározza nyelvi fájl könyvtárat @@ -8144,95 +9664,95 @@ Elérhető lehetőségek: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Aucune modification Nincs módosístás - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Kattints egy műveletre, hogy visszaterjen a változtatásokban egy korábbi állapotra - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Ez a panel felsorolja a különböző végrehajtott változtatásokat a jelenlegi tervlapon. Egy változásra kattintva, a tervlap visszakapja azt az állapotot, ami közvetlenül utána volt alkalmazva. - + Annulations dock title Visszavonás - + E&xporter &Exportálás - + Imprimer Nyomtatás - + &Quitter &Kilépés - + Annuler Visszavonás - + Refaire Újrakészít - + Co&uper Ki&vágás - + Cop&ier M&ásolás - + C&oller &Beilleszt - + Réinitialiser les conducteurs Vezetékek visszaállítása - + Création automatique de conducteur(s) Tool tip of auto conductor Önműködően létrehozza a vezetőket - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Használja a vezetők automatikus létrehozását, amikor lehetséges @@ -8243,593 +9763,612 @@ Elérhető lehetőségek: Háttér szín fehér / szürke - + Afficher la grille Rács megjelenítése - + Affiche ou masque la grille des folios Megjeleníti vagy elrejti a tervlap rácsát - + Propriétés du folio Tervlap tulajdonsága - + Propriétés du projet Projekt tulajdonságok - + Ajouter un folio Tervlap hozzáadása - - - + + + Supprimer le folio Ennek a tervlapnak a törlése - + Nettoyer le projet Projekt tisztítása - + Ajouter un sommaire Összesítés hozzáadása - + Lancer le plugin de création de borniers Elindítja a sorkapocsterv generáló beépülő modult - + en utilisant des onglets fülek használata - + en utilisant des fenêtres ablakok használata - + Mode Selection Kiválasztás - + Mode Visualisation tervlap mozgatása keresgéléshez Keresgélési nézet mód - + &Mosaïque &Mozaik - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + &Cascade &Lépcsőzetes - + Projet suivant Következő projekt - + Projet précédent Előző projekt - + &Nouveau &Új - + &Ouvrir &Megnyitás - + &Enregistrer &Mentés - + Enregistrer sous Mentés más néven - + + &Fermer &Bezár - + Crée un nouveau projet status bar tip Új projekt létrehozás - + Ouvre un projet existant status bar tip Létező projekt megnyitása - + Ferme le projet courant status bar tip A jelenlegi projekt bezárása - + Enregistre le projet courant et tous ses folios status bar tip A jelenlegi projekt és összes tervlap mentése - + Enregistre le projet courant avec un autre nom de fichier status bar tip A jelenlegi projekt mentése más néven - + Ajouter une colonne Oszlop hozzáadása - + Enlever une colonne Oszlop eltávolítása - + Ajoute une colonne au folio status bar tip Egy oszlop hozzáadása a tervlaphoz - + Enlève une colonne au folio status bar tip Egy oszlop eltávolítása a tervlapról - + Agrandit le folio en hauteur status bar tip Tervlap magasság növelése - + Rétrécit le folio en hauteur status bar tip Tervlap magasság csökkentése - + Supprimer Törlés - + Pivoter Forgatás - + Orienter les textes Szöveg irányának megváltoztatása - + Retrouver dans le panel Keresés a panelban - + Éditer l'item sélectionné A kijelölt elem szerkesztése - + Chercher/remplacer Keresés / csere - + Profondeur toolbar title Rétegelrendezés - + Groupe Csoport - + Ajouter une nomenclature Osztályozási rendszer hozzáadása - + Grouper les textes sélectionnés Kiválasztott szövegek csoportosítása - + Enlève les éléments sélectionnés du folio status bar tip Kiválasztott elem eltávolítása a tervlapról - + Pivote les éléments et textes sélectionnés status bar tip A kiválasztott elemek és szövegek forgatása - + Pivote les textes sélectionnés à un angle précis status bar tip A kiválasztott szövegek forgatása egy meghatározott szögben - + Retrouve l'élément sélectionné dans le panel status bar tip A kiválasztott elem keresése a panelen - + Tout sélectionner Összes kiválasztása - + Désélectionner tout Kiválasztás megszüntetése - + Inverser la sélection Kiválasztás megfordítása - + Sélectionne tous les éléments du folio status bar tip Összes elem kiválasztása a tervlapon - + Désélectionne tous les éléments du folio status bar tip Összes elem kiválasztásának megszüntetése a tervlapon - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Elemek kiválasztásának megfordítása - + Zoom avant Nagyítás - + Zoom arrière Kicsinyítés - + Zoom sur le contenu Tartalom nagyítása - + Zoom adapté Legnagyobb nézetben - + Pas de zoom Nagyítás alaphelyzetbe állítása - + Agrandit le folio status bar tip Tervlap nagyítása - + Rétrécit le folio status bar tip Tervlap kicsinyítése - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Beállítja a nagyítást a teljes tartalom megjelenítéséhez, a tervlaptól függetlenül - + Adapte le zoom exactement sur le cadre du folio status bar tip Beállítja a nagyítást pontosan a tervlap részére - + Restaure le zoom par défaut status bar tip Visszaállítja az alapértelmezett nyagyítást - + Ajouter un champ de texte Szövegmező hozzáadása - + Ajouter une image Kép hozzáadása - + Ajouter un rectangle Négyzet hozzáadása - + Ajouter une ellipse Elipszis hozzáadása - + Ajouter une polyligne Sokszög hozzáadása - + Exporte le folio courant dans un autre format status bar tip A jelenlegi tervlapot más formátumba exportálja - + Imprime un ou plusieurs folios du projet courant status bar tip Egy, vagy több tervlapot kinyomtat a jelenlegi projektből - + Ferme l'application QElectroTech status bar tip QElectroTech bezárása - + Annule l'action précédente status bar tip Az előző művelet visszavonása - + Projets dock title Projektek - + Collections Gyűjtemény - + Restaure l'action annulée status bar tip Visszaállítja a visszavont műveletet - + Transfère les éléments sélectionnés dans le presse-papier status bar tip A kiválasztott elemek vágólapra helyezése - + Copie les éléments sélectionnés dans le presse-papier status bar tip A kiválasztott elemek másolása - + Place les éléments du presse-papier sur le folio status bar tip A vágólapon lévő elemeket beilleszti a tervlapba - + Ajouter une ligne Add row Sor hozzáadása - + Enlever une ligne Remove row Sor eltávolítása - + Ajouter une ligne Draw line Vonal rajzolása - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Visszaállítja a vezetékek útvonalát, figyelmen kívül hagyva a felhasználó változtatásait - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Tervlap tulajdonságainak szerkesztése (méret, szövegmező információk, vezeték tulajdoságok...) - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Ablakban jeleníti meg a különböző megnyitott projekteket - + Présente les différents projets ouverts des onglets status bar tip Füleken jeleníti meg a különböző megnyitott projekteket - + Permet de sélectionner les éléments status bar tip Engedélyezi az elemek kiválasztását - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Lehetővé teszi a tervlap megtekintését a módosítása nélkül - + Dispose les fenêtres en mosaïque status bar tip Ablakok elrendezése mozaik mintában - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Tervlap szerkesztő - + Exporter en pdf Exportálás PDF-be - + Exporte un ou plusieurs folios du projet courant status bar tip Exportálja a jelenlegi projekt egy vagy több tervlapját - + Coupure automatique de conducteur(s) Tool tip of auto break conductor A vezeték(ek) automatikus szétbontása - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Automatikusan elvágja a vezetéket, amikor egy elemet helyezünk rá @@ -8840,434 +10379,640 @@ Maintenir Ctrl pendant le déplacement pour placer librement. A tervlap hátterét jeleníti meg fehéren, vagy szürkén - + Afficher les guides Útmutató megjelenítése - + Affiche ou masque les guides Megjeleníti vagy elrejti a útmutatót - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Megjelenítés + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Kereszthivatkozások + + + + Voir Affichage > Afficher + + + + Exporter au format CSV Exportálás CSV formátumba - + Gestionnaire de borniers (DEV) Sorkapocs rendszerező (DEV) - + Exporter la liste des noms de conducteurs Vezetékek nevének exportálása listába - + Exporter le plan de câblage Kábelterv exportálása - + Liste de câblage (base de données) - + Numérotation automatique des bornes Sorkapcsok automatikus számozása - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet A belső projekt adatbázis exportálása - + Dispose les fenêtres en cascade status bar tip Ablakok elrendezése lépcsőzetesen - + Active le projet suivant status bar tip Következő projekt aktiválása - + Active le projet précédent status bar tip Előző projekt aktiválása - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Sorkapocsterv hozzáadása - + Ajoute un champ de texte sur le folio actuel Szövegmező hozzáadása a jelenlegi tervlaphoz - + Ajoute une image sur le folio actuel Kép hozzáadása a jelenlegi tervlaphoz - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Vonal hozzáadása a jelenlegi tervlaphoz - + Ajoute un rectangle sur le folio actuel Négyszög hozzáadása a jelenlegi tervlaphoz - + Ajoute une ellipse sur le folio actuel Ellipszis hozzáadása a jelenlegi tervlaphoz - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Vonallánc hozzáadása a jelenlegi tervlaphoz - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Sorkapocsterv hozzáadása a jelenlegi tervlaphoz - + Atteindre un élément Elemhez ugrás - + Recherche et sélectionne rapidement un élément du folio status bar tip Elem gyors keresése és kiválasztása a tervlapon - + Outils Eszközök - + Affichage Megjelenítés - + Schéma Terv - + Ajouter Hozzáad - + + Scripts + toolbar title + + + + &Fichier &Fájl - + &Édition S&zerkesztés - + &Projet &Projekt - + Afficha&ge &Megjelenítés - + Fe&nêtres Ab&lakok - + &Récemment ouverts &Utolsó fájlok - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Megjeleníti, vagy elrejti a fő eszköztárat - + Affiche ou non la barre d'outils Affichage Megjeleníti, vagy elrejti a eszköztárat - + Affiche ou non la barre d'outils Schéma Megjeleníti, vagy elrejti tervlap eszköztárat - + Affiche ou non le panel d'appareils Megmutatja, vagy elrejti az elemek panelt - + Affiche ou non la liste des modifications Megjeleníti, vagy elrejti a visszavonás listát - + Afficher les projets Projektek megjelenítése - - + + Projet %1 enregistré dans le repertoire: %2. A %1 projekt bejegyezve a: %2 könyvtárba. - + Ouvrir un fichier Fájl megnyitása - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech projekt(*.qet);;XML fájlok (*.xml);;minden fájl (*) - - + + Impossible d'ouvrir le fichier message box title Nem lehet a fájlt megnyitni - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Úgy tűnik %1 fájl amelyiket megpróbáltad megnyitni nem létezik, vagy nem létezik többé. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. A megnyitni próbált fájl sérültnek tűnik és nem lehet megnyitni. Kérlek ellenőrízd a fájlhoz szükséges engedélyeket. - + Ouverture du projet en lecture seule message box title Csak olvasható fájl megnyitása - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. A megnyitni próbált projekt írásvédetnek tűnik. Csak olvashatóként lesz megnyitva. - - + + Échec de l'ouverture du projet message box title Képtelen megnyitni a projektet - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content A(z) %1 fájl úgy tűnik nem egy QElectroTech projektfáj. Ezért nem nyitható meg. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9275,7 +11020,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9283,18 +11028,39 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title Projekt betűtípus - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + Suppression de borne impossible Nem lehet törölni a sorkapcsot - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer @@ -9304,151 +11070,168 @@ Szüntesd meg az áthidalást és/vagy távolítsd el a szinteket az érintett s - + %n objet(s) remis sur la grille + + + %n objet(s) aligné(s) + + + + - + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element Elem szerkesztése - + Éditer le champ de texte edit text field Szövegmező szerkesztése - + Éditer l'image edit image Kép szerkesztése - + Éditer le conducteur edit conductor Vezető szerkesztése - + Éditer l'objet sélectionné edit selected item Kijelölt objektum szerkesztése - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Hiba történt a fájl megnyitásakor %1. - + Active le projet « %1 » Projekt aktiválása « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? Biztos vagy benne, hogy törölni akarod ezt a tervlapot? - + Supprimer les folios Tervlap törlése - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Valóban törölni akarod ezt a kiválasztott %1 tervlapot ? - + Supprimer %1 folios Tervlap %1 törlése - - - - - - - + + + + + + + Déplacer les folios Tervlap mozgatása - + Erreur message box title Hiba - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9457,13 +11240,108 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + Textes %1 @@ -9471,42 +11349,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Új - + &Ouvrir &Megnyitás - + &Ouvrir depuis un fichier &Megnyitás egy fájlból - + &Enregistrer M&entés - + Enregistrer sous Mentés más néven - + Enregistrer dans un fichier Mentés fájlba - + Recharger Újratöltés - + Tout sélectionner Összes kiválasztása @@ -9516,368 +11394,368 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Elem Szerkesztő - + &Aide &Segítség - + Annulations Visszavonás - + Parties Alkatrészek - + Informations Információ - + Outils Eszközök - + Affichage Megjelenítés - + Élément Elem - + Annulation Visszavonás - + Exporter en SVG Exportálás SVB-be - + &Fermer cet éditeur &Bezárom ezt a szerkesztőt - + Fermer cet éditeur Bezárom ezt a szerkesztőt - + Désélectionner tout Kiválasztás megszüntetése - + Co&uper Ki&vágás - + Cop&ier M&ásolás - + C&oller &Beilleszt - + C&oller dans la zone &Beillesztés a területre - + Un fichier Egy fájl - + Un élément Egy elem - + À &propos de QElectroTech &A QElectroTech-ről - + Affiche des informations sur QElectroTech Információk megjelenítése a QElectroTech - + Manuel en ligne Interneten elérhető felhasználói kézikönyv - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Az alapértelmezett böngésző elindítása az internetes QElectrotech felhasználói kézikönyvhöz - + Chaine Youtube Youtube csatorna - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Az alapértelmezett böngésző elindítása a QElectrotech Youtube csatornájához - + Soutenir le projet par un don A projekt támogatása adománnyal - + Soutenir le projet QElectroTech par un don A QElectroTech projekt támogatása adománnyal - + À propos de &Qt &Rólunk - + Affiche des informations sur la bibliothèque Qt Információk megjelenítése a Qt könyvtárról - + Rotation Forgatás - + Fine-Rotation Finom elforgatás - + Mirror Tükör - + Flip Átfordítás - + Importer un dxf DXF importálása - + importer un élément à redimensionner Elem importálása átméretezéshez - + Inverser la sélection Kiválasztás megfordítása - + &Supprimer &Törlés - + Éditer le nom et les traductions de l'élément Az elem nevének és fordításának szerkesztése - + Éditer les informations sur l'auteur Szerzői információ szerkesztése - + Éditer les propriétés de l'élément Elem tulajdonságainak szerkesztése - + Annuler Visszavonás - + Refaire Újrakészít - + Profondeur toolbar title Rétegelrendezés - + Zoom avant Nagyítás - + Zoom arrière Kicsinyítés - + Zoom adapté Legnagyobb nézetben - + Pas de zoom Nagyítás alaphelyzetbe állítása - + Ajouter une ligne Vonal rajzolása - + Ajouter un rectangle Négyzet hozzáadása - + Ajouter une ellipse Elipszis hozzáadása - + Ajouter un polygone Sokszög hozzáadása - + Ajouter du texte Szöveg hozzáadása - + Ajouter un arc de cercle Ív hozzáadása - + Ajouter une borne Csatlakozó hozzáadása - + Ajouter un champ texte dynamique Dinamikus szövegmező hozzáadása - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dupla kattintás a forma befejezéséhez, Jobb kattintás az utolsó pont visszavonásához - + Parties toolbar title Alkatrészek - + &Fichier &Fájl - + &Édition &Szerkesztés - + Afficha&ge &Megjelenítés - + Coller depuis... Beillesztés valamiből... - + [Modifié] window title tag [Megváltozott] - + [lecture seule] window title tag [Csak olvasható] - + Aucune modification Nincs módosístás - + Éditeur d'éléments status bar message Elemek szerkesztése - - + + %n partie(s) sélectionnée(s). %n kiválasztott alkatrész. - + Absence de borne warning title Hiányzó csatlakozó - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Csatlakozó nélkül,az elemet nem lehet csatlakoztatni másik elemhez vezetékkel. - + Absence de borne Hiányzó csatlakozó - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br> <b> Hiba </ b>: <br> a tervlap hivatkozásnak muszály rendelkeznie kell egy csatlakozással<br> <b> Megoldás </ b> :<br> Ellenőrízd, hogy az elem csak egy csatlakozással rendelkezik - + La vérification de cet élément a généré message box content Az elem generálásának megerősítése - + %n erreur(s) errors @@ -9885,210 +11763,265 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et és - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs Hiba - + Avertissements Figyelmeztetés - + Le fichier %1 n'existe pas. message box content A %1 fájl nem létezik. - + Afficher menu entry Megjelenítés - - + + Impossible d'ouvrir le fichier %1. message box content Nem lehet a fájlt megnyitni %1. - - + + Ce fichier n'est pas un document XML valide message box content Ez a fájl nem egy felhasználható XML dokumentum - - + + Erreur toolbar title Hiba - - + + Édition en lecture seule message box title Csak olvasható szerkesztés - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nem engedélyezet ennek a elemnek a módosítása. Így, csak olvasható módban fog megnyílni. - - + + Erreur message box title Hiba - + Impossible d'écrire dans ce fichier message box content Nem lehet írni ezt a fájl-t - + Impossible d'enregistrer l'élément message box content Nem lehet a fájlt menteni - + Trop de primitives, liste non générée: %1 Túl sok alkotóelem, a lista nem generálódott: %1 - + Nombre de bornes incorrect Helytelen számú sorkapocs - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Hiba</b>:<br>A vezetődefinícióknak csak egy csatlakozójuk lehet.<br><b>Megoldás</b>:<br>Ellenőrizd, hogy az elemnek csak egy csatlakozója van-e - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Elem szerkesztők - + Ajouter un texte d'élément non éditable dans les schémas Nem szerkeszthető elemszöveg hozzáadása a tervlapokon - + Ajouter un texte d'élément pouvant être édité dans les schémas Szerkeszthető elemszöveg hozzáadása a tervlapokon - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Szélesség + + + + Hauteur + Magasság + + + X: %1 Y: %2 X: %1 Y: %2 - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides A mentés nem sikerült, érvénytelen feltételek miatt - + Exporter en SVG dialog title Exportálás SVB-be - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG megengedett fáljtípus, amikor egy elemet exportálunk SVG-be SVG kép (*.svg) - + Échec de l'export Exportálás sikertelen - + Impossible d'écrire dans le fichier « %1 ». Nem lehet írni ebbe a fájl-ba« %1 ». - + Avertissement Figyelem - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Nagyméretű DXF file importálása eltarthat egy ideig kérlek várd meg a befejezését... - + Importer un élément à redimensionner Elem importálása átméretezéshez - + Éléments QElectroTech (*.elmt) QElectroTech elemek (*.elmt) - + %n avertissement(s) warnings @@ -10096,90 +12029,90 @@ kérlek várd meg a befejezését... - + Impossible d'ouvrir le fichier message box title Nem lehet a fájlt megnyitni - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Úgy tűnik %1 fájl amelyiket megpróbáltad megnyitni nem létezik, vagy nem létezik többé. - + Recharger l'élément dialog title Elem újratöltése - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Az elem módosítva lett az utolsó mentés óta. Ha újratöltöd, ezek a változások elvesznek. Biztosan akarod az elem újratöltését? - - - + + + Echec de l'enregistrement Regisztráció sikertelen - + Enregistrer sous dialog title Mentés más néven - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elemek (*.elmt) - + Enregistrer l'élément en cours ? dialog title Mented a jelenlegi elemet? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Szeretnéd menteni az elemet %1? - + Ouvrir un fichier dialog title Fájl megnyitása - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech projekt(*.qet);;XML fájlok (*.xml);;minden fájl (*) - - - - + + + + Élément inexistant. message box title Nem létező elem. - - + + L'élément n'existe pas. message box content Az elem nem létezik. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content A kiválasztott virtuális elérési útvonal nem tartozik egy elemhez sem. @@ -10188,137 +12121,172 @@ kérlek várd meg a befejezését... QETMainWindow - + &Configurer QElectroTech QElectroTech &konfigurálása - + Permet de régler différents paramètres de QElectroTech status bar tip Engedélyezi a QElectroTech különböző paramétereinek meghatározását - + À &propos de QElectroTech &A QElectroTech-ről - + Affiche des informations sur QElectroTech status bar tip Információk megjelenítése a QElectroTech - + Manuel en ligne Interneten elérhető felhasználói kézikönyv - + Chaine Youtube Youtube csatorna - - + + Télécharger une nouvelle version (dev) Új vezrió letöltése (dev), fejlesztői verzió - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Az alapértelmezett böngésző elindítása az internetes QElectrotech felhasználói kézikönyvhöz - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général Általános - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Az alapértelmezett böngésző elindítása a QElectrotech Youtube csatornájához - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Az alapértelmezett böngésző elindítása a legfrissebb QElectrotech verziójához (Nightly build) - + Soutenir le projet par un don A projekt támogatása adománnyal - + Soutenir le projet QElectroTech par un don status bar tip A QElectroTech projekt támogatása adománnyal - + À propos de &Qt &Rólunk - + Affiche des informations sur la bibliothèque Qt status bar tip Információk megjelenítése a Qt könyvtárról - + Enregistrer un rapport de diagnostic... Diagnosztikai jelentés mentése... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Jelentés generálása, ez tartalmazza a munkamenet legutolsó naplóbejegyzéseit, amelyek egy hibajelentésbe kerülnek - + &Configuration window menu &Beállítások - + &Aide window menu &Segítség - + Sortir du &mode plein écran Teljes &képernyős mód elhagyása - + Affiche QElectroTech en mode fenêtré status bar tip A QElectroTech megjelenítése ablak módban - + Passer en &mode plein écran &Teljes képernyős mód - + Affiche QElectroTech en mode plein écran status bar tip A QElectroTech megjelenítése teljes képernyős módban - + Afficher menu entry Megjelenítés @@ -10327,52 +12295,52 @@ kérlek várd meg a befejezését... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projektek %1 - + Projet sans titre displayed title for a project-less, file-less project Cím nélküli projekt - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [csak olvasható] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [megváltozott] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié Módosított érintkező rendszer - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10383,19 +12351,19 @@ A meglévő alárendelt elemek nem lesznek automatikusan hozzárendelve. Manuál Szeretnéd folytatni? - + Une erreur s'est produite durant l'intégration du modèle. error message Hiba történt a sablon integrációja közben. - + Avertissement message box title Figyelem - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10404,7 +12372,7 @@ ez későbbi verzió a jelenlegihez képest! Jelenleg használt QElectroTech verzió %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10413,32 +12381,32 @@ Lehetséges, hogy a dokumentum teljes egéssze, vagy egy része nem nyitható me Mit szeretnél tenni? - + Avertissement message box title Figyelem - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. A megnyitni próbált projekt részlegesen kompatibilis a QElecroTech %1 verziójával. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? A teljes kompatibilitás elérése érdekében nyissa meg ugyanezt a projektet a QElectroTech 0.8-as vagy 0.80-as verziójával, mentse el a projektet, majd nyissa meg újra ezzel a verzióval. Mit szeretnél csinálni? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Projekt megnyitása ...</b><br/>Tervlap létrehozása</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Projekt megnyitása ...</b><br/>Kereszthivatkozások beállítása</p> @@ -10841,44 +12809,44 @@ Mit szeretnél csinálni? egy grafikus elem - + supprimer %1 undo caption - %1 is a sentence listing the removed content Törlés %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste Beillesztés %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut Kivágás %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content Áthelyezés %1 - + modifier le texte undo caption Szöveg módosítása - + modifier un conducteur undo caption Egy vezető módosítása - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Visszaállítás %1 @@ -10890,7 +12858,7 @@ Mit szeretnél csinálni? szövegmező módosítása - + modifier les dimensions du folio undo caption Tervlap méretének megváltoztatása @@ -10907,6 +12875,7 @@ Mit szeretnél csinálni? + Titre Cím @@ -11130,32 +13099,32 @@ Mit szeretnél csinálni? szöveg csoport - + Folio sans titre Cím nélküli tervlap - + schema Terv - + Conserver les proportions Képarány megtartása - + Réinitialiser les dimensions Méret visszaállítása - + Aperçu Előnézet - + Exporter vers le presse-papier Exportálás a vágólapra @@ -11214,7 +13183,7 @@ Mit szeretnél csinálni? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11222,7 +13191,7 @@ Mit szeretnél csinálni? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11230,7 +13199,7 @@ Mit szeretnél csinálni? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11238,7 +13207,7 @@ Mit szeretnél csinálni? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11246,7 +13215,7 @@ Mit szeretnél csinálni? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11254,7 +13223,7 @@ Mit szeretnél csinálni? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11262,7 +13231,7 @@ Mit szeretnél csinálni? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11270,7 +13239,7 @@ Mit szeretnél csinálni? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11278,85 +13247,85 @@ Mit szeretnél csinálni? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? A szövegfájl, ami a GNU/GPL engedélyt tartalmazza nem található - viszont, Te ezt a szíveddel érzed, ugye? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? A szövegfájl, ami a GNU/GPL engedélyt tartalmazza létezik, de nem lehetet megnyitni - viszont, Te ezt a szíveddel érzed, ugye? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file %1 fájlt nem lehet megnyitni az íráshoz, %2 hiba történt. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Hiba történt a fijl írása közben %1, %2 hiba történt. - + Amener au premier plan Előre hoz - + Rapprocher Emel - + Éloigner Süllyeszt - + Envoyer au fond Hátra küld - + Ramène la ou les sélections au premier plan A kiválasztás(ok) előre hozása - + Rapproche la ou les sélections A kiválasztás(ok) közelítése - + Éloigne la ou les sélections A kiválasztás(ok) távolítása le - + Envoie en arrière plan la ou les sélections A kiválasztás(ok) hátra küldése - - - - + + + + Profondeur Mélység - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Figyelem: a QElectrotech sokkal régebbi verziójával lett elmentve. - + Borne tooltip Sorkapocs @@ -11510,6 +13479,7 @@ Mit szeretnél csinálni? Projekt tulajdonságok + Modifier les informations de l'élément : %1 Elem információjának szerkesztése : %1 @@ -11560,22 +13530,22 @@ Mit szeretnél csinálni? Tervlap szám - + Collection QET QET gyűjtemény - + Collection Company Gyári gyűjtemény - + Collection utilisateur Felhasználói gyűjtemény - + Macros @@ -11584,12 +13554,12 @@ Mit szeretnél csinálni? Makrók - + Collection inconnue Ismeretlen gyűjtemény - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. A(z) „%1” fájl hiányzik vagy olvashatatlan: A lefordított mappa név nem olvasható, ezért helyette a mappa neve jelenik meg. @@ -11604,8 +13574,13 @@ A lefordított mappa név nem olvasható, ezért helyette a mappa neve jelenik m Collection Gyűjtemény + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11676,20 +13651,20 @@ A lefordított mappa név nem olvasható, ezért helyette a mappa neve jelenik m %1 szöveg csoport - + %n texte(s) - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Kiválasztott szöveg tájolása @@ -11738,13 +13713,13 @@ Cserélni akarod? Szöveg beállítás importálása : %1 - + %p% effectué (%v sur %m) %p% kész (%v on %m) - - + + chargement %p% (%v sur %m) betöltés %p% (%v on %m) @@ -11754,22 +13729,22 @@ Cserélni akarod? Keresés / csere tervlap tulajdonságok - + Chercher/remplacer les propriétés d'éléments. Keresés / csere elem tulajdonságok. - + Chercher/remplacer des textes independants Keresés / csere független szövegek - + Chercher/remplacer les propriétés de conducteurs. Keresés / csere vezeték tulajdonságok. - + Rechercher / remplacer avancé Keresés / csere haladó beállítások @@ -11866,35 +13841,35 @@ Cserélni akarod? - - - + + + Type Típus - - - + + + Adresse Cím - - - + + + Commentaire Megjegyzés - - - + + + Réf. croisée Kereszthivatkozás @@ -11902,9 +13877,9 @@ Cserélni akarod? - - - + + + Fonction Funkció @@ -12234,27 +14209,27 @@ Cserélni akarod? A mentett fájl elérési útvonala - + Création de conducteurs Vezetékek létrehozása - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> A qet_tb_generator beépülő modul telepítésehez<br>Látogass el:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Szükséges hozzá python 3.5 vagy, magasabb verziója.<br><B><U> Első telepítés Windowson</B></U><br>1. Python 3.5 vagy, magasabb verziójának telepítése, ha szükséges<br> Látogass el :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. parancssorba gépelve: pip install qet_tb_generator<br><B><U> Frissítés Windowson</B></U><br>parancssorba gépelve: python -m pip install --upgrade qet_tb_generator<br>>>a felhasználó ezt a script-et a terminálban indíthatja el és ebben a könyvtárban található <br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> (XXXX a felhasználó neve) - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> A qet_tb_generator beépülő modul telepítésehez<br>Látogass el:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Első telepítés macOSX-en</B></U><br> 1.-Szükséges hozzá python 3.11 verziója.<a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Futtasd a Profile.command script-et<br>mert a program lokalizációhoz rögzített útvonalat használ qet-tb-generator beépülő modul <br> Látogass el :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>útmutató</a><br>2. pip3 install qet_tb_generator<br><B><U> Frissítés macOSX-en</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> A qet_tb_generator beépülő modul telepítésehez<br>Látogass el :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Szükséges hozzá a python 3.5 vagy magasabb verzió.<br><br><B><U> Első telepítés Linuxon</B></U><br>1.Ellenőrízd, hogy telepítve van-e: pip3 --version<br>Ha nincs, akkor töltsd le ezzel: sudo apt-get install python3-pip<br>2. Telepítsd a programot ezzel: sudo pip3 install qet_tb_generator<br>3. Futtasd a programot ezzel: qet_tb_generator<br><br><B><U> Frissítés Linuxon</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Hiba a qet_tb_generator beépülő modul indítással @@ -12274,15 +14249,15 @@ Cserélni akarod? Beilleszt - - + + - - - - - - + + + + + + this is an error in the code ez egy hiba a programkódban @@ -12483,12 +14458,12 @@ Cserélni akarod? Áthidalás színének megváltoztatása - + Ouvrir un element Egy elem megnyitása - + Importer un fichier dxf DXF fájl importálása @@ -12578,7 +14553,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Kérlek, töltsd le az alábbi linkről, és csomagod ki a telepítési mappába - + Automatic terminal numbering Automata sorkapocs számozás @@ -12660,7 +14635,7 @@ Kérlek, töltsd le az alábbi linkről, és csomagod ki a telepítési mappába - + %n groupe(s) de textes @@ -12668,8 +14643,8 @@ Kérlek, töltsd le az alábbi linkről, és csomagod ki a telepítési mappába - - + + Déplacer %1 @@ -12790,97 +14765,109 @@ Kérlek, töltsd le az alábbi linkről, és csomagod ki a telepítési mappába - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + - + Ajouter %1 Hozzáad %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Szöveg színének változtatása - + Pivoter un texte - + Modifier le trait d'une forme Alakzat vonalának szerkesztése - + Modifier le remplissage d'une forme Alakzat kitöltésének módosítása - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Az elem szövegének szerkesztése - + Numéroter automatiquement un élément Egy elem automatikus számozása - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12888,6 +14875,45 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + Dégrouper %n objet(s) + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Tervlap + QTextOrientationWidget @@ -12907,371 +14933,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. A megjelenített információ nagyobb, mint a maximális mennyiség, amit a táblázat meg tud jeleníteni. Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő méretre az összes információ láthatóvá tételéhez. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. A megjelenített információ nagyobb, mint a maximális mennyiség, amit a táblázat meg tud jeleníteni. Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő méretre, az összes információ láthatóvá tételéhez. - + Limitation de tableau Táblázat korlátozása - + Modifier la géometrie d'un tableau A táblázat méretének a módosítása + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Pont felvétele - + Supprimer ce point Pont törlése - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Méret - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Pont hozzáadása egy sokszöghöz - + Supprimer un point d'un polygone Pont törlése egy sokszögből - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Szerkesztés %1 - + une ligne a vonal - + un rectangle négyszög - + une éllipse elipszis - + un arc - + une polyligne vonallánc - + une courbe - + une shape a forma @@ -13353,7 +15440,7 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő Szövegcímke - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Az elem « %1 » már létezik. Mit kíván tenni? @@ -13361,31 +15448,73 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + Folio + Tervlap + + + + Élément + Elem + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13409,9 +15538,9 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő - - - + + + Ne pas modifier Ne módosítsa @@ -13531,97 +15660,97 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő fázis - - + + Nombre de phase Fázisok száma - + Neutre Nulla - + neutre nulla - + Terre Föld - + terre föld - + TextLabel Szövegcímke - + PushButton Nyomógomb - + Apparence Megjelenés - + Taille : Méret : - - + + Couleur : Szín : - + Style : Stílus : - - + + Modifier Szerkesztés - + Couleur secondaire : Másodlagos szín : - + Taille de trait : Vonalméret : - + px pixel - + Trait plein conductor style: solid line Folyamatos vonal - + Trait en pointillés conductor style: dashed line Szagatott vonal - + Traits et points conductor style: dashed and dotted line Szaggatott pontvonal @@ -13630,7 +15759,7 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő ReplaceElementDialog - + Ne pas modifier Ne módosítsa @@ -13672,10 +15801,10 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő - - - - + + + + Ne pas modifier Ne módosítsa @@ -13735,7 +15864,7 @@ Kérlek adj hozzá egy új táblázatot, vagy igazítsd a meglévőt megfelelő Jelenlegi dátum beállítása - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13748,38 +15877,38 @@ A következő változók használhatók: -%autonum: tervlap automatikus számozás - + Disponible en tant que %locmach pour les modèles de cartouches Elérhető változó %elhelyezkedés a szövegmezőhöz - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Elérhető változóként %berendezés a szövegmezőhöz</p></body></html> - + Titre : Cím: - - - - - - - + + + + + + + Supprimer ce texte Ennek a szövegnek a törlése - + Personnalisées Testre szabás - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Itt adhatod meg saját neved/értéket társítást, tehát a szövegmező őket veszi figyelembe. Például: társítjuk a „volta” nevet a „1745” számmal, akkor a %{volta} cserélve lesz a 1745-tel a szövegmezőben. @@ -13817,6 +15946,185 @@ Hozd létre saját szövegedet a következő változók használatával: %c: az oszlop száma + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Új + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + &Bezár + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13840,82 +16148,82 @@ Hozd létre saját szövegedet a következő változók használatával: Menj a következő egyezéshez - + Aller à la correspondance précédente Menj az előző egyezéshez - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Láthatóvá teszi a haladó beállításokat</p></body></html> - + Champ texte de folio Tervlap szövegmező - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>A tervlapokon cserélendő tulajdonságok meghatározása</p></body></html> - + Folio Tervlap - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Az elemekben cserélendő tulajdonságok meghatározása</p></body></html> - + Élément Elem - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Az vezetőkben cserélendő tulajdonságok meghatározása</p></body></html> - + Conducteur Vezeték - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>A kiválasztott megegyezők cseréje</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>A megjelölt megegyezések cseréje</p></body></html> - + avancé Haladó - + Quitter Kilépés - + Remplacer : Kicserél : - + Remplacer Kicserél - + Tout remplacer Az összes kicserélése @@ -13935,105 +16243,105 @@ Hozd létre saját szövegedet a következő változók használatával: Keresés : - + Actualiser Frissítés - + Correspondance : Megegyezés: - + Folios Tervlap - + Champs texte Szövegmező - + Eléments Elemek - + Eléments simple Egyszerű elemek - + Eléments maître Mester elemek - + Eléments esclave Alárendelt elemek - + Eléments report de folio Tervlap hivatkozás elemek - + Eléments bornier Csatlakozó elemek - + Sélectionner les éléments de ce folio Válaszd ki ennek a tervlapnak az tervjeleit - + Sélectionner les conducteurs de ce folio Válaszd ki ennek a tervlapnak a vezetőit - + Sélectionner les textes de ce folio Válaszd ki ennek a tervlapnak az szövegeit - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [szerkesztett) - + Conducteurs Vezetékek - + Inconnue Ismeretlen @@ -14061,53 +16369,81 @@ Hozd létre saját szövegedet a következő változók használatával: Számozás törlése - + Définition Meghatározás - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Számozás változójának törlése</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Számozás változójának hozzáadása</p></body></html> - Précédent - Előző + Előző - Suivant - Következő + Következő - + Type Típus - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Érték - + Incrémentation Növekmény - + + Annuler + Visszavonás + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Tervlap automatikus számozása - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14135,7 +16471,7 @@ A „;Növekedés”; mező nincs használva. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14173,13 +16509,13 @@ A többi mező nincs használva. A többi mező nincs használva. - + Element Autonumérotation title window Elem automatikus számozása - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14220,7 +16556,17 @@ A többi mező nincs használva. A többi mező nincs használva. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Vezetékek számozása @@ -16613,12 +18959,12 @@ A többi mező nincs használva. Információ kijelzése - + Configuration Konfiguráció - + Requête SQL : SQL igénylés : @@ -16628,6 +18974,17 @@ A többi mező nincs használva. Pozíció + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + TerminalEditor @@ -16962,58 +19319,58 @@ A többi mező nincs használva. Diszpozíció - + Ponter les bornes Sorkapcsok áthidalása - + Déponter les bornes Áthidalás eltávolítása - + Propriétés Tulajdonságok - + Nom : Neve: - + Commentaire : Megjegyzés : - + Description Részletezés - + Installation : Beépítés üzem/gyár: - + Localisation : Helye : - + Type : Típus : - + Degrouper les bornes Sorkapocs tömb felbontása - - + + Générique Általános @@ -17028,62 +19385,62 @@ A többi mező nincs használva. Mozgatás - + Couleur pont : Áthidalás színe : - + Fusible Biztosíték - + Sectionnable Megosztható - + Diode Dióda - + Terre Földelés - + Déplacer dans : Mozgatás : - + Phase Fázis - + Neutre Nulla - + Position automatique Automatikus pozíció - + Étage : sziget : - + Grouper les bornes Sorkapocsok csoportba foglalása - + Fonction : Funkció : @@ -17098,7 +19455,7 @@ A többi mező nincs használva. Vele - + LED : LED : @@ -17126,32 +19483,32 @@ A többi mező nincs használva. Eszköztár - + Ajouter un bornier Sorkapocs hozzáadása - + Ajouter un bornier au projet Sorkapocstömb hozzáadása a projekthez - + Supprimer le bornier Sorkapocs eltávolítása - + Supprimer le bornier du projet Sorkapocstömb törlése a projektből - + Recharger Újratöltés - + Recharger les borniers Sorkapcsok újratöltése @@ -17381,12 +19738,12 @@ A többi mező nincs használva. Sorkapocs léc/tömb felkereső - + Projet sans titre Cím nélküli projekt - + Bornes indépendante Független sorkapcsok @@ -17489,7 +19846,7 @@ A többi mező nincs használva. Letöltés - + Dossier installation Telepítési könyvtár @@ -17497,37 +19854,37 @@ A többi mező nincs használva. TitleBlockDimensionWidget - + Largeur : default dialog label Szélesség : - + Absolu a traditional, absolute measure Abszolút - + Relatif au total a percentage of the total width A teljes szélesség százaléka - + Relatif au restant a percentage of what remains from the total width A teljes szélességből megmaradt százaléka - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17551,77 +19908,77 @@ A többi mező nincs használva. Sablon: - + Principales Fő - + Auteur : Szerző: - + Disponible en tant que %locmach pour les modèles de cartouches Elérhető változóként %locmach a szövegmezőhöz - + Pas de date Nincs dátum - + Date courante Jelenlegi dátum - + Appliquer la date actuelle Jelenlegi dátum beállítása - + Disponible en tant que %date pour les modèles de cartouches Elérhető változóként %dátum a szövegmezőhöz - + Date fixe : Rögzített dátum: - + Date : Dátum: - + Fichier : Fájl: - + Disponible en tant que %title pour les modèles de cartouches Elérhető változóként %cím a szövegmezőhöz - + Titre : Cím: - + Disponible en tant que %author pour les modèles de cartouches Elérhető változóként %szerző a szövegmezőhöz - + Folio : Tervlap: - + Disponible en tant que %filename pour les modèles de cartouches Elérhető változóként %fájlnév a szövegmezőhöz @@ -17631,17 +19988,17 @@ A többi mező nincs használva. <html> <head/><body><p>Beállítja a szövegmezőt a lap aljára (vízszintesen) vagy jobb oldalra (függőlegesen) .</p></body></html> - + Indice Rev: Revízió: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Elérhető változóként %berendezés a szövegmezőhöz</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17654,61 +20011,62 @@ A következő változók használhatók: -%autonum: tervlap automatikus számozás - + Page Num: Lap szám: - + Installation : Beépítés: - + Disponible en tant que %indexrev pour les modèles de cartouches Elérhető változóként %revízió a szövegmezőhöz - + Localisation: Elhelyezkedés : - + Personnalisées Testre szabás - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Itt adhatod meg saját neved/értéket társítást, tehát a szövegmező őket veszi figyelembe. Például: társítjuk a „volta” nevet a „1745” számmal, akkor a %{volta} cserélve lesz a 1745-tel a szövegmezőben. - + Éditer ce modèle menu entry Sablon szerkesztése - + Dupliquer et éditer ce modèle menu entry Ennek a sablonnak a duplikálása és szerkesztése - + Title block templates actions Szövegmező sablonok cselekmények - - + + + Créer un Folio Numérotation Auto Tervlap automatikus számozása létrehozása - + Modèle par défaut Alapértelmezett sablon @@ -17716,13 +20074,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18221,50 +20579,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title Alkatrész 1 - + Borne 1 column title Sorkapocs 1 - + Composant 2 column title Alkatrész 2 - + Borne 2 column title Sorkapocs 2 - + Folio column title Tervlap - - + + %n conducteur(s) listé(s). wiring list summary @@ -18272,7 +20630,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18283,96 +20641,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Hiba - + Impossible de lire la structure en mémoire du projet. A projekt memóriában tárolt részét nem sikerült beolvasni. - + Exporter le plan de câblage Kábelterv exportálása - + Fichiers CSV (*.csv) CSV fájl (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Nem lehet a fájlt megnyitni íráshoz. - + Page Wiring list CSV header Lap - + Composant 1 Wiring list CSV header Alkatrész 1 - + Borne 1 Wiring list CSV header Sorkapocs 1 - + Composant 2 Wiring list CSV header Alkatrész 2 - + Borne 2 Wiring list CSV header Sorkapocs 2 - + Tension / Protocole Wiring list CSV header Feszültség / Protokol - + Couleur du fil Wiring list CSV header Vezető színe - + Section du fil Wiring list CSV header Vezető keresztmetszete - + Fonction Wiring list CSV header Funkció - + + Câble + Wiring list CSV header + Kábel + + + Export réussi Sikeres exportálás - + Le plan de câblage a été exporté avec succès ! Kábelterv exportálása sikeres! + + WiringRulesWarning + + + Avertissement + Figyelem + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18587,27 +20964,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet A belső projekt adatbázis exportálása - + sans_nom cím nélkül @@ -18615,7 +20992,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Szöveg szín @@ -18623,7 +21000,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML elem beszúrás @@ -18631,27 +21008,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Szöveg szerkesztése - + Rich Text Rich Text formátum - + Source Forrás - + &OK &OK - + &Cancel &Mégse @@ -18659,69 +21036,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Félkövér - - - + + + Éditeur de texte Szövegszerkesztő - + Texte en italique Dőlt - + Texte souligé Aláhúzott - + Left Align Balra igazítás - + Center Középre - + Right Align Jobbra igazítás - + Justify Sorkizárás - + Superscript Felső index - + Subscript Alsó index - + Insérer un lien Kapcsolat beszúrása - + Insert &Image Kép &beszúrása - + Simplify Rich Text Egyszerű Rich Text formátum diff --git a/lang/qet_it.ts b/lang/qet_it.ts index 4ba81bc77..10e48041e 100644 --- a/lang/qet_it.ts +++ b/lang/qet_it.ts @@ -54,272 +54,272 @@ log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, applicazione per il disegno di schemi elettrici. - + Les développeurs de QElectroTech about tab, developers line Gli sviluppatori di QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contatto : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Idea originale - - + - - + + + Développement Sviluppo - + Convertisseur DXF Convertitore DXF - + Plugin Bornier Plugin Morsettiera - + Collection Collezione - + Traduction en espagnol Traduzione in spagnolo - + Traduction en russe Traduzione in russo - + Traduction en portugais Traduzione in portoghese - + Traduction en tchèque Traduzione in ceco - + Traduction en polonais Traduzione in polacco - + Traduction en allemand Traduzione in tedesco - + Traduction en roumain Traduzione in rumeno - + Traduction en italien Traduzione in italiano - + Traduction en arabe Traduzione in arabo - + Traduction en croate Traduzione in croato - + Traduction en catalan Traduzione in catalano - + Traduction en grec Traduzione in greco - + Traduction en néerlandais Traduzione in olandese - + Traduction en flamand Traduzione in fiammingo - + Traduction en danois Traduzione in danese - + Traduction en brézilien Traduzione in brasiliano - + Traduction en Turc Traduzione in turco - + Traduction en hongrois Traduzione in ungherese - + Traduction en serbe Traduzione in serbo - + Traduction en japonais Traduzione in giapponese - + Traduction en coréen - + Traduction en mongol Traduzione in mongolo - + Paquets Fedora et Red Hat Pacchetti per Fedora e Red Hat - + Paquets Mageia Pacchetti per Mageia - + Paquets Debian Debian packages - + Paquets Gentoo Gentoo packages - + Paquets OS/2 Pacchetti per OS/2 - + Paquets FreeBSD Pacchetti per FreeBSD - + Paquets MAC OS X Pacchetti MAC OS X - + Paquets Archlinux AUR Pacchetti per Archlinux AUR - + Icônes Icons - + Documentation Documentazione - + Collection d'éléments Collezione di elementi - + Redimensionneur d'éléments Element scaler Ridimensionamento degli elementi - + Convertisseur d'élément DXF Dxf2elmt Conversione elementi DXF - + Outil de traduction d'éléments Qet_translate - + Paquets Snap Pacchetti Snap - + Traduction en ukrainien Traduzione in ucraino - + Traduction en norvégien Traduzione in norvegese - + Traduction en slovène Traduzione in sloveno - + Générateur d'élément lambda Lambda element generator Generatore elementi lambda @@ -357,7 +357,7 @@ Allineamento : - + Sélectionner la police des cellules du tableau Selezionare il carattere della tabella @@ -390,7 +390,7 @@ Aggiungta di una pagina e tabella se necessario. - + Sélectionner la police des en tête du tableau Selezionare il carattere della tabella @@ -422,7 +422,7 @@ Margine : - + Contenu Contenuto @@ -456,6 +456,134 @@ Aggiunge il piano di terminali seguente : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ verticale: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -510,12 +671,12 @@ Selezione numerazione automatica - + Configurer les règles d'auto numérotation Impostare le regole di numerazione automatica - + Conducteur Conduttore @@ -536,47 +697,125 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Elemento - + Configurer Configurare - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Numerazione automatica + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -603,12 +842,62 @@ Da - + Built Creazione - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Gestione Numerazione automatica @@ -629,7 +918,7 @@ Alle posizioni selezionate - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -661,7 +950,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Alle pagine selezionate - + Under Development In sviluppo @@ -682,7 +971,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Solo esistenti - + Installing Installazione @@ -717,12 +1006,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa BOMExportDialog - + Enregister sous... Salva vn nome... - + Fichiers csv (*.csv) Files csv (*.csv) @@ -732,46 +1021,46 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Dialogo - - + + Erreur Errore - + Position Posizione - + Quantité numéro d'article Special field with name : designation quantity uantita' dell'articolo - + Requête refusée - + Erreur dans la requête : %1 - + nomenclature_ parts list_ - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position du folio Posizione della pagina @@ -823,6 +1112,27 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1179,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa ClickableImageLabel - + Cliquez pour choisir une couleur @@ -890,8 +1200,8 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa CompositeTextEditDialog - - + + Entrée votre texte composé ici, en vous aidant des variables disponible INserire il proprio testo composto qui, con l'aiuto delle variabili disponibili @@ -909,13 +1219,13 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Conductor - + Modifier les propriétés d'un conducteur undo caption Modifica le proprietà di un conduttore - + Modifier les propriétés de plusieurs conducteurs undo caption Modifica le proprietà di più conduttori @@ -924,73 +1234,73 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa ConductorColorToolButton - + Noir Nero - + Marron Marrone - + Gris Gray - + Bleu Blu - + Vert Verde - + Rouge Rosso - + Orange Arancione - + Violet Viola - + Blanc Bianco - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -999,7 +1309,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa - + Choisir une couleur de conducteur @@ -1017,13 +1327,13 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Applicare le proprietà a tutti i conduttori connessi a questo potenziale - + Modifier les propriétés d'un conducteur undo caption Modifica le proprietà di un conduttore - + Modifier les propriétés de plusieurs conducteurs undo caption Modifica le proprietà di più conduttori @@ -1032,24 +1342,33 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Applicare le proprietà a tutti i conduttori connessi a questo potenziale + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption Modifica le proprietà di un conduttore - + Modifier les propriétés de plusieurs conducteurs undo caption Modifica le proprietà di più conduttori - + Conducteur Conduttore @@ -1057,12 +1376,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa ConductorPropertiesWidget - + px px - + PEN PEN @@ -1077,37 +1396,38 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Tipo - + bus bus - + Phase Fasi - + Terre Terra + Texte Testo - + cable Cavo - + phase fase - + terre terra @@ -1117,7 +1437,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Numerazione automatica - + Protective Earth Neutral Neutro con funzione di terra (sistema TN-C) @@ -1137,18 +1457,18 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Mostra un solo testo per ogni potenziale nella pagina. - - + + Nombre de phase Numero di fasi - + Neutre Neutro - + Apparence Aspetto @@ -1163,7 +1483,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Dimensione del testo - + neutre neutro @@ -1174,6 +1494,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa + Texte visible Testo visibile @@ -1184,7 +1505,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa &Multifilare - + Taille : Dimensione: @@ -1199,7 +1520,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Dimensione del testo: - + Taille de trait : Dimensione del tratto: @@ -1209,8 +1530,8 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Verticale a destra - - + + Style du conducteur Stile del conduttore @@ -1235,7 +1556,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Funzione : - + Style : Stile: @@ -1250,52 +1571,69 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Colore del testo: - + Couleur secondaire : Colore secondario : - - + + Couleur : Colore : - + Formule du texte : Formula del testo : - + Couleur du conducteur Colore del conduttore - - + + Unifilaire Unifilare - + TextLabel Etichetta - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Linea continua - + Trait en pointillés conductor style: dashed line Linea tratteggiata - + Traits et points conductor style: dashed and dotted line Trattino punto @@ -1317,128 +1655,152 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Tipo - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Annulla - + Normalement ouvert Normalmente aperto - + Normalement fermé Normalmente chiuso - + Inverseur Contatto in scambio - + Autre - - + + Inconnu - + Simple Semplice - + Puissance Potenza - + Temporisé travail Ritardo all'eccitazione - + Temporisé repos Ritardo alla diseccitazione - + Temporisé travail & repos Ritardo all'eccitazione e diseccitazione + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1468,27 +1830,27 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Errore - + Impossible d'écrire dans le fichier « %1 ». @@ -1496,7 +1858,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Diagram - + Modifier la profondeur Modificare la profondità @@ -1636,7 +1998,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1653,262 +2015,330 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image una immagine - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Selezionare un'immagine... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Errore - + Impossible de charger l'image. Impossibile caricare l'immagine. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1916,7 +2346,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagramPropertiesDialog - + Propriétés du folio window title Proprietà della pagina @@ -1925,12 +2355,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagramTextItem - + Maintenir ctrl pour un déplacement libre Tenere premuto CTRL per uno spostare liberamente - + <Shift> to move @@ -1939,78 +2369,84 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Questa è l'area in cui si progettano gli schemi con l'aggiunta di elementi, unendo i loro terminali tramite i conduttori. È anche possibile aggiungere dei testi indipendenti. - + Coller ici context menu action Incollare qui - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Modifier les propriétés d'un conducteur undo caption Modifica le proprietà di un conduttore - + X: %1 Y: %2 - + Connecter les bornes sélectionnées Collegare i morsetti selezionati - + Sans titre what to display for untitled diagrams Senza titolo - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Errore - + Le fichier n'a pas pu être écrit. - + Collage multiple Multi-copia - + Choisir la nouvelle couleur de ce conducteur Scegliere il nuovo colore di questo conduttore @@ -2028,7 +2464,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Attendere prego - + TextLabel Etichetta @@ -2036,42 +2472,42 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Alto - + Bas Basso - + Gauche Sinistra - + Droite - + Direction : @@ -2079,17 +2515,17 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DynamicElementTextItem - + Texte Testo - + Éditer un texte d'élément Modifica un testo dell'elemento - + Redimensionner un texte d'élément @@ -2098,10 +2534,10 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DynamicElementTextItemEditor - - - - + + + + ... ... @@ -2136,7 +2572,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Inserire il nome del nuovo gruppo - + Ajouter un groupe de textes Aggiungere un gruppo di testi @@ -2146,7 +2582,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Testi - + Supprimer la sélection Eliminare la selezione @@ -2156,12 +2592,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Esporta la configurazione corrente dei testi - + Ajouter un texte Aggiungere un testo - + Importer une configuration de texte Importa una configurazione dei testi @@ -2228,14 +2664,14 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa - + Centre Centro - + Droite Destro @@ -2247,7 +2683,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa - + Gauche Sinistra @@ -2395,13 +2831,13 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Modulo - - + + Déplacer un champ texte Spostare un campo di testo - + Modifier l'information d'un texte Modifica le informazioni di un testo @@ -2411,27 +2847,27 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Informazione dell'elemento - + Modifier la largeur d'un texte Modifica la larghezza di un testo - + Modifier la source de texte, d'un texte Modificare la sorgente di un testo - + Modifier la couleur d'un champ texte Modifica il colore di un campo di testo - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2441,13 +2877,13 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Larghezza - - + + Modifier la police d'un champ texte Modificare il carattere di un campo di testo - + Pivoter un champ texte Ruotare un campo di testo @@ -2457,7 +2893,7 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Carattere - + Modifier le texte d'un champ texte Modificare il testo di un campo di testo @@ -2472,12 +2908,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Testo utente - + Modifier le cadre d'un champ texte Modifica la cornice di un campo di testo - + Modifier l'alignement d'un champ texte Modificare l'allineamento di un campo di testo @@ -2521,32 +2957,32 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa DynamicTextItemDelegate - + Information de l'élément Informazione dell'elemento - + Centre Centro - + Droite Destro - + Gauche Sinistra - + Texte utilisateur Testo utente - + Texte composé Testo composto @@ -2554,12 +2990,12 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,154 +3036,227 @@ Nota: queste opzioni non consentono attivare o disattivare la numerazione automa Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Aprire un elemento - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Scegliere l'elemento che si vuole aprire. - + Enregistrer un élément dialog title Salvare un elemento - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Scegliere l'elemento in cui salvare la definizione. - + Ouvrir une catégorie dialog title Aprire una categoria - - + + Choisissez une catégorie. dialog content Scegliere una categoria. - + Enregistrer une catégorie dialog title Salvare una categoria - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Label Etichetta - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Selezione inesistente - + La sélection n'existe pas. message box content La selezione non esiste. - - + + Sélection incorrecte message box title Selezione errata - + La sélection n'est pas un élément. message box content La selezione non è un elemento. - + Écraser l'élément ? message box title Sovrascrivere l'elemento? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content L'elemento esiste già. Sovrasciverlo? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content È necessario selezionare un elemento o una categoria con un nome per l'elemento. - + Titre Titolo - + Nom du nouveau dossier Nome della nuova cartella @@ -2764,18 +3273,24 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Supprimer ce texte Cancella questo testo + + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + TextLabel Testo - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2793,104 +3308,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informazioni - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Annulla - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2906,8 +3531,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Tipo @@ -2917,230 +3542,230 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Tipo di contatto - + Renvoi de folio suivant Riferimento alla pagina successiva - + Vignette Miniature - + Définition de conducteur - + Other - + Esclave PLC - - + + Puissance Potenza - + Module PLC - - + + Générique Generico - + Fusible Fusibile - + Séctionnable - + Diode Diodo - + Phase Fasi - + Neutre Neutro - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Commento - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Nessuno - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Terra - - + + Normalement fermé Normalmente chiuso @@ -3150,14 +3775,14 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Stato del contatto - - + + Normalement ouvert Normalmente aperto - - + + Temporisé travail & repos Ritardo all'eccitazione e diseccitazione @@ -3167,25 +3792,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Elemento Master - + Maître Master - + Bobine Bobina - - + + Temporisé travail Ritardo all'eccitazione - - - + + + Simple Semplice @@ -3238,8 +3863,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Funzione @@ -3264,28 +3889,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Tipologia di base: - + Organe de protection Protezione - + Bornier Morsettiera - + Commutateur / bouton Commutatore / Bottone - + Renvoi de folio précédent Riferimento alla pagina precedente - - + + Temporisé repos Ritardo alla diseccitazione @@ -3300,13 +3925,13 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Valore - + Esclave Slave - - + + Inverseur Contatto in scambio @@ -3351,7 +3976,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Elemento @@ -3447,124 +4072,124 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Modulo - + Tous Tutti - + Filtre : Filtrato : - + Pas de filtre Senza filtro - + N'est pas vide Non è vuoto - + Ajouter la sélection Aggiungi alla selezione - + Contient Contiene - + Borniers Blocchi terminali - + Position Posizione - - + + Exporter Esporta - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Errore - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3574,7 +4199,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Spostare in alto la selezione - + Configuration Configurazione @@ -3584,92 +4209,92 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Informazioni disponibili - + Titre du folio Titolo della pagina - + Supprimer la sélection Rimuovere la selezione - + Requête SQL personnalisée Richiesta SQL personalizzata - + Ouvrir la configuration sélectionné Aprire la configurazione selezionata - + Numéro du folio Numero della pagina - + Simples Semolice - + Boutons et commutateurs Pulsante e interruttore - + Est vide E' vuoto - + Est égal à E' uguale a - + N'est pas égale à Non è uguale a - + Vignettes - + Automates (MAE/SPS) - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL : Richiede SQL : - + Type d'éléments Tipo di elementi @@ -3679,32 +4304,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Informazioni da esportare - + Descendre la sélection Scorri la selezione verso il basso - + Organes de protection Organismi di protezione - + Position du folio Posizione della pagina - + Contacteurs et relais Contattori e relè - + Ne contient pas Non contiene - + Sauvegarder la configuration actuelle Salva la cnfigurazione attuale @@ -3712,29 +4337,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Éditer les informations sur l'auteur window title Modifica le informazioni sull'autore - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Usare questo campo per specificare l'autore dell'elemento, la sua licenza, o qualunque altra informazione utile. - + Éditer les noms window title Modificare i nomi - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Inserire il nome dell'elemento in più lingue. - + Déplacer une primitive Spostare una primitiva @@ -3742,102 +4367,102 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title L'oggetto non è una categaria - + L'item demandé n'est pas une categrie. Abandon. message box content L'oggetto richiesto non è una catogoria. Abbandono. - + Catégorie inexistante message box title Categoria inesistente - + La catégorie demandée n'existe pas. Abandon. message box content La categoria richiesta non esiste. Abbandono. - + Éditer une catégorie window title Modificare una categoria - + Créer une nouvelle catégorie window title Creare una nuova categoria - + Nom de la nouvelle catégorie default name when creating a new category Nome della nuova categoria - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Non si ha il permesso di modificare questa categoria. Sarà perciò aperta in sola lettura. - + Nom interne : Nome interno: - + Nom interne manquant message box title Nome interno mancante - + Vous devez spécifier un nom interne. message box content Specificare un nome interno. - + Nom interne déjà utilisé message box title Nome interno già in uso - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Il nome interno scelto è già usato per un'altra categoria. Indicarne uno diverso. - + Erreur message box title Errore - + Impossible de créer la catégorie message box content Impossibile creare la categoria - + Vous pouvez spécifier un nom par langue pour la catégorie. Specificare un nome per lingua per la categoria. @@ -3845,22 +4470,22 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Chemin de la collection : %1 Percorso della collezione: %1 - + Propriété du dossier Proprietà della cartella - + Nouvel élément Nuovo elemento - + dans %n dossier(s). in %n directory. @@ -3868,53 +4493,53 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Afficher uniquement ce dossier Visualizza solo questa cartella - + Ouvrir le dossier correspondant Aprire la cartella corrispondente - + Éditer l'élément Modificare l'elemento - + Nouveau dossier Nuova cartella - + Importer une pièce EPLAN (.edz)… - + Rechercher... - + Collections Collezioni - + Modèles - + Supprimer l'élément ? message box title Cancellare l'elemento? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3922,25 +4547,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Cancellazione elemento - + La suppression de l'élément a échoué. message box content La cancellazione dell'elemento è fallita. - + Supprimer le dossier? message box title Eliminare la cartella? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3948,24 +4573,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Cancellazione della cartella - + La suppression du dossier a échoué. message box content La cancellazione della cartella è fallita. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3981,63 +4606,63 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Chemin dans le système de fichiers : %1 Percorso nel file system: %1 - + Propriété du dossier %1 Proprietà della cartella %1 - + Afficher tous les dossiers Visualizza tutte le cartelle - + Le dossier %1 contient La cartella %1 contiene - + Supprimer le dossier Eliminare la cartella - + %n élément(s), répartie(s) %n elemento, riparato @@ -4045,17 +4670,17 @@ En important ce fichier, vous confirmez que : - + Éditer le dossier Modificare la cartella - + Recharger les collections Ricaricare le collezioni - + Supprimer l'élément Cancellare l'elemento @@ -4125,124 +4750,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Remonter ce folio x10 Porta in su la pagina di 10 - + Nouveau modèle Nuovo modello - + Propriétés du folio Proprietà della pagina - + Remonter ce folio Porta su questa pagina - + Supprimer ce modèle Cancellare questo modello - + Éditer ce modèle Modificare questo modello - + Fermer ce projet Chiudere questo progetto - + Ouvrir le dossier correspondant Aprire la cartella corrispondente - + Basculer vers ce projet Passare a questo progetto - + Copier le chemin Copiare il percorso - + Remonter ce folio au debut Sposta all'inizio questa pagina - + Abaisser ce folio x10 Sposta in giù la pagina di 10 - + Ajouter un folio Aggiungere una pagina - + Propriétés du projet Proprietà del progetto - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Eliminare una pagina - + Remonter ce folio x100 Porta in su la pagina di 100 - + Abaisser ce folio x100 Sposta in giù la pagina di 100 - - + + Panneau des éléments - + Filtrer Filtrare - + Abaisser ce folio Sposta in giu questa pagina @@ -4288,7 +4913,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Esporta @@ -4297,102 +4922,102 @@ En important ce fichier, vous confirmez que : ExportDialog - - + + px px - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Scegliere la pagine che si desidera esportare e le loro dimensioni: - + Tout cocher Seleziona tutto - + Titre du folio Titolo della pagina - + Noms des fichiers cibles message box title Nomi dei file di destinazione - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content È necessario specificare un nome di file non vuoto ed unico per ogni pagina da esportare. - + Dossier non spécifié message box title Directory non specificata - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Specificare il percorso della directory in cui i file immagine devono essere salvati. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Sembra che non si abbiano le autorizzazioni necessarie per scrivere nel file %1. - + Aperçu Anteprima - + Nom de fichier Nome del file - + Exporter les folios du projet window title Espostare le pagine del progetto - + Tout décocher Deseleziona tutto - + Dimensions Dimensioni - + Exporter Esporta @@ -4674,63 +5299,73 @@ che si crea. Si possono anche inserire caratteri alfanumerici. - - + + Générique Generico - + Fusible Fusibile - + Sectionnable Sezionabile - + Diode Diodo - + Terre Terra - + Phase Fasi - + Neutre Neutro - + Sans Senza - + Avec Con - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4738,27 +5373,27 @@ che si crea. Si possono anche inserire caratteri alfanumerici. FreeTerminalModel - + Label Etichetta - + Référence croisé - + Type Tipo - + Fonction Funzione - + led @@ -4766,8 +5401,8 @@ che si crea. Si possono anche inserire caratteri alfanumerici. GeneralConfigurationPage - - + + ° ° @@ -4777,123 +5412,221 @@ che si crea. Si possono anche inserire caratteri alfanumerici. Modulo - + Grec Greco - + Turc Turco - + Mongol - + Ukrainien - + Chinois - + Chemin de la collection company - + Chemin de la collection utilisateur Percorso della raccolta utente - + Arabe Arabo - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Generale - + Coréen - + Russe Russo - + Suédois - + Chemin des cartouches company - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -4903,42 +5636,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + Textes indépendants Testi indipendenti - + Répertoire de la collection commune Elenco della collezione comune - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech È possibile definire la visulizzazione predefinita dei differenti testi di QElectroTech - + Italien Italiano - + Système Sistema - + Brézilien Brasiliano - + (Recharger les collections d'éléments pour appliquer les changements) (Ricaricare la raccolta di elementi per applicare le modifiche) - + Répertoire des Macros utilisateur @@ -4953,114 +5686,229 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Lingue - + Textes d'éléments Testi degli elementi - + La Grille doite etre active pour pouvoir voir les modifications. La Griglia deve essere attiva per vedere le modifiche. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Spostamento alla tastiera: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Editor schemi (tasto: sinistra/destra) X - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List @@ -5070,75 +5918,75 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Permetti la riduzione dello zoom al di fuori della pagina - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Metodo di scaling per display ad alta densità (hdpi) (Applica al prossimo avvio di QElectroTech) : - + min minute min - + Répertoire de la collection company - + Répertoire des cartouches company - + Déplacement au clavier avec la touche ALT : 1 - 9 Spostamento alla tastiera con il tasto ALT: 1 - 30 - + Grille : 1 - 30 Griglia: 1 - 30 - + Belgique-Flemish Belga-Fiammingo - + Allemand Tedesco - + Slovène Sloveno - + DiagramEditor (touche : haut / bas) yGrid Editor schemi (tasto: alto/basso) Y - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Ogni elemento include informazioni sui suoi autori, licenze o qualsiasi altra informazione che si ritienga utile in un campo libero. Qui è possibile specificare il valore predefinito di questo campo per gli oggetti che verranno creati: - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Salvataggio automatico dei progetti (applicato al prossimo avvio di QElectrotech) @@ -5148,39 +5996,39 @@ Qui è possibile specificare il valore predefinito di questo campo per gli ogget Usare i colori di sistema - + Danois Danese - + Croate Croato - + Norvege Norvégien - + Textes Testi - - - + + + Police : Carattere : - + Polonais Polacco - + Hongrois Ungherese @@ -5190,84 +6038,84 @@ Qui è possibile specificare il valore predefinito di questo campo per gli ogget Aspetto - - - - - - + + + + + + Par defaut Predefinito - + Roumains Rumeno - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Utilizzare le finestre (applicato al prossivo avvio de QElectroTech) - + Projets Progetti - + Appliqué au prochain lancement de QElectroTech Applicato al prossimo avvio di QElectroTech - + Désactivé Disattivato - + Anglais Inglese - + Japonais Japanese - + DiagramEditor (touche : gauche / droite ) xGrid Editor schemi (tasto: sinistra/destra) X - - + + Rotation : Rotazione : - + Français Francese - + Pays-Bas Paesi bassi - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Numerare le colonne del cartiglio a partire da 0 (altrimenti inizia da 1) - + Catalan Catalano - + Portugais Portoghese @@ -5277,107 +6125,108 @@ Qui è possibile specificare il valore predefinito di questo campo per gli ogget Utilizzare le "gestures" del touchpad - - - - - - + + + + + + + Parcourir... Sfoglia... - + Tchèque Ceco - + Espagnol Spagnolo - + Gestion des éléments Gestione degli elementi - + Grille + Clavier Griglia + Tastiera - + Chemin de la collection commune Percorso della raccolta comune - + Collections Collezioni - + Accès aux collections Accesso alle collezioni - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Utilizzare le cartelle (applicato al prossivo avvio di QElectroTech) - + DiagramEditor (touche : haut / bas) yGrid Editor schemi (tasto: alto/basso) Y - + Ne pas conserver les labels des éléments lors des copier coller Non saranno copiate le etichette degli elementi dopo un "copia e incolla" - + Utiliser les numéros de folio à la place de leur position dans le projet Utilizzare il numero di pagina al posto della posizione nel progetto - + Mettre en valeur dans le panel les éléments fraîchement intégrés Evidenzia nel pannello gli elementi appena integrati - + Chemin des cartouches utilisateur Percorso dei cartigli utente - + Longueur : Lunghezza: - + Répertoire de la collection utilisateur Elenco della collezione utente - + Répertoire des cartouches utilisateur Elenco dei cartigli utente - + DiagramEditor xGrid Editor schemi X - + DiagramEditor yGrid Editor schemi Y - + Autres textes Altri testi @@ -5422,7 +6271,7 @@ Qui è possibile specificare il valore predefinito di questo campo per gli ogget Questo è un modello di cartiglio, che può essere applicato ad una pagina. - + %1 [non utilisé dans le projet] %1 [non utilizzato nel progetto] @@ -5757,42 +6606,42 @@ Qui è possibile specificare il valore predefinito di questo campo per gli ogget ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Anteprima - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6009,28 +6858,28 @@ Si prega di utilizzare l'editor avanzato per questo. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6273,6 +7122,96 @@ Si prega di utilizzare l'editor avanzato per questo. Questo elemento è già collegato + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6361,7 +7300,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6382,7 +7321,7 @@ Voulez-vous tout de même lier ce contact esclave ? Mostrare l'elemento master - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Collega l'elemento selezionato</p></body></html> @@ -6434,6 +7373,158 @@ Voulez-vous tout de même lier ce contact esclave ? Miniature + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Annulla + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Annulla + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6478,10 +7569,15 @@ Voulez-vous tout de même lier ce contact esclave ? Numerazione automatica degli elementi - + Multi-collage Multi-collage + + + Numéroter les éléments collés + + Décalage @@ -6491,7 +7587,7 @@ Voulez-vous tout de même lier ce contact esclave ? NameListDialog - + Variables de cartouche Variabili del cartiglio @@ -6519,7 +7615,7 @@ Voulez-vous tout de même lier ce contact esclave ? Lingua - + Copier dans le presse papier Copia dagli appunti @@ -6582,13 +7678,13 @@ Voulez-vous tout de même lier ce contact esclave ? Numerazione automatica - + Nouveau folio configuration page title Nuova pagina - + Nouveau projet configuration page title Nuovo progetto @@ -6864,13 +7960,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Campo di testo dinamico - + Déplacer un champ texte Sposta un campo di testo @@ -6930,25 +8026,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Sposta un testo - + Modifier un champ texte Modifica un campo di testo + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6956,32 +8070,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7115,12 +8229,12 @@ Voulez-vous tout de même lier ce contact esclave ? Modifica un poligono - + Ajouter un point Aggiuni un punto - + Supprimer ce point Cancella questo punto @@ -7140,27 +8254,27 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Scegliere le proprietà da applicare al nuovo potenziale. - + Ajouter au bus: %1 Add to bus: %1 - - - + + + Tension/protocole : %1 Tensione / Protocollo: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Modifica le proprietà di più conduttori - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7171,16 +8285,16 @@ Le seguenti variabili sono incompatibili: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Selezionare un potenziale elettrico dall'elenco da utilizzare per il nuovo potenziale - - - + + + Section du conducteur : %1 @@ -7192,40 +8306,40 @@ Sezione del conduttore : %1 Selezione del potenziale elettrico - + Ajouter au câble: %1 Aggiungi al cavo: %1 - - - + + + Numéro : %1 Numero : %1 - - - + + + Couleur du conducteur : %1 Colore del conduttore : %1 - - - + + + Fonction : %1 Funzione : %1 - - + + %n conducteurs composent le potentiel suivant : %n il conduttore costituisce il seguente potenziale : @@ -7233,10 +8347,107 @@ Funzione : %1 + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Cancella + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Stampa @@ -7245,142 +8456,342 @@ Funzione : %1 ProjectAutoNumConfigPage - - + + Folios Pagine - + Management Gestione - + + N° + + + + + Nom + Nome + + + + Folio + Pagina + + + + Élément + Elemento + + + + Figé + + + + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + + + Importer depuis un autre projet... - + Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - Sans nom - Senza nome + Senza nome - + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + Importer les numérotations d'un projet - + Projet QElectroTech (*.qet) Progetto QElectrotech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - - - Nom de la nouvelle numérotation - Nome della nuova numerazione + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + - - + + + Supprimer la numérotation + Eliminare la numerazione + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Nom de la nouvelle numérotation + Nome della nuova numerazione + + + + Conducteurs Conduttori - + Numérotation auto Numerazione automatica - + Numérotation auto des folios Numerazione automatica Pagina - - + + Eléments Elementi @@ -7388,12 +8799,12 @@ Funzione : %1 ProjectDBModel - + Position Posizione - + Position du folio Posizione della pagina @@ -7416,50 +8827,134 @@ Funzione : %1 ProjectMainConfigPage - + Général configuration page title Generale - + Titre du projet : label when configuring Titolo del progetto: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Questo titolo sarà disponibile per tutte le pagine di questo progetto come %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label È possibile definire le proprietà personalizzate che saranno disponibili per tutte le pagine di questo progetto (in genere per i cartigli). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7468,17 +8963,17 @@ Funzione : %1 ProjectPrintWindow - + Dessiner les bornes Disegna terminali - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Se questa opzione è selezionata, la pagina verrà ingrandito o ridotto per riempire l'intera superficie stampabile di una e una sola pagina. " - + Première page Prima pagina @@ -7493,17 +8988,17 @@ Funzione : %1 Esporta in pdf - + Afficher deux pages Visualizza le pagine affiancate - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Se questa opzione è selezionata, i margini del foglio verranno ignorati e l'intera superficie verrà utilizzata per la stampa. Questo potrebbe non essere supportato dalla tua stampante. - + Afficher un aperçu de toutes les pages Visualizza tutte le pagine @@ -7518,12 +9013,12 @@ Funzione : %1 Pagina da stampare : - + Adapter le folio à la page Adatta lo schema alla pagina - + Dessiner le cartouche Draw the title block @@ -7533,7 +9028,7 @@ Funzione : %1 Stampa - + Dernière page Ultima pagina @@ -7548,17 +9043,17 @@ Funzione : %1 Pagina senza titolo - + Utiliser toute la feuille Usa l'intera pagina - + Paysage Paesaggio - + Portrait Ritratto @@ -7568,27 +9063,27 @@ Funzione : %1 Seleziona tutto - + Dessiner le cadre Disegna il bordo - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Opzioni di stampa - + Zoom arrière Zoom Out @@ -7598,22 +9093,22 @@ Funzione : %1 Deseleziona tutto - + Ajuster la largeur Adatta alla larghezza - + Page précédente Pagina precedente - + toolBar toolBar - + Option de rendu Opzione di rendering @@ -7640,27 +9135,27 @@ Funzione : %1 - + mise en page Layout di pagina - + Page suivante Pagina seguente - + Conserver les couleurs des conducteurs Mantieni i colori dei conduttori - + Ajuster la page Adatta alla pagina - + Zoom avant Zoom avanti @@ -7675,7 +9170,7 @@ Funzione : %1 Tutte le date - + Afficher une seule page Mostra pagina singola @@ -7811,29 +9306,28 @@ Do you want to save changes? QETApp - + &Nouvel éditeur d'élément &Nuovo modificatore d'elemento - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Sono stati trovati i seguenti file di ripristino,<br>Aprirli?</b><br> + <b>Sono stati trovati i seguenti file di ripristino,<br>Aprirli?</b><br> - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definisce la directory di configurazione - + &Masquer Nascondi (&M) - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7850,248 +9344,297 @@ Opzioni disponibili: - + Restaurer QElectroTech Ripristina QElectroTech - Fichier de restauration - File di ripristino + File di ripristino - + &Masquer tous les éditeurs d'élément Nascondi i &modificatori d'elemento - + QElectroTech systray icon tooltip QElectroTech - + Ferme l'application QElectroTech Chiudi QElectroTech - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definisce la directory dei file della lingua - + Éditeurs d'élément Modificatori d'elemento - + &Restaurer tous les éditeurs de schéma Most&ra i modificatori di schema - + Éditeurs de schémas Modificatori di schema - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Caricamento... Inizializzazione cache collezione elementi - + Chargement... Éditeur de schéma splash screen caption Caricamento... Editor di schemi - + Chargement... Ouverture des fichiers splash screen caption Caricamento... Apertura files - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Cartiglio QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Cartigli utente - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schema - + Electrique Normal example text - translate length, not meaning Elettrico - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configurazione QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Errore + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Caricamento... - + Chargement... icône du systray splash screen caption Caricamento... icona Systray - + &Quitter Esci (&Q) - + &Masquer tous les éditeurs de cartouche systray submenu entry Nascondi i &modificatori di cartiglio - + &Restaurer tous les éditeurs de cartouche systray submenu entry Most&ra i modificatori di cartiglio - + Éditeurs de cartouche systray menu entry Modificatori di cartiglio - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definisce la directory della collezione degli elementi - + Usage : Uso: - + &Restaurer Visualizza (&R) - + Réduire QElectroTech dans le systray Riduci QElectroTech nella systray - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definisce la directory della collezione dei modelli di cartiglio - + &Restaurer tous les éditeurs d'élément Most&ra i modificatori d'elemento - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>È stato trovato il seguente file di ripristino,<br>Aprirlo?</b><br> + <b>È stato trovato il seguente file di ripristino,<br>Aprirlo?</b><br> - + &Masquer tous les éditeurs de schéma Nascondi i &modificatori di schema - + QElectroTech systray menu title QElectroTech - + &Nouvel éditeur de schéma &Nuovo modificatore di schema - + [options] [fichier]... @@ -8103,553 +9646,572 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les QETDiagramEditor - + Aucune modification Nessuna modifica - + Ajoute une ellipse sur le folio actuel Aggiunge un'ellisse sulla pagina corrente - + &Enregistrer Salva (&E) - + Tout sélectionner Seleziona tutto - + en utilisant des fenêtres Usando le finestre - + Affiche ou non la liste des modifications Mostra o nascondi lacronologia delle modifiche - + Zoom adapté Adatta alla pagina - + Propriétés du folio Proprietà della pagina - + Ajouter une ligne Draw line Aggiungere una riga - + Réinitialiser les conducteurs Resetta i conduttori - + Enlever une colonne Elimina una colonna - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Regola lo zoom per visualizzare l'intero contenuto della pagina - + Ajoute une polyligne sur le folio actuel Aggiunge un poligono sulla pagina corrente - + Projet suivant Progetto seguente - + Imprimer Stampa - + Groupe Gruppo - + Ajouter un champ de texte Aggiungi un campo di testo - + Outils Strumenti - + &Nouveau &Nuovo - + Zoom sur le contenu Zoom sul contenuto - + Active le projet « %1 » Attiva il progetto « %1 » - + C&oller Inc&olla - + Désélectionner tout Deseleziona tutto - + Ajouter une colonne Aggiungi una colonna - + Exporter la liste des noms de conducteurs Esportare la lista dei conduttori - + Affiche ou non la barre d'outils Schéma Mostra o nascondi gli strumenti dello schema - + Lancer le plugin de création de borniers Lancia il plugin di creazione delle morsettiere - + Pivoter Ruota - + Affiche ou masque la grille des folios Visualizzare o nasacondere la griglia delle pagina - + Mode Selection Modalità selezione - - + + Impossible d'ouvrir le fichier message box title Impossibile aprire il file - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Sembra che il file %1 che si è cercato di aprire non esista più. - + Supprimer Cancella - + Enregistrer sous Salva come - + Ajoute une image sur le folio actuel Aggiunge un'immagine sulla pagina corrente - + Ajouter une nomenclature Aggiungere una nomenclatura - + QElectroTech status bar message QElectroTech - + Ajouter Inserisci - + Annuler Annulla - + Ajouter une ellipse Aggiungi una ellisse - + Refaire Ripeti - + &Quitter Esci (&Q) - + Ouverture du projet en lecture seule message box title Apertura del progetto in sola lettura - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Il progetto che si cerca di aprire non è accessibile in scrittura. Verrà aperto in modalità sola lettura. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Il file che si cerca di aprire non è accessibile in lettura e non può essere aperto. Controllare i permessi sui file. - + Zoom arrière Riduci - + Exporter la base de donnée interne du projet Espora il database del progetto intero - + Ajoute un rectangle sur le folio actuel Aggiunge un rettangolo sulla pagina corrente - + &Cascade &Cascata - + Schéma Barra dello schema - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Progetto QElectroTech (*.qet);;File XML (*.xml);;Tutti i file (*) - + &Mosaïque &Mosaico - + Co&uper Taglia (&U) - + Pas de zoom Resetta lo zoom - + Grouper les textes sélectionnés Raggruppare i testi selezionati - + Cop&ier Cop&ia - + Ajouter un sommaire Aggiungi un indice - + + &Fermer Chiudi (&F) - + Mode Visualisation Modalità visualizzazione - + en utilisant des onglets Usando le linguette - + Fe&nêtres Fi&nestre - - + + Projet %1 enregistré dans le repertoire: %2. Progetto %1 registrato nella cartella: %2. - + &Ouvrir Apri (&O) - + Ajoute une ligne sur le folio actuel Aggiunge una linea sulla pagina corrente - + &Projet &Progetto - + Retrouver dans le panel Visualizzare nello schema - + Éditer l'item sélectionné Modifica l'oggetto selezionato - + Collections Collezioni - + Inverser la sélection Inverti la selezione - + Ajouter un rectangle Aggiungi un rettangolo - + Afficher la grille Mostra la griglia - - - + + + QElectroTech window title QElectroTech - + Projets dock title Progetti - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Fare clic su un'azione per annullare la modifica dello schema - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Questo pannello elenca le diverse azioni eseguite sulla pagina corrente. Selezionare un'azione per tornare allo stato dello schema appena dopo la sua l'applicazione. - + Annulations dock title Cancellazioni - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip Esporta la pagina corrente in un altro formato - + Imprime un ou plusieurs folios du projet courant status bar tip Stampa una o più pagine del progetto corrente - + Exporter en pdf Esporta in pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Esporta uno o tutti gli schemi del progetto corrente - + Ferme l'application QElectroTech status bar tip Chiudi QElectroTech - + Annule l'action précédente status bar tip Annulla l'azione precedente - + Restaure l'action annulée status bar tip Ripristina l'azione annullata - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip Trasferisci gli elementi selezionati negli appunti - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copia gli elementi selezionati negli appunti - + Place les éléments du presse-papier sur le folio status bar tip Posiziona sulla pagina gli elementi presenti negli appunti - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Ricalcola il percorso dei conduttori ignorando le modifiche - + Création automatique de conducteur(s) Tool tip of auto conductor Creazione automatica dei conduttori - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Utilizzare la creazione automatica dei conduttori, quando possibile - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor @@ -8665,441 +10227,647 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les Imposta il colore di fondo della pagina bianco oppure grigio - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Visualizza + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Riferimenti incrociati + + + + Voir Affichage > Afficher + + + + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Modifica le proprietà della pagina (dimensioni, informazioni del cartiglio, proprietà dei conduttori, ecc.) - + Ajouter un folio Aggiungi una pagina - + Gestionnaire de borniers (DEV) - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip Mostra i vari progetti aperti con le linguette - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Mostra i vari progetti aperti nelle loro finestre - + Dispose les fenêtres en mosaïque status bar tip Disponi le finestre a mosaico - + Dispose les fenêtres en cascade status bar tip Disponi le finestre a cascata - + Permet de sélectionner les éléments status bar tip Permesso di selezionare gli elementi - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Permette di visualizzare la pagina senza poterla modificare - + Active le projet suivant status bar tip Attiva il progetto seguente - + Projet précédent Progetto precedente - + Active le projet précédent status bar tip Attiva il progetto precedente - + Crée un nouveau projet status bar tip Crea un nuovo progetto - + Ouvre un projet existant status bar tip Apre un progetto esistente - + Ferme le projet courant status bar tip Chiude il progetto corrente - + Enregistre le projet courant et tous ses folios status bar tip Salva il progetto corrente e tutte le sue pagine - + Enregistre le projet courant avec un autre nom de fichier status bar tip Salva il progetto corrente con un altro nome di file - + Ajouter une ligne Add row Aggiunge una riga - + Enlever une ligne Remove row Elimina una riga - + Ajoute une colonne au folio status bar tip Aggiunge una colonna alla pagina - + Enlève une colonne au folio status bar tip Elimina una colonna alla pagina - + Agrandit le folio en hauteur status bar tip Ingrandisce la pagina in altezza - + Rétrécit le folio en hauteur status bar tip Restringe la pagina in altezza - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Rimuove gli elementi selezionati dalla pagina - + Pivote les éléments et textes sélectionnés status bar tip Ruota gli elementi ed i testi selezionati - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Ruota il testo selezionato di un angolo preciso - + Retrouve l'élément sélectionné dans le panel status bar tip Visualizza l'elemento selezionato nello schema - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Seleziona tutti gli elementi della pagina - + Désélectionne tous les éléments du folio status bar tip Deseleziona tutti gli elementi della pagina - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deseleziona gli elementi selezionati e seleziona i non selezionati - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Ingrandisce la pagina - + Rétrécit le folio status bar tip Rimpicciolisce la pagina - + Adapte le zoom exactement sur le cadre du folio status bar tip Adatta lo zoom per visualizzare gli elementi - + Restaure le zoom par défaut status bar tip Ripristina il livello di zoom predefinito - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Aggiunge un piano di terminali - + Ajoute une page PDF sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Profondeur toolbar title Profondità - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Ouvrir un fichier Apri un file - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9108,7 +10876,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9117,37 +10885,77 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9155,95 +10963,95 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Modifica l'elemento - + Éditer le champ de texte edit text field Modifica il campo di testo - + Éditer l'image edit image Modifica l'immagine - + Éditer le conducteur edit conductor Modificare il conduttore - + Éditer l'objet sélectionné edit selected item Modifica l'oggetto selezionato - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Si è verificato un errore all'apertura del file %1. - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Errore - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9251,7 +11059,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9259,7 +11067,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9267,18 +11075,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9287,144 +11095,242 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Propriétés du projet Proprietà del progetto - + Affichage Barra di visualizzazione - + &Fichier &File - - - + + + Supprimer le folio Elimina una pagina - + Affiche ou non la barre d'outils Affichage Mostra o nascondi gli strumenti di visualizzazione - + Orienter les textes Orientare i testi - + Exporter au format CSV Esporta nel formato CSV - - + + Échec de l'ouverture du projet message box title Impossibile aprire il progetto - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Il file %1 non sembra essere un progetto di QElectroTech. Perciò non può essere aperto. - + Ajouter une polyligne Aggiungi un poligono - + Ajouter une image Aggiungi una immagine - + Nettoyer le projet Pulisci il progetto - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Chercher/remplacer Trova/sostituisci - + &Récemment ouverts Documenti &recenti - + Affiche ou non la barre d'outils principale Mostra o nascondi la barra degli strumenti - + Afficher les projets Visualizza il progetto - + Affiche ou non le panel d'appareils Mostra o no il pannello Elementi - + Zoom avant Ingrandisci - + E&xporter Esporta (&X) - + Afficha&ge Visualizza (&g) - + &Édition &Modifica - + Ajoute un champ de texte sur le folio actuel Aggiunge un campo di testo sulla pagina corrente @@ -9432,22 +11338,22 @@ Maintenir Ctrl pendant le déplacement pour placer librement. QETElementEditor - + et e - + Aucune modification Nessuna modifica - + &Enregistrer Salvar&e - + Tout sélectionner Seleziona tutto @@ -9457,216 +11363,216 @@ Maintenir Ctrl pendant le déplacement pour placer librement. QElectroTech - Editor di Elementi - + &Aide &Aiuto - + Annulations Cancellazioni - + Parties Parti - + Informations Informazioni - + Outils Strumenti - + Affichage Visualizzazione - + Élément Elemento - + Annulation Annulla - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + C&oller dans la zone - + Un fichier Un file - + Un élément Un elemento - + Éditer les propriétés de l'élément Modificare le proprietà dell'elemento - + À &propos de QElectroTech A &proposito di QElectroTech - + Affiche des informations sur QElectroTech Mostra informazioni su QElectroTech - + Manuel en ligne Manuale On-Line - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Lancia il navigatore predefinito per il manuale on-line di QElectroTech - + Chaine Youtube Canale Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Lancia il navigatore predefinito per il canale Youtube di QElectroTech - + Soutenir le projet par un don Sostieni il progetto con una donazione - + Soutenir le projet QElectroTech par un don Sostenere il progetto QElectroTech con una donazione - + À propos de &Qt A proposito di &Qt - + Affiche des informations sur la bibliothèque Qt Mostra informazioni sulla libreria Qt - + Rotation Rotazione - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf Importa un dxf - + importer un élément à redimensionner - - + + Erreur message box title Errore - + Profondeur toolbar title Profondità - + Zoom adapté Adatta alla finestra - + Parties toolbar title Parti - + [Modifié] window title tag [Modificato] - + [lecture seule] window title tag [sola lettura] - + Éditeur d'éléments status bar message Editor di Elementi - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>In assenza di terminale, l'elemento non potrà essere collegato ad altri per mezzo di conduttori. - + La vérification de cet élément a généré message box content La verifica di questo elemento ha generato - + %n erreur(s) errors @@ -9675,7 +11581,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n avertissement(s) warnings @@ -9684,288 +11590,344 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Le fichier %1 n'existe pas. message box content Il file %1 non esiste. - + Afficher menu entry Visualizza - - + + Impossible d'ouvrir le fichier %1. message box content Impossibile aprire il file %1. - - + + Ce fichier n'est pas un document XML valide message box content Questo file non è un documento XML valido - - + + Erreur toolbar title Errore - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Non hai il permesso per modificare questo elemento. Sarà aperto in sola lettura. - + Impossible d'écrire dans ce fichier message box content - + Impossible d'enregistrer l'élément message box content Impossibile salvare l'elemento - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title Impossibile aprire il file - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Larghezza + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title Ricarica l'elemento - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Questo elemento è stato modificato dopo l'ultimo salvataggio. Ricaricandolo, le modifiche verranno perse. Ricaricare comunque? - + Avertissement Avviso - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) Elemento QElectroTech (*.elmt) - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elemento QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Salvare l'elemento corrente? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Vuoi salvare l'elemento %1? - + Ouvrir un fichier dialog title Apri un file - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elemento di QElectroTech (*.elmt);;File XML (*.xml);;Tutti i file (*) - - - - + + + + Élément inexistant. message box title Elemento inesistente. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Il percorso non corrisponde ad un elemento. - - + + L'élément n'existe pas. message box content L'elemento non esiste. - + Ajouter un texte d'élément non éditable dans les schémas Aggiungere un testo di elemento non modificabile negli schemi - + Éditer les informations sur l'auteur Modifica le informazioni sull'autore - + &Ouvrir depuis un fichier &Apri da un file - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides La registrazione non è riuscita, le condizioni richieste non sono validi - + &Nouveau &Nuovo - + Coller depuis... Incolla da ... - + Avertissements Avvisi - + C&oller Inc&olla - + Désélectionner tout Deseleziona tutto - - + + %n partie(s) sélectionnée(s). %n parte selezionata. @@ -9973,176 +11935,176 @@ le condizioni richieste non sono validi - + Absence de borne warning title Terminale mancante - + Ajouter un arc de cercle Aggiungi un arco di cerchio - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Sembra che il file %1 che si è cercato di aprire non esista più. - + Enregistrer sous dialog title Salva come - + &Supprimer Cancella (&s) - + Enregistrer sous Salva come - + Annuler Annulla - + Ajouter une ellipse Aggiungi un'ellisse - + Refaire Rifai - + Zoom arrière Zoom - - + Ajouter un champ texte dynamique Aggiungere un campo di testo dinamico - + Enregistrer dans un fichier Salva in un file - + Recharger Ricarica - + Co&uper Taglia (&u) - + Pas de zoom Resetta lo zoom - + Ajouter un polygone Aggiungi un poligono - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Errore</b> :<br>I riferimenti alla pagina devono avere un solo terminale.<br><b>Soluzione</b> :<br>Verificare che l'elemento ne possieda un solo - + Cop&ier Cop&ia - + Éditer le nom et les traductions de l'élément Modificara il nome e le traduzioni dell'elemento - + Absence de borne Terminale mancante - + &Ouvrir &Apri - + Ajouter un texte d'élément pouvant être édité dans les schémas Aggiungere un testo di elemento modificabile negli schemi - + Ajouter du texte Aggiungi testo - + Inverser la sélection Inverti la selezione - + Ajouter un rectangle Aggiungere un rettangolo - + Erreurs Errori - + &Fichier &File - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Fare doppio clic per terminare la forma, Clic destro per annullare l'ultimo punto - + Ajouter une borne Aggiungi un terminale - + Ajouter une ligne Disegna una linea - + Zoom avant Zoom + - + Afficha&ge Visualizza (&g) - + &Édition Modifica (&E) - - - + + + Echec de l'enregistrement Registrazione fallita @@ -10150,138 +12112,173 @@ le condizioni richieste non sono validi QETMainWindow - + Passer en &mode plein écran Passare alla &modalità a tutto schermo - + Soutenir le projet par un don Sostieni il progetto con una donazione - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Lancia il navigatore predefinito per la versione Nightly on-line di QElectroTech - + Soutenir le projet QElectroTech par un don status bar tip Sostenere il progetto QElectroTech con una donazione - + À propos de &Qt A proposito di &Qt - + Sortir du &mode plein écran Uscire dalla &modalità a tutto schermo - + Chaine Youtube Canale Youtube - + &Configurer QElectroTech &Configura QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permette di regolare vari parametri di QElectroTech - + Affiche des informations sur QElectroTech status bar tip Mostra informazioni su QElectroTech - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Lancia il navigatore predefinito per il manuale on-line di QElectroTech - - + + + + Général Generale - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Lancia il navigatore predefinito per il canale Youtube di QElectroTech - - + + Télécharger une nouvelle version (dev) Caricare una nuova versione (dev) - + Affiche des informations sur la bibliothèque Qt status bar tip Mostra informazioni sulla libreria Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Configurazione - + &Aide window menu &Aiuto - + Affiche QElectroTech en mode fenêtré status bar tip Visualizza QElectroTech in modalità finestra - + Affiche QElectroTech en mode plein écran status bar tip Visualizza QElectroTech a tutto schermo - + Afficher menu entry Visualizza - + Manuel en ligne Manuale On-Line - + À &propos de QElectroTech A &proposito di QElectroTech @@ -10289,52 +12286,52 @@ le condizioni richieste non sono validi QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Progetto « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Progetto %1 - + Projet sans titre displayed title for a project-less, file-less project Progetto senza titolo - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [sola lettura] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modificato] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10342,56 +12339,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Si è verificato un errore durante l'integrazione del modello. - + Avertissement message box title Avviso - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Apertura progetto in corso...</b><br/>Impostazione dei riferimenti incrociati <</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Apertura progetto in corso...</b><br/>Creazione dei fogli :</p> @@ -10797,6 +12794,7 @@ Que désirez vous faire ? + Titre Titolo @@ -10810,7 +12808,7 @@ Que désirez vous faire ? Selezionare la configurazione dei testi da aggiungere all'elemento - + Chercher/remplacer les propriétés de conducteurs. Cerca/sostituisci le proprietà dei conduttori. @@ -10820,22 +12818,22 @@ Que désirez vous faire ? linea - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Non trovo il file di testo che contiene la licenza GNU/GPL - comunque sia la conosci a menadito, o no? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Per installare il plugin qet_tb_generator <br> Visita: <br> <a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator </a> <br> Richiede python 3.5 o successivo. <br> <B> <U> Prima installazione su Windows </B> </U> <br> 1. Installa, se richiesto, python 3.5 o successivo <br> Visita: <br> <a href='https://www.python.org/downloads/'> python.org </a> <br> 2. pip install qet_tb_generator <br> <B> <U> Aggiorna su Windows </B> </U> <br> python -m pip install --upgrade qet_tb_generator <br> >> l'utente può lanciare in un terminale questo script in questa cartella<br> C: \utenti\XXXX\AppData \Local\Programmi\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> @@ -10855,7 +12853,7 @@ Que désirez vous faire ? Nome del file salvato - + %p% effectué (%v sur %m) %p% effettuato (%v di %m) @@ -10874,7 +12872,7 @@ Que désirez vous faire ? %1 gruppi di testi - + %n texte(s) @@ -10882,13 +12880,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Ruotare i testi selezionati @@ -10899,69 +12897,70 @@ Que désirez vous faire ? un campo di testo - + coller %1 undo caption - %1 is a sentence listing the content to paste incolla %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut taglia %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content Spostato %1 - + modifier le texte undo caption Modifica il testo - + modifier un conducteur undo caption Modifica un conduttore - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Resetta %1 - + modifier les dimensions du folio undo caption modifica le dimensioni della pagina - + Collection Company - + Collection utilisateur Collezione utente - + Macros - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. + Modifier les informations de l'élément : %1 modificare le informazioni dell'elemento: %1 @@ -10977,7 +12976,7 @@ Que désirez vous faire ? numero_dei_conduttori - + Création de conducteurs Creazione dei conduttori @@ -10997,7 +12996,7 @@ Que désirez vous faire ? Eliminare un gruppo di testi dell'elemento - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Non posso aprire il file di testo che contiene la licenza GNU/GPL - comunque sia la conosci a menadito, o no? @@ -11011,7 +13010,7 @@ Que désirez vous faire ? Selezionare un'immagine... - + Éloigner Abbassare @@ -11036,7 +13035,7 @@ Que désirez vous faire ? Impossibile caricare l'immagine. - + Réinitialiser les dimensions Resetta le dimensioni @@ -11046,7 +13045,7 @@ Que désirez vous faire ? Non esiste nessuna configurazione dei testi. - + Collection inconnue Collezione sconosciuta @@ -11061,7 +13060,7 @@ Que désirez vous faire ? incolla - + Exporter vers le presse-papier Esporta negli appunti @@ -11076,7 +13075,7 @@ Que désirez vous faire ? Errore - + Chercher/remplacer les propriétés d'éléments. Cerca/sostituisci le proprietà degli elementi. @@ -11086,12 +13085,12 @@ Que désirez vous faire ? Numero di pagina - + Envoyer au fond Metti sullo sfondo - + Conserver les proportions Conserva le proporzioni @@ -11106,7 +13105,7 @@ Que désirez vous faire ? - + Folio sans titre Pagina senza titolo @@ -11117,8 +13116,8 @@ Que désirez vous faire ? Configurazione dei testi - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Attenzione: l'elemento è stato salvato con una versione più recente di QElectroTech. @@ -11151,7 +13150,7 @@ Que désirez vous faire ? Inserire un testo di elemento in un gruppo di testi - + Rapproche la ou les sélections Sposta in alto la(e) selezione(i) @@ -11161,7 +13160,7 @@ Que désirez vous faire ? Percorso del file salvato - + Rechercher / remplacer avancé Trova/sostituisci avanzato @@ -11175,12 +13174,12 @@ Que désirez vous faire ? Ruotare - + Rapprocher Alzare - + schema schema @@ -11212,12 +13211,12 @@ Voulez-vous la remplacer ? La si vuole sostituire ? - + Aperçu Anteprima - + Ramène la ou les sélections au premier plan Porta la(e) selezione(i) in primo piano @@ -11270,7 +13269,7 @@ La si vuole sostituire ? Aggiungi un sommario - + Collection QET Collezione QET @@ -11385,8 +13384,8 @@ La si vuole sostituire ? Immagini (*.png *.jpg *.jpeg *.bmp *.svg) - - + + chargement %p% (%v sur %m) caricamento %p% (%v di %m) @@ -11444,7 +13443,7 @@ La si vuole sostituire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11453,7 +13452,7 @@ La si vuole sostituire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11462,7 +13461,7 @@ La si vuole sostituire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11471,7 +13470,7 @@ La si vuole sostituire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11480,7 +13479,7 @@ La si vuole sostituire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11489,7 +13488,7 @@ La si vuole sostituire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11498,7 +13497,7 @@ La si vuole sostituire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11507,7 +13506,7 @@ La si vuole sostituire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11516,39 +13515,39 @@ La si vuole sostituire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Impossibile aprire il file %1 in scrittura, riscontrato errore %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Si è verificato un erroredurante il recupero delfile %1,si è verificato l'errore %2. - + Éloigne la ou les sélections Sposta in basso la(e) selezione(i) - + Envoie en arrière plan la ou les sélections Porta sullo sfondo la(e) selezione(i) - - - - + + + + Profondeur Profondità - + Error launching qet_tb_generator plugin Errore durante l'uso del plugin qet_tb_generator @@ -11604,35 +13603,35 @@ La si vuole sostituire ? - - - + + + Type Tipo - - - + + + Adresse - - - + + + Commentaire Commento - - - + + + Réf. croisée @@ -11640,9 +13639,9 @@ La si vuole sostituire ? - - - + + + Fonction Funzione @@ -11975,7 +13974,7 @@ La si vuole sostituire ? Selezionare una configurazione dei testi - + Chercher/remplacer des textes independants Cerca/sostituisci le proprietà dei testi indipendenti @@ -11990,27 +13989,27 @@ La si vuole sostituire ? Inserire il nome della configurazione da creare - - + + - - - - - - + + + + + + this is an error in the code Questo è un errore nel codice - + Borne tooltip Terminale - + Amener au premier plan Portare in primo piano @@ -12069,8 +14068,13 @@ La si vuole sostituire ? element part name testo + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -12235,7 +14239,7 @@ La si vuole sostituire ? Modifica il cartiglio - + supprimer %1 undo caption - %1 is a sentence listing the removed content cancella %1 @@ -12346,12 +14350,12 @@ La si vuole sostituire ? - + Importer un fichier dxf - + Ouvrir un element @@ -12477,7 +14481,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12560,7 +14564,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12569,8 +14573,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12699,98 +14703,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Inserire %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Modifica il colore di un testo - + Pivoter un texte - + Modifier le trait d'une forme Cambia il tratto di una forma - + Modifier le remplissage d'une forme Modifica il riempimento di una forma - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Modificare un testo dell'elemento - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12798,6 +14815,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Pagina + QTextOrientationWidget @@ -12817,371 +14875,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Modifier la géometrie d'un tableau Modificare la geometria di una tabella - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Le informazioni d avisualizzare sono maggiori della quantità massima visibile dalle tabelle. Aggiungi una nuova tabella o regola le tabelle esistenti per visualizzate tutte le informazioni. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Le informazioni d avisualizzare sono maggiori della quantità massima visibile dalla tabella. Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte le informazioni. - + Limitation de tableau Limite della tabella + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + Supprimer un point d'un polygone Eliminare un punto ad un poligono - + une ligne una linea - + une courbe - + une shape una forma - + une éllipse un'ellisse - + Modifier %1 Modifica %1 - - + + Ajouter un point Aggiungere un punto - + Supprimer ce point Eliminare il punto corrente - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Dimensione - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + un rectangle un rettangolo - + un arc - + une polyligne un poligono - + Ajouter un point à un polygone Aggiungere un punto ad un poligono @@ -13233,7 +15352,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte RenameDialog - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? L'elemento « %1 » esiste già. Cosa si vuole fare? @@ -13271,35 +15390,79 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Pagina + + + + Élément + Elemento + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog - + px px @@ -13325,7 +15488,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Fasi - + Terre Terra @@ -13335,7 +15498,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte fase - + terre terra @@ -13360,9 +15523,9 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte - - - + + + Ne pas modifier Non modificare @@ -13377,19 +15540,19 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Testo sul conduttore orizzontale: - - + + Nombre de phase Numero di fasi - + Neutre Neutro - - + + Modifier Modificare @@ -13399,7 +15562,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Tensione / Protocollo : - + Apparence Aspetto @@ -13414,7 +15577,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte A sinistra - + neutre neutro @@ -13429,7 +15592,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte &Multifilare - + Taille : Dimensione : @@ -13445,7 +15608,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Dimensione del testo : - + Taille de trait : Dimensione del tratto : @@ -13460,7 +15623,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Funzione : - + Style : Stile : @@ -13470,7 +15633,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Testo : - + Couleur secondaire : Colore secondario : @@ -13480,8 +15643,8 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte In alto - - + + Couleur : Colore : @@ -13491,7 +15654,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Formula del testo : - + PushButton Bottone @@ -13514,24 +15677,24 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Unifilare - + TextLabel Testo - + Trait plein conductor style: solid line Linea continua - + Trait en pointillés conductor style: dashed line Linea tratteggiata - + Traits et points conductor style: dashed and dotted line Trattino punto @@ -13540,7 +15703,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte ReplaceElementDialog - + Ne pas modifier Non modificare @@ -13553,7 +15716,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Modulo - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponibile come %impianto per i modelli di cartigli</p></body></html> @@ -13562,10 +15725,10 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte - - - - + + + + Ne pas modifier Non modificare @@ -13575,7 +15738,7 @@ Aggiungi una nuova tabella o regola la tabella esistente per visualizzate tutte Data: - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. È possibile definire delle associazioni nome/valore personalizzate da utilizzare nel cartiglio. Esempio: associando il nome "volta" al valore "1745" invece di %{volta} apparirà il numero 1745 nel cartiglio. @@ -13611,7 +15774,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Nessuna data - + Disponible en tant que %locmach pour les modèles de cartouches Disponibile come %locmach per i modelli di cartigli0 @@ -13631,12 +15794,12 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Applica la data corrente - + Titre : Titolo: - + Personnalisées Personalizzazioni @@ -13646,13 +15809,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Autore: - - - - - - - + + + + + + + Supprimer ce texte Cancella questo testo @@ -13677,7 +15840,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Disponibile come %author per i modelli di cartiglio - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13727,6 +15890,185 @@ Creare il proprio testo utilizzando le seguenti variabili: Etichetta di riferimento alla pagina + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nuovo + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + Chiudi (&F) + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13740,62 +16082,62 @@ Creare il proprio testo utilizzando le seguenti variabili: Modalità - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Definire le proprietàs da sostituire nelle pagine</p></body></html> - + Folio Pagina - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Mostra opzioni avanzate</p></body></html> - + Champs texte Campi di testo - + Remplacer : Sostituisci: - + Aller à la correspondance précédente Vai alla corrispondenza precedente - + Tout remplacer Sostituisci tutto - + Correspondance : Corrispondenza : - + Remplacer Sostituisci - + Inconnue Sconosciuto - + Folios Pagine - + Champ texte de folio Campo di testo della pagina @@ -13805,42 +16147,42 @@ Creare il proprio testo utilizzando le seguenti variabili: Vai alla corrispondenza seguente - + Eléments report de folio Riferimenti di pagina - + Eléments maître Elementi Master - + Eléments simple Elementi semplici - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Definire le proprietàs da sostituire nei conduttori</p></body></html> - + Eléments esclave Elementi slave @@ -13850,17 +16192,17 @@ Creare il proprio testo utilizzando le seguenti variabili: Carca: - + Quitter Esci - + avancé avanzato - + Élément Elemento @@ -13875,37 +16217,37 @@ Creare il proprio testo utilizzando le seguenti variabili: Semplice testo - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Definire le proprietàs da sostituire negli elementi</p></body></html> - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Sostituisci la corrispondenza selezionata</p></body></html> - + Actualiser Aggiornare - + Conducteur Conduttore - + Conducteurs Conduttori - + Eléments bornier Morsettiere - + Eléments Elementi @@ -13915,35 +16257,35 @@ Creare il proprio testo utilizzando le seguenti variabili: Intere parole - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [modificato] - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Sostituisci la corrispondenza verificata</p></body></html> @@ -13956,22 +16298,22 @@ Creare il proprio testo utilizzando le seguenti variabili: Modulo - + Type Tipo - + Définition Definizione - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Aggiungere un criterio di numerazione</p></body></html> - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Cancellare un criterio di numerazione</p></body></html> @@ -13981,7 +16323,12 @@ Creare il proprio testo utilizzando le seguenti variabili: Eliminare la numerazione - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Valore @@ -13991,19 +16338,17 @@ Creare il proprio testo utilizzando le seguenti variabili: Nome della nuova numerazione - Suivant - Successivo + Successivo - + Incrémentation Incremento - Précédent - Precedente + Precedente @@ -14011,13 +16356,38 @@ Creare il proprio testo utilizzando le seguenti variabili: Numerazioni disponibili: - + + Annuler + Annulla + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Autonumerazione Pagina - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14044,13 +16414,13 @@ Se la cifra definita nel campo Valore ha meno cifre del tipo scelto, sarà prece Il campo "Incremento" non viene utilizzato. - + Conducteur Autonumérotation title window Numerazione automatica dei conduttori - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14088,13 +16458,13 @@ Gli altri campi non sono usati. Gli altri campi non sono usati. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14115,6 +16485,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16504,7 +18884,7 @@ Les autres champs ne sont pas utilisés. Posizione - + Configuration Configurazione @@ -16514,11 +18894,23 @@ Les autres champs ne sont pas utilisés. Informazioni disponibili - + Requête SQL : Richiesta SQL : + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16853,68 +19245,68 @@ Les autres champs ne sont pas utilisés. Disposizione - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés Proprietà - + Nom : Nome : - + Commentaire : Commento : - + Installation : Installazione : - + Localisation : Localizzazione : - + Description - + Type : Tipo : - - + + Générique Generico @@ -16929,57 +19321,57 @@ Les autres champs ne sont pas utilisés. Effettuare il piazzamento - + Couleur pont : - + Fusible Fusibile - + Sectionnable Sezionabile - + Diode Diodo - + Terre Terra - + LED : - + Déplacer dans : - + Phase Fasi - + Neutre Neutro - + Étage : Stadio : - + Fonction : Funzione : @@ -17017,32 +19409,32 @@ Les autres champs ne sont pas utilisés. toolBar - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -17267,12 +19659,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre Progetto senza titolo - + Bornes indépendante @@ -17380,7 +19772,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17388,37 +19780,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Larghezza: - + Absolu a traditional, absolute measure Assoluto - + Relatif au total a percentage of the total width Relativo al totale - + Relatif au restant a percentage of what remains from the total width Relativo al restante - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17437,34 +19829,34 @@ Les autres champs ne sont pas utilisés. Modello: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponibile come %impianto per i modelli di cartiglio</p></body></html> - + Éditer ce modèle menu entry Modificare questo modello - + Dupliquer et éditer ce modèle menu entry Duplicare e modificare questo modello - + Modèle par défaut Modello predefinito - + Date : Data: - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. È possibile definire delle associazioni nome/valore personalizzate da utilizzare nel cartiglio. Esempio: associando il nome "volta" al valore "1745" invece di %{volta} apparirà il numero 1745 nel cartiglio. @@ -17475,98 +19867,99 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Informazioni mostrate nel cartiglio - + Date fixe : Data fissa: - + Disponible en tant que %filename pour les modèles de cartouches Disponibile come %filename per i modelli di cartiglio - + Disponible en tant que %indexrev pour les modèles de cartouches Disponibile come %indexrev per i modelli di cartigli - + Indice Rev: Indice Rev.: - + Fichier : File : - + Pas de date Nessuna data - + Disponible en tant que %locmach pour les modèles de cartouches Disponibile come %locmach per i modelli di cartigli - + Disponible en tant que %date pour les modèles de cartouches Disponibile come %date per i modelli di cartiglio - + Principales Principale - + Localisation: Posizione: - + Appliquer la date actuelle Applica la data corrente - + Titre : Titolo: - + Date courante Data corrente - + Personnalisées Personalizzazioni - + Auteur : Autore: - + Installation : Installazione: - - + + + Créer un Folio Numérotation Auto Creare una numerazione automatica della pagina - + Folio : Pagina: - + Page Num: Pag. numero: @@ -17576,17 +19969,17 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol <html><head/><body><p>Mostra i cartigli nella parte inferiore (orizontalmente) o destra (verticalmente) della pagina.</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches Disponibile come %title per i modelli di cartiglio - + Disponible en tant que %author pour les modèles de cartouches Disponibile come %author per i modelli di cartiglio - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17599,7 +19992,7 @@ si possono utilizzare le seguenti variabili: - %autonum : Numerazione automatica di pagina - + Title block templates actions Azioni del blocco titoli @@ -17607,13 +20000,13 @@ si possono utilizzare le seguenti variabili: TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18111,50 +20504,50 @@ si possono utilizzare le seguenti variabili: WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Pagina - - + + %n conducteur(s) listé(s). wiring list summary @@ -18163,7 +20556,7 @@ si possono utilizzare le seguenti variabili: - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18175,96 +20568,115 @@ si possono utilizzare le seguenti variabili: WiringListExport - - + + Erreur Errore - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Tensione / Protocollo - + Couleur du fil Wiring list CSV header Colore del filo - + Section du fil Wiring list CSV header Sezione del filo - + Fonction Wiring list CSV header Funzione - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Avviso + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18478,27 +20890,27 @@ si possono utilizzare le seguenti variabili: projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + sans_nom Senza nome - + Exporter la base de données interne du projet Esporta il database dell'intero progetto @@ -18506,7 +20918,7 @@ si possono utilizzare le seguenti variabili: qdesigner_internal::ColorAction - + Text Color Colore testo @@ -18514,7 +20926,7 @@ si possono utilizzare le seguenti variabili: qdesigner_internal::HtmlTextEdit - + Insert HTML entity Inserire entità HTML @@ -18522,27 +20934,27 @@ si possono utilizzare le seguenti variabili: qdesigner_internal::RichTextEditorDialog - + &OK &OK - + Edit text Modifica testo - + Source Sorgente - + Rich Text Rich Text - + &Cancel Annulla (&C) @@ -18550,69 +20962,69 @@ si possono utilizzare le seguenti variabili: qdesigner_internal::RichTextEditorToolBar - + Justify Giustifica - + Texte en gras Testo in grassetto - - - + + + Éditeur de texte - + Insert &Image Inserire &Immagine - + Simplify Rich Text Rich Text semplice - + Center Centra - + Insérer un lien Inserire un collegamento - + Right Align Allinea a destra - + Left Align Allinea a Sinistra - + Subscript Pedice - + Superscript Apice - + Texte souligé Testo sottolineato - + Texte en italique Testo in italico diff --git a/lang/qet_ja.ts b/lang/qet_ja.ts index 87977610a..0b6d55728 100644 --- a/lang/qet_ja.ts +++ b/lang/qet_ja.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, 電気回路図を作成するアプリケーション。 - + Les développeurs de QElectroTech about tab, developers line QElectroTech の開発者 - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line 連絡先 : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale 創案 - - + - - + + + Développement 開発 - + Convertisseur DXF DXFコンバータ - + Plugin Bornier 端子台プラグイン - + Collection コレクション - + Traduction en espagnol スペイン語翻訳 - + Traduction en russe ロシア語翻訳 - + Traduction en portugais ポルトガル語翻訳 - + Traduction en tchèque チェコ語翻訳 - + Traduction en polonais ポーランド語翻訳 - + Traduction en allemand ドイツ語翻訳 - + Traduction en roumain ルーマニア語翻訳 - + Traduction en italien イタリア語翻訳 - + Traduction en arabe アラビア語翻訳 - + Traduction en croate クロアチア語翻訳 - + Traduction en catalan カタルーニャ語翻訳 - + Traduction en grec ギリシア語翻訳 - + Traduction en néerlandais オランダ語翻訳 - + Traduction en flamand フラマン語翻訳 - + Traduction en danois デンマーク語翻訳 - + Traduction en brézilien ブラジル語翻訳 - + Traduction en Turc トルコ語翻訳 - + Traduction en hongrois ハンガリー語翻訳 - + Traduction en serbe - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Paquets Fedora et Red Hat Fedora and Red Hat packages - + Paquets Mageia Mageia packages - + Paquets Debian Debian packages - + Paquets Gentoo Gentoo packages - + Paquets OS/2 OS/2 packages - + Paquets FreeBSD FreeBSD packages - + Paquets MAC OS X MAC OS X packages - + Paquets Archlinux AUR Archlinux AUR packages - + Icônes アイコン - + Documentation 文書 - + Collection d'éléments 要素コレクション - + Redimensionneur d'éléments Element scaler - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate - + Paquets Snap Snap package - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en slovène - + Générateur d'élément lambda Lambda element generator @@ -428,17 +428,17 @@ 設定 - + Contenu 内容 - + Sélectionner la police des en tête du tableau 表のヘッダのフォントを選択 - + Sélectionner la police des cellules du tableau 表のセルのフォントを選択 @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ 角度 : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,131 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element 要素 - + Conducteur 導体 - + Configurer les règles d'auto numérotation 自動採番規則の設定 - + Configurer 設定 - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + %n élément(s) numérotés. + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + Autonumérotation 自動採番 + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +913,74 @@ 既存 - + Under Development 開発中 - + Installing 設置中 - + Built 構築済 - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + Auto Numbering Management title window 自動採番の管理 - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1023,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol プレビュー - + Position 位置 - + nomenclature_ parts_list_ - + Enregister sous... 名前を付けて保存... - + Fichiers csv (*.csv) CSV ファイル (*.csv) - - + + Erreur エラー - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position du folio フォリオ位置 - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1104,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1171,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1202,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 変数を追加 : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible 利用可能な変数を用いて複合テキストを入力してください @@ -909,13 +1211,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption 導体の属性変更 - + Modifier les propriétés de plusieurs conducteurs undo caption 複数の導体の属性変更 @@ -924,73 +1226,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir 黒 - + Marron 茶 - + Gris 灰 - + Bleu 青 - + Vert 緑 - + Rouge 赤 - + Orange オレンジ - + Violet 紫 - + Blanc 白 - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -998,7 +1300,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1016,13 +1318,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol この電位の全ての導体に属性を適用 - + Modifier les propriétés d'un conducteur undo caption 導体の属性変更 - + Modifier les propriétés de plusieurs conducteurs undo caption 複数の導体の属性変更 @@ -1031,24 +1333,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel この電位の全ての導体に属性を適用 + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption 複数の導体の属性変更 - + Conducteur 導体 @@ -1082,7 +1392,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol テキスト : - + Formule du texte : テキストの式 : @@ -1098,12 +1408,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur 導体色 + Texte visible テキスト表示 @@ -1169,132 +1480,150 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte テキスト - + cable - + bus - - + + Unifilaire 単線 - + TextLabel テキストラベル - - + + Nombre de phase 相数 - + Neutre 中性 - + neutre 中性 - + Terre 接地 - + terre 接地 - + Phase 相 - + phase 相 - + Protective Earth Neutral 保護接地導体と中性線 - + PEN - + Apparence 外観 - + Taille : 線幅 : - - + + Style du conducteur 導体の線種 - + Style : 線種 : - + Couleur secondaire : 2つめの色 : - + Taille de trait : 間隔 : - + px - - + + Couleur : 色 : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line 実線 - + Trait en pointillés conductor style: dashed line 破線 - + Traits et points conductor style: dashed and dotted line 一点鎖線 @@ -1316,128 +1645,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler 元に戻す - + Normalement ouvert 常開接点 (a接点) - + Normalement fermé 常閉接点 (b接点) - + Inverseur 切替接点 - + Autre - - + + Inconnu - + Simple 単純 - + Puissance 動力 - + Temporisé travail オン・ディレイ - + Temporisé repos オフ・ディレイ - + Temporisé travail & repos オン・オフ・ディレイ + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1467,27 +1819,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur エラー - + Impossible d'écrire dans le fichier « %1 ». @@ -1495,7 +1847,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur 重なりの変更 @@ -1635,7 +1987,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1652,262 +2004,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image 画像 - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... 画像を選択... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur エラー - + Impossible de charger l'image. 画像を読み込めません。 - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1915,7 +2335,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title フォリオの属性 @@ -1924,12 +2344,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Ctrl を押している間は自由に移動 - + <Shift> to move @@ -1938,77 +2358,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip この領域に要素を追加し端子間に導体を配置することで回路図を作成します。独立したテキストを追加することもできます。 - + Coller ici context menu action ここに貼り付け - + Collage multiple 複数貼り付け - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées 選択された端子を接続 - + Sans titre what to display for untitled diagrams 無題 - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur エラー - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur この導体の新しい色を選ぶ - + Modifier les propriétés d'un conducteur undo caption 導体の属性の変更 @@ -2027,7 +2453,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol タイトル - + TextLabel テキストラベル @@ -2035,42 +2461,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut 上 - + Bas 下 - + Gauche 左 - + Droite 右 - + Direction : @@ -2078,17 +2504,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte テキスト - + Éditer un texte d'élément 要素テキストを編集 - + Redimensionner un texte d'élément @@ -2107,30 +2533,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte テキスト設定のインポート - + Ajouter un texte テキストを追加 - + Ajouter un groupe de textes テキスト・グループを追加 - + Supprimer la sélection 選択を削除 @@ -2342,21 +2768,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche 左 - + Droite 右 - + Centre 中央 @@ -2455,64 +2881,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 文字揃え - - + + Déplacer un champ texte テキスト領域を移動 - + Pivoter un champ texte テキスト領域を回転 - + Modifier le texte d'un champ texte テキスト領域のテキストを変更 - - + + Modifier la police d'un champ texte テキスト領域のフォントを変更 - + Modifier le cadre d'un champ texte テキスト領域の枠を変更 - + Modifier la largeur d'un texte テキスト領域の幅を変更 - + Modifier l'information d'un texte テキスト領域の情報を変更 - + Modifier la source de texte, d'un texte テキストのテキスト・ソースを変更 - + Modifier l'alignement d'un champ texte テキスト領域の文字揃えを変更 - + Modifier la couleur d'un champ texte テキスト領域の色を変更 - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2520,32 +2946,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur ユーザ・テキスト - + Information de l'élément 要素の情報 - + Texte composé 複合テキスト - + Gauche 左 - + Centre 中央 - + Droite 右 @@ -2553,12 +2979,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2599,153 +3025,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title 要素を開く - + Choisissez l'élément que vous souhaitez ouvrir. dialog content 開く要素を選択してください。 - + Enregistrer un élément dialog title 要素を保存 - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content 定義を保存したい要素を選択してください。 - + Ouvrir une catégorie dialog title カテゴリを開く - - + + Choisissez une catégorie. dialog content カテゴリを選んでください。 - + Enregistrer une catégorie dialog title カテゴリの保存 - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre タイトル - + Label ラベル - + Nom du nouveau dossier 新規のフォルダ名 - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title 存在しない選択 - + La sélection n'existe pas. message box content 選択は存在しません。 - - + + Sélection incorrecte message box title 誤った選択 - + La sélection n'est pas un élément. message box content 選択は要素ではありません。 - + Écraser l'élément ? message box title 要素を上書きしますか? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content 要素は既に存在します。上書きしますか? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content 要素または要素のためのカテゴリ名を選択しなければなりません。 @@ -2769,12 +3268,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété このテキストを削除 - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2792,104 +3297,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations 情報 - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler 元に戻す - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2905,8 +3520,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type 種類 @@ -2989,8 +3604,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction 機能 @@ -3020,302 +3635,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 値 - - - + + + Simple 単純 - + Maître 親 - + Esclave 子 - + Renvoi de folio suivant 次のフォリオ参照 - + Renvoi de folio précédent 前のフォリオ参照 - + Bornier 端子台 - + Vignette サムネイル - + Définition de conducteur - - + + Normalement ouvert 常開接点 (a接点) - - + + Normalement fermé 常閉接点 (b接点) - - + + Inverseur 切替接点 - + Other - + Esclave PLC - - + + Puissance 動力 - - + + Temporisé travail オン・ディレイ - - + + Temporisé repos オフ・ディレイ - - + + Temporisé travail & repos オン・オフ・ディレイ - + Bobine コイル - + Organe de protection 保護機構 - + Commutateur / bouton スイッチ / ボタン - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase 相 - + Neutre 中性 - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire コメント - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun なし - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre 接地 @@ -3329,7 +3944,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément 要素 @@ -3466,249 +4081,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 選択を上に - + Ajouter la sélection 選択を追加 - + Supprimer la sélection 選択を削除 - + Descendre la sélection 選択を下に - + Pas de filtre フィルタなし - + N'est pas vide 空でない - + Est vide 空 - + Contient 含む - + Ne contient pas 含まない - + Est égal à 等しい - + N'est pas égale à 等しくない - + Filtre : フィルタ : - + Type d'éléments 要素の種類 - + Simples 単純 - + Tous 全て - + Vignettes - + Contacteurs et relais 接点とリレー - + Boutons et commutateurs ボタンとスイッチ - + Borniers 端子台 - + Organes de protection 保護機構 - + Automates (MAE/SPS) - + Configuration 設定 - + Ouvrir la configuration sélectionné 選択した設定を開く - + Sauvegarder la configuration actuelle 現在の設定を保存 - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée カスタム SQL クエリ - + Requête SQL : SQL リクエスト : - + Position 位置 - + Titre du folio フォリオの表題 - + Position du folio フォリオ位置 - + Numéro du folio フォリオ番号 - - + + Exporter エクスポート - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur エラー - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3716,29 +4331,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive プリミティブを移動 - + Éditer les informations sur l'auteur window title 作成者の情報を編集 - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. この自由欄を要素の作成者、ライセンス、他の有用と考えられる情報などに利用できます。 - + Éditer les noms window title 名前を編集 - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. 要素名を複数の言語で入力できます。 @@ -3746,101 +4361,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title カテゴリではありません - + L'item demandé n'est pas une categrie. Abandon. message box content 要求された項目はカテゴリではありません。中止します。 - + Catégorie inexistante message box title 存在しないカテゴリ - + La catégorie demandée n'existe pas. Abandon. message box content 要求されたカテゴリが存在しません。中止します。 - + Éditer une catégorie window title カテゴリの編集 - + Créer une nouvelle catégorie window title 新規カテゴリの追加 - + Nom de la nouvelle catégorie default name when creating a new category 新規カテゴリ名 - + Édition en lecture seule message box title 読み取り専用 - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content このカテゴリを変更する権限がありません。読み取り専用で開きます。 - + Nom interne : 内部名 : - + Vous pouvez spécifier un nom par langue pour la catégorie. 言語ごとにカテゴリの名前を追加できます。 - + Nom interne manquant message box title 内部名なし - + Vous devez spécifier un nom interne. message box content 内部名が必要です。 - + Nom interne déjà utilisé message box title 内部名は使用済み - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content 選んだ内部名は既に別のカテゴリに使われています。別の名前を選んでください。 - + Erreur message box title エラー - + Impossible de créer la catégorie message box content カテゴリを作成できません @@ -3849,73 +4464,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant 対応するフォルダを開く - + Éditer l'élément 要素を編集 - + Supprimer l'élément 要素を削除 - + Supprimer le dossier フォルダを削除 - + Recharger les collections コレクションを再読込 - + Éditer le dossier フォルダを編集 - + Nouveau dossier 新規フォルダ - + Nouvel élément 新規要素 - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier このフォルダだけを表示 - + Afficher tous les dossiers 全てのフォルダを表示 - + Propriété du dossier フォルダの属性 - + Supprimer l'élément ? message box title 要素を削除しますか? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3923,25 +4538,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title 要素を削除中 - + La suppression de l'élément a échoué. message box content 要素の削除に失敗しました。 - + Supprimer le dossier? message box title フォルダを削除しますか? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3949,24 +4564,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title フォルダの削除 - + La suppression du dossier a échoué. message box content フォルダの削除に失敗しました。 - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3982,82 +4597,82 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient フォルダ %1 には - + %n élément(s), répartie(s) %n 要素, 部品 - + dans %n dossier(s). %n フォルダが含まれます。 - + Chemin de la collection : %1 コレクションのパス : %1 - + Chemin dans le système de fichiers : %1 ファイル・システムでのパス : %1 - + Rechercher... - + Collections コレクション - + Modèles - + Propriété du dossier %1 フォルダ %1 の属性 @@ -4127,124 +4742,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant 対応するフォルダを開く - + Copier le chemin フル・パスをクリップボードにコピー - + Basculer vers ce projet プロジェクトを作業中に - + Fermer ce projet このプロジェクトを閉じる - + Propriétés du projet プロジェクトの属性 - + Propriétés du folio フォリオの属性 - + Ajouter un folio フォリオを追加 - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio このフォリオを削除 - + Remonter ce folio このフォリオを上に移動 - + Abaisser ce folio このフォリオを下に移動 - + Remonter ce folio x10 このフォリオを上に移動 x10 - + Remonter ce folio x100 このフォリオを上に移動 x100 - + Remonter ce folio au debut このフォリオを最初に移動 - + Abaisser ce folio x10 このフォリオを下に移動 x10 - + Abaisser ce folio x100 このフォリオを下に移動 x100 - + Nouveau modèle 新規テンプレート - + Éditer ce modèle このテンプレートを編集 - + Supprimer ce modèle このテンプレートを削除 - - + + Panneau des éléments - + Filtrer フィルタ @@ -4290,7 +4905,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title エクスポート @@ -4299,103 +4914,103 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title プロジェクトのフォリオのエクスポート - + Exporter エクスポート - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : エクポートするフォリオを選び大きさを指定してください : - + Tout cocher 全て選択 - + Tout décocher 全て解除 - + Titre du folio フォリオの表題 - + Nom de fichier ファイル名 - + Dimensions 大きさ - + Noms des fichiers cibles message box title 出力ファイル名 - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content エクスポートする各フォリオに空ではない一意の名前を入力する必要があります。 - + Dossier non spécifié message box title フォルダが見つかりません - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content 画像ファイルを保存するフォルダのパスを指定する必要があります。 You must specify the path of the directory in which the images files will be saved. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title このファイルに書き込めません - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content ファイル %1 を書き込む権限がないようです。 - + Aperçu プレビュー - - + + px @@ -4678,63 +5293,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre 接地 - + Phase 相 - + Neutre 中性 - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4742,27 +5367,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label ラベル - + Référence croisé - + Type - + Fonction 機能 - + led @@ -4795,104 +5420,105 @@ that you create. Text and number inputs are フォリオの領域を越えた縮小が可能 - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) ウィンドウ (&W) を使用 (QElectroTech の次回起動時に適用) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) タブ (&T) を使用 (QElectroTech の次回起動時に適用) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets プロジェクト - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) プロジェクトの自動保存 (QElectroTech の次回起動時に適用) - + Ne pas conserver les labels des éléments lors des copier coller コピーと貼り付けで項目のラベルを保持しない - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 表題欄の列番号は 0 から (そうでなければ 1 から) - + Désactivé 無効 - + min minute 分 - + Utiliser les numéros de folio à la place de leur position dans le projet フォリオ番号をプロジェクトでの位置の代わりに使用 - + Collections コレクション - + Accès aux collections コレクションへのアクセス - + Répertoire de la collection commune 共通コレクションのディレクトリ - - - - - - + + + + + + Par defaut 既定値 - - - - - - + + + + + + + Parcourir... 参照... - + Répertoire de la collection utilisateur ユーザ・コレクションのディレクトリ - + (Recharger les collections d'éléments pour appliquer les changements) (変更を適用するには要素コレクションを再読込) - + Répertoire des cartouches utilisateur ユーザ表題欄のディレクトリ @@ -4907,476 +5533,689 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments 要素の管理 - + Mettre en valeur dans le panel les éléments fraîchement intégrés 新たに加えられた要素をパネルで強調 - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : 各要素には作成者やライセンス、他の有用な情報を自由欄に含めることができます。 この欄の既定値を以下で指定できます : - + Langues - + Appliqué au prochain lancement de QElectroTech QElectroTech の次回起動時に適用 - + Textes テキスト - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech ここで QElectroTech のテキストの外観の既定値を設定できます - + Textes d'éléments 要素テキスト - - - + + + Police : フォント : - - + + ° - + Longueur : 長さ : - - + + Rotation : 回転 : - + Textes indépendants 独立テキスト - + Autres textes 他のテキスト - + Grille + Clavier グリッド + キーボード - + Grille : 1 - 30 グリッド : 1 - 30 - + DiagramEditor yGrid 回路図エディタ yGrid - + La Grille doite etre active pour pouvoir voir les modifications. 変更を確認するにはグリッドが有効でなければいけません。 - + DiagramEditor xGrid 回路図エディタ xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 キーボードによる移動量 : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid 回路図エディタ (キー : 左 / 右) xGrid - + DiagramEditor (touche : haut / bas) yGrid 回路図エディタ (キー : 上 / 下) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 キーボードによる移動量(ALT キー併用): 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid 回路図エディタ (キー : 左 / 右) xGrid - + DiagramEditor (touche : haut / bas) yGrid 回路図エディタ (キー : 上 / 下) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title 全般 - + Système システム - + Arabe アラビア語 - + Brézilien ブラジル語 - + Catalan カタルーニャ語 - + Tchèque チェコ語 - + Allemand ドイツ語 - + Danois デンマーク語 - + Grec ギリシア語 - + Anglais 英語 - + Espagnol スペイン語 - + Français フランス語 - + Croate クロアチア語 - + Italien イタリア語 - + Japonais - + Coréen - + Polonais ポーランド語 - + Portugais ポルトガル語 - + Roumains ルーマニア語 - + Russe ロシア語 - + Slovène スロベニア語 - + Pays-Bas オランダ語 - + Norvege ノルウェー語 - + Belgique-Flemish フラマン語 - + Turc トルコ語 - + Hongrois ハンガリー語 - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune 共通コレクションのパス - + Chemin de la collection company - + Chemin de la collection utilisateur ユーザ・コレクションのパス - + Chemin des cartouches company - + Chemin des cartouches utilisateur ユーザ表題欄のパス - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + CSV ファイル (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5431,7 +6270,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu これはフォリオに適用できる表題欄テンプレートです。 - + %1 [non utilisé dans le projet] %1 [プロジェクトで未使用] @@ -5753,42 +6592,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu プレビュー - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5989,28 +6828,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6253,6 +7092,95 @@ Veuillez utiliser l'éditeur avancé pour cela. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + MarginsEditDialog @@ -6304,7 +7232,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>選択した要素のリンクを解除</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>選択した要素をリンク</p></body></html> @@ -6404,7 +7332,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6414,6 +7342,158 @@ Voulez-vous tout de même lier ce contact esclave ? 相互参照 (マスター) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + 元に戻す + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + 元に戻す + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6463,10 +7543,15 @@ Voulez-vous tout de même lier ce contact esclave ? 導体の自動採番 - + Multi-collage 複数貼り付け + + + Numéroter les éléments collés + + NameListDialog @@ -6476,7 +7561,7 @@ Voulez-vous tout de même lier ce contact esclave ? ダイアログ - + Variables de cartouche 表題欄の変数 @@ -6504,7 +7589,7 @@ Voulez-vous tout de même lier ce contact esclave ? 行を追加 - + Copier dans le presse papier クリップボードにコピー @@ -6562,13 +7647,13 @@ Voulez-vous tout de même lier ce contact esclave ? 自動採番 - + Nouveau folio configuration page title 新規フォリオ - + Nouveau projet configuration page title 新規プロジェクト @@ -6843,13 +7928,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name 動的テキスト領域 - + Déplacer un champ texte テキスト領域を移動 @@ -6909,57 +7994,74 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte テキストを移動 - + Modifier un champ texte テキスト領域を変更 + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7070,12 +8172,12 @@ Voulez-vous tout de même lier ce contact esclave ? 閉じた多角形 - + Ajouter un point 点を追加 - + Supprimer ce point この点を削除 @@ -7123,82 +8225,82 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. 新しい電位に適用する属性を選択してください。 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel 新な電位として使う電位をリストから選んでください - - - + + + Numéro : %1 番号 : %1 - - - + + + Fonction : %1 機能 : %1 - - - + + + Tension/protocole : %1 電圧 / プロトコル : %1 - - - + + + Couleur du conducteur : %1 導体色 : %1 - - - + + + Section du conducteur : %1 導体部 : %1 - - + + %n conducteurs composent le potentiel suivant : %n 導体が次の電位です : - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption 複数の導体の属性変更 - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7209,10 +8311,106 @@ Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + Conserver + + + + + Supprimer + 削除 + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title 印刷 @@ -7221,142 +8419,332 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto 自動採番 - + Management 管理 - - + + Conducteurs 導体 - - - Eléments - 要素 - - - - - Folios - フォリオ - - - - Numérotation auto des folios - フォリオ自動採番 - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + 名前 + + + + Folio - - - - - - - - - - Nom de la nouvelle numérotation - 新規採番の名前付け + + Élément + 要素 - - - - - - - - Sans nom - 無題 + + Figé + - - Importer les numérotations d'un projet + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + 要素 + + + + + Folios + フォリオ + + + + Numérotation auto des folios + フォリオ自動採番 + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + ; %n numéro(s) sans élément + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + Supprimer la numérotation + 採番を削除 + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + Nom de la nouvelle numérotation + 新規採番の名前付け + + + Sans nom + 無題 + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech プロジェクト (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7364,12 +8752,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position 位置 - + Position du folio フォリオ位置 @@ -7392,50 +8780,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title 全般 - + Titre du projet : label when configuring プロジェクト名 : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label このプロジェクト名は全ての子のフォリオで %projecttitle として利用できます. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label プロジェクトの全てのフォリオで利用可能なカスタム属性を以下で定義できます (表題欄で用いられることが多いです). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7479,137 +8951,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre 図枠を描く - + Dessiner le cartouche 表題欄を描く - + Conserver les couleurs des conducteurs 導体の色を保持 - + Dessiner les bornes 端子を描く - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page フォリオをページに合わせる - + Utiliser toute la feuille ページの全体を利用 - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur 幅に合わせる - + Ajuster la page ページに合わせる - + Zoom arrière ズームアウト - + Zoom avant ズームイン - + Paysage 横 - + Portrait 縦 - + Première page 最初のページ - + Page précédente 前のページ - + Page suivante 次のページ - + Dernière page 最後のページ - + Afficher une seule page - + Afficher deux pages 見開きページ表示 - + Afficher un aperçu de toutes les pages 全てのページを表示 - + mise en page @@ -7787,238 +9259,286 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption 読込中... 要素コレクションのキャッシュを初期化中 - + Chargement... Éditeur de schéma splash screen caption 読込中... フォリオ・エディタ - + Chargement... Ouverture des fichiers splash screen caption 読込中... ファイルを開いています - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET 表題欄 - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection ユーザ表題欄 - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning 回路図 - + Electrique Normal example text - translate length, not meaning 電気 - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title QElectroTech の設定 - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + エラー + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption 読込中... - + Chargement... icône du systray splash screen caption 読込中... システム・トレイ・アイコン - + QElectroTech systray menu title - + &Quitter 終了 (&Q) - + &Masquer 非表示 (&H) - + &Restaurer 表示 (&S) - + &Masquer tous les éditeurs de schéma 回路図エディタを非表示 (&H) - + &Restaurer tous les éditeurs de schéma 回路図エディタを表示 (&S) - + &Masquer tous les éditeurs d'élément 要素エディタを非表示 (&H) - + &Restaurer tous les éditeurs d'élément 要素エディタを表示 (&S) - + &Masquer tous les éditeurs de cartouche systray submenu entry 表題欄テンプレート・エディタを非表示 (&H) - + &Restaurer tous les éditeurs de cartouche systray submenu entry 表題欄テンプレート・エディタを表示 (&S) - + &Nouvel éditeur de schéma 新規の回路図エディタ (&N) - + &Nouvel éditeur d'élément 新規の要素エディタ (&N) - + Ferme l'application QElectroTech QElectroTech を終了 - + Réduire QElectroTech dans le systray QElectroTech をシステム・トレイに最小化 - + Restaurer QElectroTech QElectroTech を復元 - + QElectroTech systray icon tooltip - + Éditeurs de schémas 回路図エディタ - + Éditeurs d'élément 要素エディタ - + Éditeurs de cartouche systray menu entry 表題欄テンプレート・エディタ - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>次の復元ファイルが見つかりました。<br>これを開きますか?</b><br> + <b>次の復元ファイルが見つかりました。<br>これを開きますか?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>以下の復元ファイルが見つかりました。<br>これらを開きますか?</b><br> + <b>以下の復元ファイルが見つかりました。<br>これらを開きますか?</b><br> - Fichier de restauration - 復元ファイル + 復元ファイル - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : 使用法: - + [options] [fichier]... @@ -8027,7 +9547,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8044,34 +9564,34 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR 要素コレクションのディレクトリを指定 - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR 表題欄テンプレート・コレクションのディレクトリを指定 - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR 設定ディレクトリを指定 - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR 言語ファイルのディレクトリを指定 @@ -8081,253 +9601,271 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title プロジェクト - + Collections コレクション - + Aucune modification 変更なし - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip 操作をクリックすることで図への変更を元に戻します - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip このパネルは現在のフォリオに適用された様々な変更のリストです。変更をクリックすると、それが適用された直後の状態にフォリオを戻します。 - + Annulations dock title 復元 - + E&xporter エクスポート (&E) - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip 現在のフォリオを別の形式でエクスポート - + Imprimer 印刷 - + Imprime un ou plusieurs folios du projet courant status bar tip 現在のプロジェクトのフォリオを印刷 - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter 終了 (&Q) - + Ferme l'application QElectroTech status bar tip QElectroTech を終了 - + Annuler 元に戻す - + Annule l'action précédente status bar tip 直前の操作を元に戻す - + Refaire やり直す - + Restaure l'action annulée status bar tip 元に戻した操作をやり直す - + Co&uper 切り取り (&T) - + Cop&ier コピー (&C) - + C&oller 貼り付け (&P) - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip 選択要素をクリップボードに移動 - + Copie les éléments sélectionnés dans le presse-papier status bar tip 選択要素をコピー - + Place les éléments du presse-papier sur le folio status bar tip クリップボードからフォリオに要素を貼り付け - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs 導体の整頓 - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip ユーザの変更を無視して導体の経路をリセット - + Création automatique de conducteur(s) Tool tip of auto conductor 導体の自動生成 - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor 可能であれば導体を自動生成 - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor @@ -8343,862 +9881,1069 @@ Options disponibles : フォリオの背景色を白または灰で表示 - + Afficher la grille グリッド表示 - + Affiche ou masque la grille des folios フォリオのグリッドの表示/非表示 - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + 表示 + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + 相互参照 + + + + Voir Affichage > Afficher + + + + Propriétés du folio フォリオの属性 - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip フォリオの属性の編集 (大きさ, 表題欄の情報, 導体の属性, ...) - + Propriétés du projet プロジェクトの属性 - + Ajouter un folio フォリオを追加 - - - + + + Supprimer le folio このフォリオを削除 - + Nettoyer le projet プロジェクトを整理 - + Exporter au format CSV CSV 形式でエクスポート - + Ajouter une nomenclature 部品表を追加 - + Ajouter un sommaire 概要を追加 - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers 端子台作成プラグインを起動 - + Exporter la liste des noms de conducteurs 線名リストをエクスポート - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet 内部のプロジェクト・データベースをエクスポート - + en utilisant des onglets タブを使用 - + Présente les différents projets ouverts des onglets status bar tip 開かれたプロジェクトをタブで表示 - + en utilisant des fenêtres ウィンドウを使用 - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip 開かれたプロジェクトをウィンドウで表示 - + &Mosaïque 並べて (&T) - + Dispose les fenêtres en mosaïque status bar tip ウィンドウを並べて表示 - + &Cascade 重ねて (&C) - + Dispose les fenêtres en cascade status bar tip ウィンドウを重ねて表示 - + Mode Selection 選択モード - + Permet de sélectionner les éléments status bar tip 要素の選択が可能 - + Mode Visualisation 閲覧モード - + Permet de visualiser le folio sans pouvoir le modifier status bar tip フォリオを修正せず閲覧だけを許可 - + Projet suivant 次のプロジェクト - + Active le projet suivant status bar tip 次のプロジェクトを作業中に - + Projet précédent 前のプロジェクト - + Active le projet précédent status bar tip 前のプロジェクトを作業中に - + &Nouveau 新規作成 (&N) - + &Ouvrir 開く (&O) - + &Enregistrer 保存 (&S) - + Enregistrer sous 名前を付けて保存 - + + &Fermer 閉じる (&C) - + Crée un nouveau projet status bar tip 新規プロジェクトを作成 - + Ouvre un projet existant status bar tip 既存のプロジェクトを開く - + Ferme le projet courant status bar tip 現在のプロジェクトを閉じる - + Enregistre le projet courant et tous ses folios status bar tip 現在のプロジェクトとその全てのフォリオを保存 - + Enregistre le projet courant avec un autre nom de fichier status bar tip 現在のプロジェクトを別の名前で保存 - + Ajouter une colonne 列を追加 - + Enlever une colonne 列を削除 - + Ajouter une ligne Add row 行を追加 - + Enlever une ligne Remove row 行を削除 - + Ajoute une colonne au folio status bar tip フォリオに列を追加 - + Enlève une colonne au folio status bar tip フォリオから最終列を削除 - + Agrandit le folio en hauteur status bar tip フォリオに行を追加 - + Rétrécit le folio en hauteur status bar tip フォリオから最終行を削除 - + Supprimer 削除 - + Pivoter 回転 - + Pivoter le groupe - + Orienter les textes テキストの向きを選択 - + Retrouver dans le panel パネル内を検索 - + Éditer l'item sélectionné 選択項目を編集 - + Grouper les textes sélectionnés 選択テキストをグループ化 - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip 選択要素をフォリオから削除 - + Pivote les éléments et textes sélectionnés status bar tip 選択された要素とテキストを回転 - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip 選択テキストを指定した角度に回転 - + Retrouve l'élément sélectionné dans le panel status bar tip 選択要素をパネル内で検索 - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner 全て選択 - + Désélectionner tout 選択を解除 - + Inverser la sélection 選択を反転 - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip フォリオの全ての要素を選択 - + Désélectionne tous les éléments du folio status bar tip フォリオの全ての要素の選択を解除 - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip 要素の選択を反転 - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant ズームイン - + Zoom arrière ズームアウト - + Zoom sur le contenu 内容に合わせてズーム - + Zoom adapté 全体に合わせてズーム - + Pas de zoom ズームのリセット - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip フォリオを拡大 - + Rétrécit le folio status bar tip フォリオを縮小 - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre 図枠は無視してフォリオの内容に合わせてズーム - + Adapte le zoom exactement sur le cadre du folio status bar tip フォリオの領域に合わせてズーム - + Restaure le zoom par défaut status bar tip 既定のズームに戻す - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte テキスト領域を追加 - + Ajouter une image 画像を追加 - + Ajouter un PDF - + Ajouter une ligne Draw line 線を追加 - + Ajouter un rectangle 矩形を追加 - + Ajouter une ellipse 楕円を追加 - + + Ajouter un arc + + + + Ajouter une polyligne 折れ線を追加 - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel 現在のフォリオにテキスト領域を追加 - + Ajoute une image sur le folio actuel 現在のフォリオに画像を追加 - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel 現在のフォリオに線を追加 - + Ajoute un rectangle sur le folio actuel 現在のフォリオに矩形を追加 - + Ajoute une ellipse sur le folio actuel 現在のフォリオに楕円を追加 - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel 現在のフォリオに折れ線を追加 - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer 検索 / 置換 - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils ツール - + Affichage 表示 - + Schéma 図 - + Ajouter 追加 - + Profondeur toolbar title 重なり - + + Scripts + toolbar title + + + + &Fichier ファイル (&F) - + &Édition 編集 (&E) - + &Projet プロジェクト (&P) - + Afficha&ge 表示 (&D) - + Fe&nêtres ウィンドウ (&W) - + &Récemment ouverts 最近のファイル (&L) - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale メインツールバーの表示/非表示 - + Affiche ou non la barre d'outils Affichage 表示ツールバーの表示/非表示 - + Affiche ou non la barre d'outils Schéma 図ツールバーの表示/非表示 - + Affiche ou non le panel d'appareils 要素パネルの表示/非表示 - + Affiche ou non la liste des modifications 復元リストの表示/非表示 - + Afficher les projets プロジェクトを表示 - - + + Projet %1 enregistré dans le repertoire: %2. プロジェクト %1 はディレクトリ %2 に保存されています。 - + Ouvrir un fichier ファイルを開く - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech プロジェクト (*.qet);;XML ファイル (*.xml);;全てのファイル (*) - - + + Impossible d'ouvrir le fichier message box title ファイルを開けません - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 開こうとしているファイル %1 は存在しないか、既に存在しないようです。 - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. 開こうとしているファイルは読めないため開けません。ファイルの許可を確認してください。 - + Ouverture du projet en lecture seule message box title ファイルを読み取り専用で開く - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. 開こうとしているプロジェクトに書き込めないようです。読み取り専用で開きます。 - - + + Échec de l'ouverture du projet message box title プロジェクトを開けません - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content ファイル %1 は QElectroTech のプロジェクト・ファイルではないようです。このため開けません。 - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9206,7 +10951,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9214,173 +10959,211 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - - Groupe - グループ - - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe + グループ + + + + %n objet(s) remis sur la grille + + + + + + + %n objet(s) aligné(s) + + + + + + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element 要素を編集 - + Éditer le champ de texte edit text field テキスト領域を編集 - + Éditer l'image edit image 画像を編集 - + Éditer le conducteur edit conductor 導体を編集 - + Éditer l'objet sélectionné edit selected item 選択対象を編集 - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content ファイル %1 を開く際にエラーが発生しました。 - + Active le projet « %1 » プロジェクト « %1 » を作業中に - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title エラー - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9389,13 +11172,108 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + Textes %1 @@ -9403,42 +11281,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau 新規作成 (&N) - + &Ouvrir 開く (&O) - + &Ouvrir depuis un fichier ファイルから開く (&O) - + &Enregistrer 保存 (&S) - + Enregistrer sous 名前を付けて保存 - + Enregistrer dans un fichier ファイルへ保存 - + Recharger 再読込 - + Tout sélectionner 全て選択 @@ -9448,389 +11326,389 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - 要素エディタ - + &Aide ヘルプ (&H) - + Annulations 復元 - + Parties 部品 - + Informations 情報 - + Outils ツール - + Affichage 表示 - + Élément 要素 - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout 選択を解除 - + Co&uper 切り取り (&T) - + Cop&ier コピー (&C) - + C&oller 貼り付け (&P) - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech QElectroTech について (&A) - + Affiche des informations sur QElectroTech QElectroTech の情報の表示 - + Manuel en ligne オンライン・マニュアル - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech 既定のブラウザを起動し QElectroTech のオンライン・マニュアルへ - + Chaine Youtube Yotube チャンネル - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech 既定のブラウザを起動し QElectroTech の Youtube チャンネルへ - + Soutenir le projet par un don 寄付によるプロジェクトの支援 - + Soutenir le projet QElectroTech par un don 寄付による QElectroTech プロジェクトの支援 - + À propos de &Qt &Qt について - + Affiche des informations sur la bibliothèque Qt Qt ライブラリの情報の表示 - + Rotation 回転 - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection 選択を反転 - + &Supprimer 削除 (&D) - + Éditer le nom et les traductions de l'élément 要素の名前と情報を編集 - + Éditer les informations sur l'auteur 作成者の情報を編集 - + Éditer les propriétés de l'élément 要素の属性を編集 - + Annuler 元に戻す - + Refaire やり直す - + Profondeur toolbar title 重なり - + Zoom avant ズームイン - + Zoom arrière ズームアウト - + Zoom adapté 全体に合わせてズーム - + Pas de zoom ズームのリセット - + Ajouter une ligne 線を追加 - + Ajouter un rectangle 矩形を追加 - + Ajouter une ellipse 楕円を追加 - + Ajouter un polygone 多角形を追加 - + Ajouter du texte テキストを追加 - + Ajouter un arc de cercle 弧を追加 - + Ajouter une borne 端子を追加 - + Ajouter un champ texte dynamique 動的なテキスト領域を追加 - + Double-click pour terminer la forme, Click droit pour annuler le dernier point ダブルクリックで完了、右クリックで最後の点をキャンセル - + Ajouter un texte d'élément non éditable dans les schémas 図に編集不可能な要素テキストを追加 - + Ajouter un texte d'élément pouvant être édité dans les schémas 図に編集可能な要素テキストを追加 - + Parties toolbar title 部品 - + Avertissement 警告 - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + &Fichier ファイル (&F) - + &Édition 編集 (&E) - + Afficha&ge 表示 (&D) - + Coller depuis... 読み込んで貼り付け... - + [Modifié] window title tag [変更あり] - + [lecture seule] window title tag [読み取り専用] - + Aucune modification 変更なし - + Éditeur d'éléments status bar message 要素エディタ - - + + %n partie(s) sélectionnée(s). %n 選択部品. - + Absence de borne warning title 端子がありません - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>端子がないと他の要素に導体で接続できません。 - + Absence de borne 端子がありません - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br> <b> エラー </ b>: <br> フォリオ参照は端子が1つでなければなりません <br> <b> 解決法 </ b> :<br> 要素の端子が1つだけであることを確認してください - + La vérification de cet élément a généré message box content この要素は検証されました - + %n erreur(s) errors @@ -9838,12 +11716,12 @@ veuillez patienter durant l'import... - + et と - + %n avertissement(s) warnings @@ -9851,265 +11729,320 @@ veuillez patienter durant l'import... - + <b>%1</b> : %2 warning title: warning description - + Erreurs エラー - + Avertissements 警告 - + Le fichier %1 n'existe pas. message box content ファイル %1 が存在しません。 - + Afficher menu entry 表示 - - + + Impossible d'ouvrir le fichier %1. message box content ファイル %1 を開けません。 - - + + Ce fichier n'est pas un document XML valide message box content このファイルは有効な XML 文書ではありません - - + + Erreur toolbar title エラー - - + + Édition en lecture seule message box title 読み取り専用 - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content この要素を変更する権限がありません。読み取り専用で開きます。 - - + + Erreur message box title エラー - + Impossible d'écrire dans ce fichier message box content このファイルに書き込めません - + Impossible d'enregistrer l'élément message box content 要素を保存できません - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + Impossible d'ouvrir le fichier message box title ファイルを開けません - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 開こうとしているファイル %1 は存在しないか、既に存在しないようです。 - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + 幅 + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title 要素を再読込 - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content この要素は最後に保存されてから変更されました。再読込を行うと変更が失われます。本当にこの要素の再読込を行いますか? - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) QElectroTech 要素 (*.elmt) - - - + + + Echec de l'enregistrement 保存に失敗しました - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides 保存に失敗しました, 条件を満たしません - + Enregistrer sous dialog title 名前を付けて保存 - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech 要素 (*.elmt) - + Enregistrer l'élément en cours ? dialog title 現在の要素を保存しますか? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name 要素 %1 を保存しますか? - + Ouvrir un fichier dialog title ファイルを開く - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech 要素 (*.elmt);;XML ファイル (*.xml);;全てのファイル (*) - - - - + + + + Élément inexistant. message box title 存在しない要素。 - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content 選ばれたパスは要素に対応しません。 - - + + L'élément n'existe pas. message box content 要素が存在しません。 @@ -10118,137 +12051,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech QElectroTech の環境設定 (&C) - + Permet de régler différents paramètres de QElectroTech status bar tip QElectroTech の様々なパラメータを指定 - + À &propos de QElectroTech QElectroTech について (&A) - + Affiche des informations sur QElectroTech status bar tip QElectroTech の情報の表示 - + Manuel en ligne オンライン・マニュアル - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip 既定のブラウザを起動し QElectroTech のオンライン・マニュアルへ - - + + + + Général 全般 - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube Yotube チャンネル - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip 既定のブラウザを起動し QElectroTech の Youtube チャンネルへ - - + + Télécharger une nouvelle version (dev) 新しい (dev) バージョンのダウンロード - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip 既定のブラウザを起動し Nightly QElectroTech のオンライン・リポジトリへ - + Soutenir le projet par un don 寄付によるプロジェクトの支援 - + Soutenir le projet QElectroTech par un don status bar tip 寄付による QElectroTech プロジェクトの支援 - + À propos de &Qt &Qt について - + Affiche des informations sur la bibliothèque Qt status bar tip Qt ライブラリの情報の表示 - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu 設定 (&C) - + &Aide window menu ヘルプ (&H) - + Sortir du &mode plein écran 全画面表示モードの終了 (&F) - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech をウィンドウ・モードで表示 - + Passer en &mode plein écran 全画面表示モード (&F) - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech を全画面モードで表示 - + Afficher menu entry 表示 @@ -10257,52 +12225,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path プロジェクト « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name プロジェクト %1 - + Projet sans titre displayed title for a project-less, file-less project 無題のプロジェクト - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [読み取り専用] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [変更あり] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10310,56 +12278,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message テンプレートを統合する際にエラーが発生しました。 - + Avertissement message box title 警告 - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>プロジェクトを開きます ...</b><br/>フォリオの作成</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>プロジェクトを開きます ...</b><br/>相互参照の構成</p> @@ -10728,38 +12696,38 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) 読込 %p% (%v / %m) - + Collection QET QET コレクション - + Collection Company - + Collection utilisateur ユーザ・コレクション - + Macros - + Collection inconnue 不明コレクション - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10779,22 +12747,22 @@ Que désirez vous faire ? フォリオ属性の検索 / 置換 - + Chercher/remplacer les propriétés d'éléments. 要素属性の検索 / 置換。 - + Chercher/remplacer des textes independants 独立テキストの検索 / 置換 - + Chercher/remplacer les propriétés de conducteurs. 導体属性の検索 / 置換。 - + Rechercher / remplacer avancé 高度な検索 / 置換 @@ -10867,44 +12835,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste 貼り付け %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut 切り取り %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content 移動 %1 - + modifier le texte undo caption テキストの変更 - + modifier un conducteur undo caption 導体の変更 - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content リセット %1 - + modifier les dimensions du folio undo caption フォリオの大きさの変更 @@ -11103,8 +13071,13 @@ Que désirez vous faire ? element part name テキスト + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11175,38 +13148,38 @@ Voulez-vous la remplacer ? テキストのグループ - + Folio sans titre 無題のフォリオ - + schema diagram - + Conserver les proportions 縦横比を保持 - + Réinitialiser les dimensions 大きさをリセット - + Aperçu プレビュー - + Exporter vers le presse-papier クリップボードにエクスポート - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. 警告: より新しいバージョンの QElectroTech で要素が保存されています. @@ -11278,7 +13251,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11286,7 +13259,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11294,7 +13267,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11302,7 +13275,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11310,7 +13283,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11318,7 +13291,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11326,7 +13299,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11334,7 +13307,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11342,99 +13315,99 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? GNU/GPL ライセンスを含むテキストファイルが見つかりません - でも全て覚えていますよね? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? GNU/GPL ライセンスを含むテキストファイルが存在しますが開けません - でも全て覚えていますよね? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file ファイル %1 は書き込み許可で開けません, エラーが発生しました %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file ファイル %1 の書き込み中にエラーが発生しました, エラー %2 が発生しました. - + Amener au premier plan 最前面へ移動 - + Rapprocher 前面へ移動 - + Éloigner 背面へ移動 - + Envoyer au fond 最背面へ移動 - + Ramène la ou les sélections au premier plan 選択を最前面へ移動 - + Rapproche la ou les sélections 選択を前面へ移動 - + Éloigne la ou les sélections 選択を背面へ移動 - + Envoie en arrière plan la ou les sélections 選択を最背面へ移動 - - - - + + + + Profondeur 重なり - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> qet_tb_generator プラグインをインストールするには<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a>を参照してください。<br>python 3.5 以降が必要です。<br><B><U> Windows での最初のインストール</B></U><br>1. 必要であれば python 3.5 以降をインストール<br><a href='https://www.python.org/downloads/'>python.org</a> を参照してください。<br>2. pip install qet_tb_generator<br><B><U> Windows での更新</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>ユーザはターミナルで次のディレクトリの中でスクリプトを実行できます。<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin qet_tb_generator プラグインの起動でエラー - + Borne tooltip 端子 @@ -11451,6 +13424,7 @@ Voulez-vous la remplacer ? + Titre 表題 @@ -11547,35 +13521,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire コメント - - - + + + Réf. croisée @@ -11583,9 +13557,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction 機能 @@ -12057,7 +14031,7 @@ Voulez-vous la remplacer ? 水平揃え - + %p% effectué (%v sur %m) %p% 完了 (%v / %m) @@ -12104,6 +14078,7 @@ Voulez-vous la remplacer ? グループ・テキストの文字揃えの変更 + Modifier les informations de l'élément : %1 要素の情報の変更 : %1 @@ -12120,7 +14095,7 @@ Voulez-vous la remplacer ? 表題欄の変更 - + supprimer %1 undo caption - %1 is a sentence listing the removed content 削除 %1 @@ -12154,26 +14129,26 @@ Voulez-vous la remplacer ? %1 グループ・テキスト - + %n texte(s) - - + + Pivoter %1 - + Orienter les textes sélectionnés window title 選択されたテキストの向きを選ぶ - + Création de conducteurs 導体の生成 @@ -12183,15 +14158,15 @@ Voulez-vous la remplacer ? 貼り付け - - + + - - - - - - + + + + + + this is an error in the code @@ -12336,12 +14311,12 @@ Voulez-vous la remplacer ? - + Ouvrir un element - + Importer un fichier dxf @@ -12427,7 +14402,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12509,7 +14484,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12517,8 +14492,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12639,97 +14614,109 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + - + Ajouter %1 追加 %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte テキストの色を変更 - + Pivoter un texte - + Modifier le trait d'une forme 図形の線を変更 - + Modifier le remplissage d'une forme 図形の塗りつぶしを変更 - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément 要素テキストを編集 - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12737,6 +14724,45 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + Dégrouper %n objet(s) + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12756,371 +14782,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. 情報が表で表示できる最大量を超えています。 新しい表を追加するか既存の表が情報を表示できるよう調整して下さい。 - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. 情報が表で表示できる最大量を超えています。 新しい表を追加するか既存の表が情報を表示できるよう調整して下さい。 - + Limitation de tableau テーブルの制限 - + Modifier la géometrie d'un tableau 表の形状を変更 + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point 点を追加 - + Supprimer ce point この点を削除 - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille 大きさ - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone 多角形に点を追加 - + Supprimer un point d'un polygone 多角形から点を削除 - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 変更 %1 - + une ligne 線 - + un rectangle 矩形 - + une éllipse 楕円 - + un arc - + une polyligne 折れ線 - + une courbe - + une shape 図形 @@ -13202,7 +15289,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af テキストラベル - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? 要素 « %1 » は既に存在します。どうしますか? @@ -13210,31 +15297,73 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + Folio + + + + + Élément + 要素 + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13258,9 +15387,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier 変更なし @@ -13380,97 +15509,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 相 - - + + Nombre de phase 相数 - + Neutre 中性 - + neutre 中性 - + Terre 接地 - + terre 接地 - + TextLabel テキストラベル - + PushButton 押しボタン - + Apparence 外観 - + Taille : 線幅 : - - + + Couleur : 色 : - + Style : 線種 : - - + + Modifier 変更 - + Couleur secondaire : 2つめの色 : - + Taille de trait : 間隔 : - + px - + Trait plein conductor style: solid line 実線 - + Trait en pointillés conductor style: dashed line 破線 - + Traits et points conductor style: dashed and dotted line 一点鎖線 @@ -13479,7 +15608,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier 変更なし @@ -13521,10 +15650,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier 変更なし @@ -13584,7 +15713,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 現在の日付けを設定 - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13597,38 +15726,38 @@ Les variables suivantes sont utilisables : -%autonum: フォリオの自動採番 - + Disponible en tant que %locmach pour les modèles de cartouches 表題欄で変数 %locmach として利用可能 - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>表題欄で %plant として利用可能</p></body></html> - + Titre : 表題: - - - - - - - + + + + + + + Supprimer ce texte このテキストを削除 - + Personnalisées 自分で定義 - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. 表題欄で利用するために 名前/値 の関係を自分で定義できます。 @@ -13667,6 +15796,185 @@ Créer votre propre texte en vous aidant des variables suivantes : % c: 列番号 + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + 新規作成 (&N) + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + 名前 : + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + 保存 (&S) + + + + Ouvrir le &dossier + + + + + &Fermer + 閉じる (&C) + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13705,185 +16013,185 @@ Créer votre propre texte en vous aidant des variables suivantes : 次を検索 - + Aller à la correspondance précédente 前を検索 - + Actualiser 更新 - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>高度なオプションの表示</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>要素の置換する属性を定義</p></body></html> - + Élément 要素 - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>導体の置換する属性を定義</p></body></html> - + Conducteur 導体 - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>チェックされた一致を置換</p></body></html> - + Tout remplacer 全て置換 - + avancé 高度 - + Remplacer : 置換 : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>フォリオの置換する属性を定義</p></body></html> - + Folio フォリオ - + Champ texte de folio フォリオのテキスト領域 - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>選択された一致を置換</p></body></html> - + Remplacer 置換 - + Quitter 終了 - + Correspondance : 一致 : - + Folios フォリオ - + Champs texte テキスト領域 - + Eléments 要素 - + Eléments simple 単純要素 - + Eléments maître 親要素 - + Eléments esclave 子要素 - + Eléments report de folio フォリオ参照要素 - + Eléments bornier 端子要素 - + Conducteurs 導体 - + Inconnue 不明 - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [変更あり] @@ -13911,53 +16219,81 @@ Créer votre propre texte en vous aidant des variables suivantes : 採番を削除 - + Définition 定義 - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>採番変数を削除</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>採番変数を追加</p></body></html> - Précédent - 前 + 前 - Suivant - 次 + 次 - + Type 種類 - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur 値 - + Incrémentation 増分 - + + Annuler + 元に戻す + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window フォリオの自動採番 - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13985,13 +16321,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window 導体の自動採番 - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14029,13 +16365,13 @@ Les autres champs ne sont pas utilisés. 他の欄は使用されません。 - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14056,6 +16392,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16444,12 +18790,12 @@ Les autres champs ne sont pas utilisés. 表示する情報 - + Configuration 設定 - + Requête SQL : SQL リクエスト : @@ -16459,6 +18805,17 @@ Les autres champs ne sont pas utilisés. 位置 + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + TerminalEditor @@ -16793,58 +19150,58 @@ Les autres champs ne sont pas utilisés. - + Ponter les bornes - + Déponter les bornes - + Propriétés 属性 - + Nom : 名前 : - + Commentaire : - + Description - + Installation : 設備: - + Localisation : - + Type : 種類 : - + Degrouper les bornes - - + + Générique @@ -16859,62 +19216,62 @@ Les autres champs ne sont pas utilisés. - + Couleur pont : - + Fusible - + Sectionnable - + Diode - + Terre 接地 - + Déplacer dans : - + Phase 相 - + Neutre 中性 - + Position automatique - + Étage : - + Grouper les bornes - + Fonction : 機能 : @@ -16929,7 +19286,7 @@ Les autres champs ne sont pas utilisés. - + LED : @@ -16957,32 +19314,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger 再読込 - + Recharger les borniers @@ -17212,12 +19569,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre 無題のプロジェクト - + Bornes indépendante @@ -17320,7 +19677,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17328,37 +19685,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label 幅 : - + Absolu a traditional, absolute measure 絶対値 - + Relatif au total a percentage of the total width 全体に対する相対値 - + Relatif au restant a percentage of what remains from the total width 残りに対する相対値 - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17387,87 +19744,87 @@ Les autres champs ne sont pas utilisés. <html> <head/><body><p>表題欄をフォリオの 下側 (横) または 右側 (縦) に設定します。</p></body></html> - + Principales 主要 - + Date : 日付: - + Auteur : 作成者: - + Indice Rev: 改訂番号: - + Disponible en tant que %locmach pour les modèles de cartouches 表題欄で変数 %locmach として利用可能 - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>表題欄で %plant として利用可能</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches 表題欄で変数 %title として利用可能 - + Folio : フォリオ: - + Fichier : ファイル: - + Disponible en tant que %author pour les modèles de cartouches 表題欄で変数 %author として利用可能 - + Disponible en tant que %filename pour les modèles de cartouches 表題欄で変数 %filename として利用可能 - + Pas de date 日付なし - + Date courante 現在の日付 - + Appliquer la date actuelle 現在の日付けを設定 - + Disponible en tant que %date pour les modèles de cartouches 表題欄で変数 %date として利用可能 - + Date fixe : 指定の日付: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17480,67 +19837,68 @@ Les variables suivantes sont utilisables : -%autonum: フォリオの自動採番 - + Titre : 表題: - + Page Num: ページ番号: - + Disponible en tant que %indexrev pour les modèles de cartouches 表題欄で変数 %indexrev として利用可能 - + Installation : 設備: - + Localisation: 場所: - + Personnalisées 自分で定義 - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. 表題欄で利用するために 名前/値 の関係を自分で定義できます。 例えば名前 "volta" に値 "1745" を関係づけることで、表題欄で %{volta} は 1745 に置き換わります。 - + Éditer ce modèle menu entry このテンプレートを編集 - + Dupliquer et éditer ce modèle menu entry このテンプレートを複製して編集 - + Title block templates actions 表題欄テンプレートの操作 - - + + + Créer un Folio Numérotation Auto フォリオの自動採番を作成 - + Modèle par défaut 既定のテンプレート @@ -17548,13 +19906,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -18053,50 +20411,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18104,7 +20462,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18115,96 +20473,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur エラー - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header 電圧 / プロトコル - + Couleur du fil Wiring list CSV header 導体色 - + Section du fil Wiring list CSV header 導体部 - + Fonction Wiring list CSV header 機能 - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + 警告 + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18419,27 +20796,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet 内部のプロジェクト・データベースをエクスポート - + sans_nom 無題 @@ -18447,7 +20824,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color テキストの色 @@ -18455,7 +20832,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML 要素を挿入 @@ -18463,27 +20840,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text テキストの編集 - + Rich Text リッチ・テキスト - + Source ソース - + &OK - + &Cancel キャンセル (&C) @@ -18491,69 +20868,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras 太字 - - - + + + Éditeur de texte - + Texte en italique 斜体 - + Texte souligé 下線 - + Left Align 左揃え - + Center 中央揃え - + Right Align 右揃え - + Justify 両端揃え - + Superscript 上付き - + Subscript 下付き - + Insérer un lien リンクを挿入 - + Insert &Image 画像を挿入 (&I) - + Simplify Rich Text リッチ・テキストを単純化 diff --git a/lang/qet_ko.ts b/lang/qet_ko.ts index 831d617fe..5c2a64c2b 100644 --- a/lang/qet_ko.ts +++ b/lang/qet_ko.ts @@ -54,272 +54,272 @@ 로그 - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech는 전기 회로도(도면)를 작성하는 애플리케이션입니다. - + Les développeurs de QElectroTech about tab, developers line QElectroTech 개발팀 - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line 문의 : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale 원안 - - + - - + + + Développement 개발 - + Convertisseur DXF DXF 변환기 - + Plugin Bornier 단자대 플러그인 - + Collection 컬렉션 - + Traduction en espagnol 스페인어 번역 - + Traduction en russe 러시아어 번역 - + Traduction en portugais 포르투갈어 번역 - + Traduction en tchèque 체코어 번역 - + Traduction en polonais 폴란드어 번역 - + Traduction en allemand 독일어 번역 - + Traduction en roumain 루마니아어 번역 - + Traduction en italien 이탈리아어 번역 - + Traduction en arabe 아랍어 번역 - + Traduction en croate 크로아티아어 번역 - + Traduction en catalan 카탈루냐어 번역 - + Traduction en grec 그리스어 번역 - + Traduction en néerlandais 네덜란드어 번역 - + Traduction en flamand 플랑드르어 번역 - + Traduction en danois 덴마크어 번역 - + Traduction en brézilien 브라질 포르투갈어 번역 - + Traduction en Turc 터키어 번역 - + Traduction en hongrois 헝가리어 번역 - + Traduction en serbe 세르비아어 번역 - + Traduction en japonais 일본어 번역 - + Traduction en coréen - + Traduction en mongol 몽골어 번역 - + Paquets Fedora et Red Hat Fedora 및 Red Hat 패키지 - + Paquets Mageia Mageia 패키지 - + Paquets Debian Debian 패키지 - + Paquets Gentoo Gentoo 패키지 - + Paquets OS/2 OS/2 패키지 - + Paquets FreeBSD FreeBSD 패키지 - + Paquets MAC OS X Mac OS X 패키지 - + Paquets Archlinux AUR Archlinux AUR 패키지 - + Icônes 아이콘 - + Documentation 문서 - + Collection d'éléments 요소 컬렉션 - + Redimensionneur d'éléments Element scaler 요소 크기 조정 도구 - + Convertisseur d'élément DXF Dxf2elmt DXF 요소 변환기 - + Outil de traduction d'éléments Qet_translate 요소 번역 도구 - + Paquets Snap Snap 패키지 - + Traduction en ukrainien 우크라이나어 번역 - + Traduction en norvégien 노르웨이어 번역 - + Traduction en slovène 슬로베니아어 번역 - + Générateur d'élément lambda Lambda element generator 람다 요소 생성기 @@ -428,17 +428,17 @@ 설정 - + Contenu 내용 - + Sélectionner la police des en tête du tableau 표 머리글 글꼴 선택 - + Sélectionner la police des cellules du tableau 표 셀 글꼴 선택 @@ -456,6 +456,134 @@ 다음 단자대 배치도 추가하기 : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ 각도: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element 요소 - + Conducteur 도선 - + Configurer les règles d'auto numérotation 자동 번호 매기기 규칙 설정 - + Configurer 설정 @@ -573,10 +734,84 @@ 시트 - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + %n élément(s) numérotés. + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + Autonumérotation 자동 번호 매기기 + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +913,74 @@ 기존 - + Under Development 개발 중 - + Installing 설치 중 - + Built 구성됨 - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + Auto Numbering Management title window 자동 번호 매기기 관리 - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1023,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 미리보기 - + nomenclature_ 부품목록_ - + Enregister sous... 다른 이름으로 저장... - + Fichiers csv (*.csv) CSV 파일 (*.csv) - - + + Erreur 오류 - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position 위치 - + Position du folio 시트 위치 - + Quantité numéro d'article Special field with name : designation quantity 품목 수량 - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1104,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1171,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1202,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 변수 추가: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible 사용 가능한 변수를 이용하여 여기에 조합 텍스트를 입력하십시오 @@ -909,13 +1211,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption 도체 속성 수정 - + Modifier les propriétés de plusieurs conducteurs undo caption 다중 도체 속성 수정 @@ -924,73 +1226,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir 검정 - + Marron 갈색 - + Gris 회색 - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc 흰색 - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -998,7 +1300,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1016,13 +1318,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 이 전위의 모든 도선에 속성 적용 - + Modifier les propriétés d'un conducteur undo caption 도선 속성 수정 - + Modifier les propriétés de plusieurs conducteurs undo caption 여러 도선의 속성 수정 @@ -1031,24 +1333,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel 이 전위의 모든 도선에 속성 적용 + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1077,12 +1387,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte 텍스트 - - + + Unifilaire 단선 @@ -1098,6 +1409,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible 표시 텍스트 @@ -1137,35 +1449,52 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 도선 텍스트의 위치 및 회전: - + phase 상 - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line 실선 - + Trait en pointillés conductor style: dashed line 점선 - + Traits et points conductor style: dashed and dotted line 일점쇄선 - + terre 접지 - + neutre 중성선 @@ -1175,7 +1504,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 양식 - + Formule du texte : 텍스트 수식: @@ -1206,96 +1535,96 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 도선 단면 - + cable 케이블 - + bus 버스 - - + + Nombre de phase 상 수 - + Neutre 중성선 - + Phase 상선 - + Protective Earth Neutral 보호접지 겸용 중성선 - + PEN PEN - + Terre 접지 - + TextLabel 텍스트 라벨 - + Taille : 크기 : - - + + Style du conducteur 도선 스타일 - + Couleur secondaire : 보조 색상 : - + px px - + Taille de trait : 선 두께 : - + Couleur du conducteur 도선 색상 - + Apparence 모양 - - + + Couleur : 색상 : - + Style : 스타일 : @@ -1316,128 +1645,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert 통상 개방 - + Normalement fermé 통상 폐쇄 - + Inverseur 전환 접점 - + Autre - - + + Inconnu - + Simple 단순 - + Puissance 전력용 - + Temporisé travail 투입 지연 - + Temporisé repos 차단 지연 - + Temporisé travail & repos 투입/차단 지연 + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1467,27 +1819,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur 오류 - + Impossible d'écrire dans le fichier « %1 ». @@ -1495,7 +1847,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur 앞뒤 순서 변경 @@ -1635,7 +1987,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1652,262 +2004,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image 이미지 - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... 이미지 선택... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur 오류 - + Impossible de charger l'image. 이미지를 불러올 수 없습니다. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1915,7 +2335,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title 도면 시트 속성 @@ -1924,12 +2344,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Ctrl 키를 누른 채 자유 이동 - + <Shift> to move @@ -1938,77 +2358,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Coller ici context menu action 여기에 붙여넣기 - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip 이 영역에서 요소를 추가하고 단자 사이에 도선을 연결하여 회로도를 작성합니다. 또한 독립 텍스트를 추가할 수도 있습니다. - + Collage multiple 여러 항목 붙여넣기 - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées 선택한 단자 연결 - + Sans titre what to display for untitled diagrams 제목 없음 - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur 오류 - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur 이 도선의 새 색상 선택 - + Modifier les propriétés d'un conducteur undo caption 도선 속성 수정 @@ -2027,7 +2453,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 제목 - + TextLabel 텍스트 라벨 @@ -2035,42 +2461,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut 위 - + Bas 아래 - + Gauche 왼쪽 - + Droite 오른쪽 - + Direction : @@ -2078,17 +2504,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte 텍스트 - + Éditer un texte d'élément 요소 텍스트 편집 - + Redimensionner un texte d'élément @@ -2107,30 +2533,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte 텍스트 구성 가져오기 - + Ajouter un texte 텍스트 추가 - + Ajouter un groupe de textes 텍스트 그룹 추가 - + Supprimer la sélection 선택 항목 삭제 @@ -2302,21 +2728,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche 왼쪽 - + Droite 오른쪽 - + Centre 가운데 @@ -2455,64 +2881,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 회전 - - + + Déplacer un champ texte 텍스트 필드 이동 - + Pivoter un champ texte 텍스트 필드 회전 - + Modifier le texte d'un champ texte 텍스트 필드 텍스트 수정 - - + + Modifier la police d'un champ texte 텍스트 필드 글꼴 변경 - + Modifier la couleur d'un champ texte 텍스트 필드 색상 변경 - + Modifier la conservation de l'angle 각도 유지 설정 변경 - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte 텍스트 필드 테두리 변경 - + Modifier la largeur d'un texte 텍스트 너비 변경 - + Modifier l'information d'un texte 텍스트 정보 수정 - + Modifier la source de texte, d'un texte 텍스트 원본 변경 - + Modifier l'alignement d'un champ texte 텍스트 필드 정렬 변경 @@ -2520,32 +2946,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur 사용자 텍스트 - + Information de l'élément 요소 정보 - + Texte composé 조합 텍스트 - + Gauche 왼쪽 - + Centre 가운데 - + Droite 오른쪽 @@ -2553,12 +2979,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2599,153 +3025,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title 요소 열기 - + Choisissez l'élément que vous souhaitez ouvrir. dialog content 열려는 요소를 선택하세요. - + Enregistrer un élément dialog title 요소 저장 - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content 정의를 저장할 요소를 선택하세요. - + Ouvrir une catégorie dialog title 카테고리 열기 - - + + Choisissez une catégorie. dialog content 카테고리를 선택하세요. - + Enregistrer une catégorie dialog title 카테고리 저장 - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre 제목 - + Label 라벨 - + Nom du nouveau dossier 새 폴더 이름 - + Nom du nouveau template - + Écraser le template ? message box title - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content 이름이 있는 요소 또는 요소의 카테고리를 선택해야 합니다. - + Sélection inexistante message box title 존재하지 않는 선택 - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content 선택 항목이 존재하지 않습니다. - - + + Sélection incorrecte message box title 잘못된 선택 - + La sélection n'est pas un élément. message box content 선택 항목이 요소가 아닙니다. - + Écraser l'élément ? message box title 요소를 덮어쓰시겠습니까? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content 요소가 이미 존재합니다. 덮어쓰시겠습니까? @@ -2769,12 +3268,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 이 텍스트 삭제 - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2792,104 +3297,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations 정보 - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2905,8 +3520,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type 유형 @@ -2989,8 +3604,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction 기능 @@ -3020,302 +3635,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 값 - - - + + + Simple 단순 - + Maître 마스터 - + Esclave 슬레이브 - + Renvoi de folio suivant 다음 시트 참조 - + Renvoi de folio précédent 이전 시트 참조 - + Bornier 단자대 - + Vignette 미리보기 - + Définition de conducteur - - + + Normalement ouvert 통상 개방 - - + + Normalement fermé 통상 폐쇄 - - + + Inverseur 전환 접점 - + Other 기타 - + Esclave PLC - - + + Puissance 전력용 - - + + Temporisé travail 투입 지연 - - + + Temporisé repos 차단 지연 - - + + Temporisé travail & repos 투입/차단 지연 - + Bobine 코일 - + Organe de protection 보호기기 - + Commutateur / bouton 스위치 / 버튼 - + Module PLC - - + + Générique 일반 - + Fusible 퓨즈 - + Séctionnable 단로기 - + Diode 다이오드 - + Phase 상(Phase) - + Neutre 중성선(N) - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire 주석 - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun 없음 - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre 접지(PE) @@ -3329,7 +3944,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3464,249 +4079,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 선택 위로 - + Ajouter la sélection 선택 추가 - + Supprimer la sélection 선택 삭제 - + Descendre la sélection 선택 아래로 - + Pas de filtre 필터 없음 - + N'est pas vide 비어 있지 않음 - + Est vide 비어 있음 - + Contient 포함 - + Ne contient pas 포함하지 않음 - + Est égal à 같음 - + N'est pas égale à 같지 않음 - + Filtre : 필터 : - + Type d'éléments 요소 종류 - + Simples 단일 - + Tous 전체 - + Vignettes 미리보기 - + Contacteurs et relais 접촉기 및 릴레이 - + Boutons et commutateurs 버튼 및 스위치 - + Borniers 단자대 - + Organes de protection 보호기기 - + Automates (MAE/SPS) - + Configuration 설정 - + Ouvrir la configuration sélectionné 선택한 설정 열기 - + Sauvegarder la configuration actuelle 현재 설정 저장 - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée 사용자 지정 SQL 쿼리 - + Requête SQL : SQL 쿼리 : - + Position 위치 - + Titre du folio 시트 제목 - + Position du folio 시트 위치 - + Numéro du folio 시트 번호 - - + + Exporter 내보내기 - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur 오류 - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3714,28 +4329,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive 도형 이동 - + Éditer les informations sur l'auteur window title 작성자 정보 편집 - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. 이 입력란에 요소의 작성자, 라이선스 또는 기타 필요한 정보를 입력할 수 있습니다. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. 요소 이름을 여러 언어로 지정할 수 있습니다. - + Éditer les noms window title 이름 편집 @@ -3744,101 +4359,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. 카테고리 이름을 언어별로 지정할 수 있습니다. - + Nom interne : 내부 이름 : - + L'item n'est pas une catégorie message box title 항목이 카테고리가 아닙니다 - + L'item demandé n'est pas une categrie. Abandon. message box content 요청한 항목은 카테고리가 아닙니다. 중단합니다. - + Catégorie inexistante message box title 카테고리가 없습니다 - + La catégorie demandée n'existe pas. Abandon. message box content 요청한 카테고리가 존재하지 않습니다. 중단합니다. - + Éditer une catégorie window title 카테고리 편집 - + Créer une nouvelle catégorie window title 새 카테고리 만들기 - + Nom de la nouvelle catégorie default name when creating a new category 새 카테고리 이름 - + Édition en lecture seule message box title 읽기 전용 편집 - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content 이 카테고리를 수정할 권한이 없습니다. 읽기 전용으로 열립니다. - + Nom interne manquant message box title 내부 이름 누락 - + Vous devez spécifier un nom interne. message box content 내부 이름을 지정해야 합니다. - + Nom interne déjà utilisé message box title 내부 이름이 이미 사용 중 - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content 선택한 내부 이름은 기존 카테고리에서 이미 사용 중입니다. 다른 이름을 선택하세요. - + Erreur message box title 오류 - + Impossible de créer la catégorie message box content 카테고리를 만들 수 없습니다 @@ -3847,108 +4462,108 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant 해당 폴더 열기 - + Éditer l'élément 요소 편집 - + Supprimer l'élément 요소 삭제 - + Supprimer le dossier 폴더 삭제 - + Recharger les collections 컬렉션 새로 고침 - + Éditer le dossier 폴더 편집 - + Nouveau dossier 새 폴더 - + Nouvel élément 새 요소 - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier 이 폴더만 표시 - + Afficher tous les dossiers 모든 폴더 표시 - + Propriété du dossier 폴더 속성 - + Supprimer l'élément ? message box title 요소를 삭제할까요? - + Suppression de l'élément message box title 요소 삭제 - + La suppression de l'élément a échoué. message box content 요소 삭제에 실패했습니다. - + Supprimer le dossier? message box title 폴더를 삭제할까요? - + Suppression du dossier message box title 폴더 삭제 - + La suppression du dossier a échoué. message box content 폴더 삭제에 실패했습니다. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3964,96 +4579,96 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient 폴더 %1 포함: - + %n élément(s), répartie(s) %n개 요소(분산) - + dans %n dossier(s). %n개 폴더에 - + Chemin de la collection : %1 컬렉션 경로 : %1 - + Chemin dans le système de fichiers : %1 파일 시스템 경로 : %1 - + Rechercher... - + Collections 컬렉션 - + Modèles - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Propriété du dossier %1 폴더 %1 속성 @@ -4123,124 +4738,124 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. ElementsPanelWidget - + Ouvrir le dossier correspondant 해당 폴더 열기 - + Copier le chemin 전체 경로 복사 - + Basculer vers ce projet 이 프로젝트로 전환 - + Éditer ce modèle 이 템플릿 편집 - + Supprimer ce modèle 이 템플릿 삭제 - + Fermer ce projet 이 프로젝트 닫기 - + Propriétés du projet 프로젝트 속성 - + Propriétés du folio 시트 속성 - + Ajouter un folio 시트 추가 - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio 이 시트 삭제 - + Remonter ce folio 이 시트 위로 - + Abaisser ce folio 이 시트 아래로 - + Remonter ce folio x10 이 시트 위로 x10 - + Remonter ce folio x100 이 시트 위로 x100 - + Remonter ce folio au debut 이 시트를 맨 앞으로 - + Abaisser ce folio x10 이 시트 아래로 x10 - + Abaisser ce folio x100 이 시트 아래로 x100 - + Nouveau modèle 새 템플릿 - - + + Panneau des éléments - + Filtrer 필터 @@ -4286,7 +4901,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. ExportConfigPage - + Export configuration page title 내보내기 @@ -4295,101 +4910,101 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. ExportDialog - + Aperçu 미리보기 - + Dimensions 크기 - + Impossible d'écrire dans ce fichier message box title 파일에 쓸 수 없습니다 - + Exporter 내보내기 - + Nom de fichier 파일 이름 - - + + px px - + Noms des fichiers cibles message box title 대상 파일 이름 - + Exporter les folios du projet window title 프로젝트 시트 내보내기 - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : 내보낼 시트와 크기를 선택하세요 : - + Tout cocher 모두 선택 - + Tout décocher 모두 해제 - + Titre du folio 시트 제목 - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content 내보낼 각 시트에 대해 비어 있지 않고 고유한 파일 이름을 입력해야 합니다. - + Dossier non spécifié message box title 폴더가 지정되지 않았습니다 - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content 이미지 파일을 저장할 폴더 경로를 지정해야 합니다. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content 파일 %1에 쓰기 권한이 없는 것 같습니다. @@ -4654,63 +5269,73 @@ that you create. Text and number inputs are 이동 적용 - - + + Générique 일반 - + Fusible 퓨즈 - + Sectionnable 분리형 - + Diode 다이오드 - + Terre 접지 - + Phase 상 - + Neutre 중성선 - + Sans 없음 - + Avec 있음 - + Modifier des propriétés de borniers 단자대 속성 수정 - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4718,27 +5343,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label 라벨 - + Référence croisé 교차 참조 - + Type 종류 - + Fonction 기능 - + led LED @@ -4756,47 +5381,48 @@ that you create. Text and number inputs are 시스템 색상 사용 - + Chemin de la collection utilisateur 사용자 컬렉션 경로 - + Chemin des cartouches utilisateur 사용자 표제란 경로 - + Chemin de la collection commune 공용 컬렉션 경로 - - - - - - + + + + + + Par defaut 기본값 - - - - - - + + + + + + + Parcourir... 찾아보기... - + (Recharger les collections d'éléments pour appliquer les changements) (변경 사항을 적용하려면 요소 컬렉션을 다시 불러오세요) - + Projets 프로젝트 @@ -4806,41 +5432,41 @@ that you create. Text and number inputs are 터치패드 제스처 사용 - + Utiliser les numéros de folio à la place de leur position dans le projet 프로젝트 내 위치 대신 시트 번호 사용 - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 표제란 열 번호를 0부터 시작(그 외에는 1) - + Désactivé 비활성화 - + min minute 분 - + Mettre en valeur dans le panel les éléments fraîchement intégrés 패널에서 새로 추가된 요소 강조 표시 - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : 각 요소에는 작성자, 라이선스 또는 기타 유용한 정보를 자유 입력란에 포함할 수 있습니다. 여기에서 새로 만드는 요소에 대해 이 입력란의 기본값을 지정할 수 있습니다 : - + Appliqué au prochain lancement de QElectroTech 다음 QElectroTech 실행 시 적용 @@ -4850,62 +5476,62 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments 양식 - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) 프로젝트 자동 백업(다음 QElectroTech 실행 시 적용) - + Collections 컬렉션 - + Accès aux collections 컬렉션 접근 - + Répertoire de la collection commune 공용 컬렉션 폴더 - + Répertoire de la collection utilisateur 사용자 컬렉션 폴더 - + Répertoire des cartouches utilisateur 사용자 표제란 폴더 - + Gestion des éléments 요소 관리 - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech 여기에서 QElectroTech의 다양한 텍스트에 대한 기본 모양을 설정할 수 있습니다 - + Grille + Clavier 격자 + 키보드 - + Grille : 1 - 30 격자 : 1 - 30 - + DiagramEditor xGrid 도면 편집기 x격자 - + DiagramEditor yGrid 도면 편집기 y격자 @@ -4920,218 +5546,333 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) 창 모드 사용(&W) (다음 QElectroTech 실행 시 적용) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) 탭 모드 사용(&T) (다음 QElectroTech 실행 시 적용) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : 고해상도(HDPI) 디스플레이 배율 방식(다음 QElectroTech 실행 시 적용) : - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company 회사 컬렉션 폴더 - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company 회사 표제란 폴더 - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues 언어 - + Textes 텍스트 - + Textes d'éléments 요소 텍스트 - - - + + + Police : 글꼴 : - - + + ° ° - + Longueur : 길이 : - - + + Rotation : 회전 : - + Textes indépendants 독립 텍스트 - + Autres textes 기타 텍스트 - + La Grille doite etre active pour pouvoir voir les modifications. 변경 사항을 보려면 격자가 활성화되어야 합니다. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 키보드 이동 : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid 도면 편집기(키: 왼쪽/오른쪽) x격자 - + DiagramEditor (touche : haut / bas) yGrid 도면 편집기(키: 위/아래) y격자 - + Déplacement au clavier avec la touche ALT : 1 - 9 ALT 키로 키보드 이동 : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid 도면 편집기(키: 왼쪽/오른쪽) x격자 - + DiagramEditor (touche : haut / bas) yGrid 도면 편집기(키: 위/아래) y격자 - + Affichage Grille 격자 표시 - - + + max: 최대: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 도면 편집기 격자 점 크기 : 1 - 5 - - + + min: 최소: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 요소 편집기 격자 점 크기 : 1 - 5 - + Editor 편집기 - + Max. parts in Element Editor List 요소 편집기 목록의 최대 부품 수 - + Ne pas conserver les labels des éléments lors des copier coller 복사/붙여넣기 시 요소 라벨을 유지하지 않음 @@ -5141,218 +5882,316 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments 시트 범위를 넘어 축소 허용 - + Arrondi supérieur pour 0.5 et plus 0.5 이상 올림 - + Toujours arrondi supérieur 항상 올림 - + Toujours arrondi inférieur 항상 내림 - + Arrondi supérieur pour 0.75 et plus 0.75 이상 올림 - + Pas d'arrondi 반올림 안 함 - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title 일반 - + Système 시스템 - + Arabe 아랍어 - + Brézilien 브라질 포르투갈어 - + Catalan 카탈로니아어 - + Tchèque 체코어 - + Allemand 독일어 - + Danois 덴마크어 - + Grec 그리스어 - + Anglais 영어 - + Espagnol 스페인어 - + Français 프랑스어 - + Croate 크로아티아어 - + Italien 이탈리아어 - + Japonais 일본어 - + Coréen - + Polonais 폴란드어 - + Portugais 포르투갈어 - + Roumains 루마니아어 - + Russe 러시아어 - + Slovène 슬로베니아어 - + Pays-Bas 네덜란드어 - + Norvege 노르웨이어 - + Belgique-Flemish 벨기에-플라망어 - + Turc 터키어 - + Hongrois 헝가리어 - + Mongol 몽골어 - + Ukrainien 우크라이나어 - + Chinois 중국어 - + Suédois 스웨덴어 - + Chemin de la collection company 회사 컬렉션 경로 - + Chemin des cartouches company 회사 표제란 경로 - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + CSV 파일 (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. 값이 너무 크면 프로그램이 비정상 종료될 수 있습니다. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5407,7 +6246,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu 이것은 시트에 적용할 수 있는 표제란 템플릿입니다. - + %1 [non utilisé dans le projet] %1 [프로젝트에서 사용되지 않음] @@ -5736,42 +6575,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu 미리보기 - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5982,28 +6821,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6246,6 +7085,95 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu 연결 해제 + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + MarginsEditDialog @@ -6287,7 +7215,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu <html><head/><body><p>선택한 요소 연결 해제</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>선택한 요소 연결</p></body></html> @@ -6397,7 +7325,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6407,6 +7335,158 @@ Voulez-vous tout de même lier ce contact esclave ? 교차 참조(마스터) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6456,10 +7536,15 @@ Voulez-vous tout de même lier ce contact esclave ? 도체(전선) 자동 번호 매기기 - + Multi-collage 다중 붙여넣기 + + + Numéroter les éléments collés + + NameListDialog @@ -6469,7 +7554,7 @@ Voulez-vous tout de même lier ce contact esclave ? 대화 상자 - + Variables de cartouche 표제란 변수 @@ -6497,7 +7582,7 @@ Voulez-vous tout de même lier ce contact esclave ? 행 추가 - + Copier dans le presse papier 클립보드에 복사 @@ -6555,13 +7640,13 @@ Voulez-vous tout de même lier ce contact esclave ? 자동 번호 매기기 - + Nouveau folio configuration page title 새 도면 시트 - + Nouveau projet configuration page title 새 프로젝트 @@ -6836,13 +7921,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name 동적 텍스트 필드 - + Déplacer un champ texte 텍스트 필드 이동 @@ -6902,57 +7987,74 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte 텍스트 이동 - + Modifier un champ texte 텍스트 필드 편집 + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7058,12 +8160,12 @@ Voulez-vous tout de même lier ce contact esclave ? 닫힌 다각형 - + Ajouter un point 점 추가 - + Supprimer ce point 이 점 삭제 @@ -7115,77 +8217,77 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - - + + %n conducteurs composent le potentiel suivant : 다음 포텐셜은 도체 %n개로 구성됩니다: - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - + Ajouter au câble: %1 케이블에 추가: %1 - + Ajouter au bus: %1 버스에 추가: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption 여러 도체 속성 편집 - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7193,10 +8295,106 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + Conserver + + + + + Supprimer + 삭제 + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title 인쇄 @@ -7205,155 +8403,345 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto 자동 번호 매기기 - + Management 관리 - - + + Conducteurs 도체 - - - Eléments - 요소 - - - - - Folios - 폴리오 - - - - Numérotation auto des folios - 폴리오 자동 번호 매기기 - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + 이름 + + + + Folio - - - - - - - - Sans nom - 이름 없음 + + Élément + 요소 - - Importer les numérotations d'un projet + + Figé + + + + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + 요소 + + + + + Folios + 폴리오 + + + + Numérotation auto des folios + 폴리오 자동 번호 매기기 + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + ; %n numéro(s) sans élément + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + Supprimer la numérotation + 번호 매기기 삭제 + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + Sans nom + 이름 없음 + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech 프로젝트 (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - 새 번호 매기기 이름 + 새 번호 매기기 이름 ProjectDBModel - + Position 위치 - + Position du folio 폴리오 위치 @@ -7376,50 +8764,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title 일반 - + Titre du projet : label when configuring 프로젝트 제목: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label 이 제목은 이 프로젝트의 모든 폴리오에서 %projecttitle로 사용할 수 있습니다. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label 아래에서 사용자 정의 속성을 설정할 수 있으며, 이 프로젝트의 모든 폴리오에서 사용할 수 있습니다(일반적으로 타이틀 블록에 사용). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7463,137 +8935,137 @@ Les variables suivantes sont incompatibles : 종료 날짜: - + Option de rendu 렌더링 옵션 - + Dessiner le cadre 테두리 그리기 - + Dessiner le cartouche 타이틀 블록 그리기 - + Conserver les couleurs des conducteurs 도체 색상 유지 - + Dessiner les bornes 단자 그리기 - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression 인쇄 옵션 - + Adapter le folio à la page 폴리오를 페이지에 맞춤 - + Utiliser toute la feuille 용지 전체 사용 - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." 이 옵션을 선택하면, 폴리오가 확대/축소되어 1페이지의 인쇄 가능 영역 전체를 채웁니다." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. 이 옵션을 선택하면 용지 여백이 무시되고 전체 영역이 인쇄에 사용됩니다. 프린터에 따라 지원되지 않을 수 있습니다. - + toolBar 도구 모음 - + Ajuster la largeur 너비에 맞춤 - + Ajuster la page 페이지에 맞춤 - + Zoom arrière 축소 - + Zoom avant 확대 - + Paysage 가로 - + Portrait 세로 - + Première page 첫 페이지 - + Page précédente 이전 페이지 - + Page suivante 다음 페이지 - + Dernière page 마지막 페이지 - + Afficher une seule page 한 페이지 보기 - + Afficher deux pages 양면(두 페이지) 보기 - + Afficher un aperçu de toutes les pages 전체 페이지 미리보기 - + mise en page 페이지 레이아웃 @@ -7770,167 +9242,215 @@ Voulez-vous enregistrer les modifications ? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET 타이틀 블록 - + Cartouches company title of the company's title block templates collection 회사 타이틀 블록 - + Cartouches utilisateur title of the user's title block templates collection 사용자 타이틀 블록 - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + 오류 + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter 종료(&Q) - + &Masquer 숨기기(&H) - + &Restaurer 표시(&S) - + &Masquer tous les éditeurs de schéma 모든 도면 편집기 숨기기(&D) - + &Restaurer tous les éditeurs de schéma 모든 도면 편집기 표시(&D) - + &Masquer tous les éditeurs d'élément 모든 요소 편집기 숨기기(&E) - + &Restaurer tous les éditeurs d'élément 모든 요소 편집기 표시(&E) - + &Masquer tous les éditeurs de cartouche systray submenu entry 모든 타이틀 블록 템플릿 편집기 숨기기(&T) - + &Restaurer tous les éditeurs de cartouche systray submenu entry 모든 타이틀 블록 템플릿 편집기 표시(&T) - + &Nouvel éditeur de schéma 새 도면 편집기(&N) - + &Nouvel éditeur d'élément 새 요소 편집기(&N) - + Ferme l'application QElectroTech QElectroTech를 종료합니다 - + Réduire QElectroTech dans le systray QElectroTech를 시스템 트레이로 최소화 - + Restaurer QElectroTech QElectroTech 복원 - + Éditeurs de schémas 도면 편집기 - + Éditeurs d'élément 요소 편집기 - + Éditeurs de cartouche systray menu entry 타이틀 블록 템플릿 편집기 - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>다음 복구 파일을 찾았습니다.<br>열겠습니까?</b><br> + <b>다음 복구 파일을 찾았습니다.<br>열겠습니까?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>다음 복구 파일들을 찾았습니다.<br>열겠습니까?</b><br> + <b>다음 복구 파일들을 찾았습니다.<br>열겠습니까?</b><br> - Fichier de restauration - 복구 파일 + 복구 파일 - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : 사용법: - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7941,109 +9461,109 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue - + Chargement... Initialisation du cache des collections d'éléments splash screen caption 로딩 중... 요소 컬렉션 캐시 초기화 - + Chargement... Éditeur de schéma splash screen caption 로딩 중... 도면 편집기 - + Chargement... Ouverture des fichiers splash screen caption 로딩 중... 파일 여는 중 - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning 도면 - + Electrique Normal example text - translate length, not meaning 전기 - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech 설정 - + Chargement... splash screen caption 로딩 중... - + Chargement... icône du systray splash screen caption 로딩 중... 시스템 트레이 아이콘 - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8052,102 +9572,103 @@ Options disponibles : QETDiagramEditor - + Afficha&ge 표시(&A) - + Affiche ou non le panel d'appareils 요소 패널 표시/숨김 - + Ajouter une colonne 열 추가 - + &Cascade 계단식 배열(&C) - + C&oller 붙여넣기(&P) - + Cop&ier 복사(&C) - + Co&uper 잘라내기(&T) - + Désélectionner tout 선택 해제 - + &Édition 편집(&E) - + Enlever une colonne 열 제거 - + &Enregistrer 저장(&S) - + Enregistrer sous 다른 이름으로 저장 - + E&xporter 내보내기(&X) - + Fe&nêtres 창(&N) - + + &Fermer 닫기(&C) - + &Fichier 파일(&F) - + Imprimer 인쇄 - + Inverser la sélection 선택 반전 - + Mode Selection 선택 모드 - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip 이 패널은 현재 시트에서 수행된 다양한 변경 사항을 나열합니다. 변경 항목을 클릭하면 해당 변경이 적용된 직후의 상태로 되돌릴 수 있습니다. @@ -8163,984 +9684,1208 @@ Options disponibles : 시트 배경색을 흰색 또는 회색으로 표시합니다 - + Afficher la grille 격자 표시 - + Affiche ou masque la grille des folios 시트의 격자를 표시하거나 숨깁니다 - + Propriétés du folio 시트 속성 - + Ajouter un folio 시트 추가 - - - + + + Supprimer le folio 시트 삭제 - + Mode Visualisation 보기 모드 - + &Mosaïque &바둑판식 배열 - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf PDF로 내보내기 - + Exporte un ou plusieurs folios du projet courant status bar tip 현재 프로젝트의 시트를 하나 이상 내보냅니다 - + Afficher les guides - + Affiche ou masque les guides - + Exporter au format CSV CSV로 내보내기 - + Gestionnaire de borniers (DEV) 단자대 관리자(DEV) - + Lancer le plugin de création de borniers 단자대 생성 플러그인 실행 - + Exporter la liste des noms de conducteurs 도선(와이어) 이름 목록 내보내기 - + Exporter le plan de câblage - + Numérotation automatique des bornes - + Exporter la base de donnée interne du projet 프로젝트 내부 데이터베이스 내보내기 - + &Nouveau &새로 만들기 - + Crée un nouveau projet status bar tip 새 프로젝트를 생성합니다 - + Ouvre un projet existant status bar tip 기존 프로젝트를 엽니다 - + Ferme le projet courant status bar tip 현재 프로젝트를 닫습니다 - + Enregistre le projet courant et tous ses folios status bar tip 현재 프로젝트와 모든 시트를 저장합니다 - + Enregistre le projet courant avec un autre nom de fichier status bar tip 현재 프로젝트를 다른 파일 이름으로 저장합니다 - + Ajouter une ligne Add row 행 추가 - + Enlever une ligne Remove row 행 제거 - + Ajoute une colonne au folio status bar tip 시트에 열을 추가합니다 - + Enlève une colonne au folio status bar tip 시트에서 열을 제거합니다 - + Agrandit le folio en hauteur status bar tip 시트 높이를 늘립니다 - + Rétrécit le folio en hauteur status bar tip 시트 높이를 줄입니다 - + Enlève les éléments sélectionnés du folio status bar tip 선택한 요소를 시트에서 제거합니다 - + Sélectionne tous les éléments du folio status bar tip 시트의 모든 요소를 선택합니다 - + Désélectionne tous les éléments du folio status bar tip 시트의 모든 선택을 해제합니다 - + Agrandit le folio status bar tip 시트를 확대합니다 - + Rétrécit le folio status bar tip 시트를 축소합니다 - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre 프레임과 무관하게 시트의 전체 내용을 표시하도록 확대/축소를 맞춥니다 - + Adapte le zoom exactement sur le cadre du folio status bar tip 시트 프레임에 정확히 맞도록 확대/축소를 맞춥니다 - + Ajouter une ligne Draw line 선 추가 - + Ajouter un rectangle 사각형 추가 - + Ajouter une ellipse 타원 추가 - + Ajouter une polyligne 폴리라인 추가 - + Exporte le folio courant dans un autre format status bar tip 현재 시트를 다른 형식으로 내보냅니다 - + Imprime un ou plusieurs folios du projet courant status bar tip 현재 프로젝트의 시트를 하나 이상 인쇄합니다 - + Profondeur toolbar title 깊이 - + Groupe 그룹 - + Place les éléments du presse-papier sur le folio status bar tip 클립보드의 요소를 시트에 붙여넣습니다 - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip 시트 속성(치수, 표제란 정보, 도선 속성 등)을 편집합니다 - + Permet de visualiser le folio sans pouvoir le modifier status bar tip 시트를 수정하지 않고 보기만 할 수 있습니다 - + Outils 도구 - + &Ouvrir &열기 - + Ouvrir un fichier 파일 열기 - + Pas de zoom 확대/축소 초기화 - + Pivoter 회전 - + &Quitter &종료 - + Supprimer 삭제 - + Tout sélectionner 모두 선택 - + Zoom adapté 화면에 맞춤 - + Zoom arrière 축소 - + Zoom avant 확대 - + Annuler 실행 취소 - + Refaire 다시 실행 - + Réinitialiser les conducteurs 도선 초기화 - + Affiche ou non la barre d'outils principale 주 도구 모음을 표시하거나 숨깁니다 - + Affiche ou non la barre d'outils Affichage 표시 도구 모음을 표시하거나 숨깁니다 - + Affiche ou non la barre d'outils Schéma 도면 도구 모음을 표시하거나 숨깁니다 - + Affichage 표시 - + Schéma 도면 - + Ajouter un champ de texte 텍스트 필드 추가 - + Aucune modification 변경 사항 없음 - + Affiche ou non la liste des modifications 변경(실행 취소) 목록을 표시하거나 숨깁니다 - + Éditer l'item sélectionné 선택한 항목 편집 - + Grouper les textes sélectionnés 선택한 텍스트 그룹화 - + Pivote les éléments et textes sélectionnés status bar tip 선택한 요소와 텍스트를 회전합니다 - + Pivote les textes sélectionnés à un angle précis status bar tip 선택한 텍스트를 지정한 각도로 회전합니다 - + Chercher/remplacer 찾기/바꾸기 - + &Projet &프로젝트 - + &Récemment ouverts &최근 열었던 파일 - - + + Projet %1 enregistré dans le repertoire: %2. 프로젝트 %1이(가) 다음 폴더에 저장되었습니다: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. 열려는 파일에 읽기 권한이 없어 열 수 없습니다. 파일 권한을 확인하세요. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. 열려는 프로젝트에 쓰기 권한이 없어 읽기 전용으로 열립니다. - + en utilisant des onglets 탭으로 표시 - + en utilisant des fenêtres 창으로 표시 - + Afficher les projets 프로젝트 표시 - + Propriétés du projet 프로젝트 속성 - + Nettoyer le projet 프로젝트 정리 - - + + Échec de l'ouverture du projet message box title 프로젝트 열기 실패 - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content 파일 %1은(는) QElectroTech 프로젝트 파일이 아닌 것으로 보입니다. 따라서 열 수 없습니다. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title 실행 취소 - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip 작업을 클릭하면 도면 편집 상태를 이전으로 되돌릴 수 있습니다 - + Orienter les textes 텍스트 방향 설정 - + Retrouver dans le panel 패널에서 찾기 - + Ajouter une image 이미지 추가 - + Ajouter un sommaire 목차 추가 - + Zoom sur le contenu 내용에 맞게 확대/축소 - + Ferme l'application QElectroTech status bar tip QElectroTech를 종료합니다 - + Annule l'action précédente status bar tip 이전 작업을 취소합니다 - + Restaure l'action annulée status bar tip 취소한 작업을 다시 실행합니다 - + Transfère les éléments sélectionnés dans le presse-papier status bar tip 선택한 요소를 클립보드로 잘라냅니다 - + Copie les éléments sélectionnés dans le presse-papier status bar tip 선택한 요소를 클립보드에 복사합니다 - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip 선택을 반전합니다 - + Retrouve l'élément sélectionné dans le panel status bar tip 패널에서 선택한 항목을 찾습니다 - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip 사용자 변경을 무시하고 도선 경로를 다시 계산합니다 - + Création automatique de conducteur(s) Tool tip of auto conductor 도선 자동 생성 - + Projets dock title 프로젝트 - + Collections 컬렉션 - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor 가능한 경우 도선 자동 생성을 사용합니다 - + Restaure le zoom par défaut status bar tip 기본 확대/축소로 복원합니다 - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip 열려 있는 프로젝트를 하위 창으로 표시합니다 - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + 표시 + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + 교차 참조 + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature 부품표(BOM) 추가 - + Liste de câblage (base de données) - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip 열려 있는 프로젝트를 탭으로 표시합니다 - + Permet de sélectionner les éléments status bar tip 요소를 선택할 수 있습니다 - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes 단자 배치도 추가 - + Ajoute un champ de texte sur le folio actuel 현재 시트에 텍스트 필드를 추가합니다 - + Ajoute une image sur le folio actuel 현재 시트에 이미지를 추가합니다 - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel 현재 시트에 선을 추가합니다 - + Ajoute un rectangle sur le folio actuel 현재 시트에 사각형을 추가합니다 - + Ajoute une ellipse sur le folio actuel 현재 시트에 타원을 추가합니다 - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel 현재 시트에 폴리라인을 추가합니다 - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel 현재 시트에 단자대 배치도를 추가합니다 - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter 추가 - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech 프로젝트 (*.qet);;XML 파일 (*.xml);;모든 파일 (*) - - + + Impossible d'ouvrir le fichier message box title 파일을 열 수 없음 - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 열려는 파일 %1이(가) 존재하지 않거나 더 이상 존재하지 않습니다. - + Ouverture du projet en lecture seule message box title 읽기 전용으로 프로젝트 열기 - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9148,7 +10893,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9156,168 +10901,206 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + + %n objet(s) remis sur la grille + + + + + + + %n objet(s) aligné(s) + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element 요소 편집 - + Éditer le champ de texte edit text field 텍스트 필드 편집 - + Éditer l'image edit image 이미지 편집 - + Éditer le conducteur edit conductor 도선 편집 - + Éditer l'objet sélectionné edit selected item 선택한 개체 편집 - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content 파일 %1을(를) 여는 동안 오류가 발생했습니다. - + Active le projet « %1 » 프로젝트 « %1 »을(를) 활성화합니다 - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title 오류 - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9326,46 +11109,141 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + Textes %1 - + Dispose les fenêtres en mosaïque status bar tip 창을 바둑판식으로 배열합니다 - + Dispose les fenêtres en cascade status bar tip 창을 계단식으로 배열합니다 - + Projet suivant 다음 프로젝트 - + Projet précédent 이전 프로젝트 - + Active le projet suivant status bar tip 다음 프로젝트를 활성화합니다 - + Active le projet précédent status bar tip 이전 프로젝트를 활성화합니다 @@ -9374,27 +11252,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &새로 만들기 - + &Ouvrir &열기 - + &Enregistrer &저장 - + Enregistrer sous 다른 이름으로 저장 - + Tout sélectionner 모두 선택 @@ -9404,363 +11282,363 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - 요소 편집기 - + &Aide &도움말 - + Annulations 실행 취소 - + Parties 구성 - + Informations 정보 - + Outils 도구 - + Affichage 표시 - + Élément 요소 - + Annulation 취소 - + Exporter en SVG - + &Fermer cet éditeur &이 편집기 닫기 - + Fermer cet éditeur 이 편집기 닫기 - + Désélectionner tout 선택 해제 - + C&oller dans la zone 영역에 &붙여넣기 - + Un fichier 파일 - + Un élément 요소 - + Inverser la sélection 선택 반전 - + &Supprimer &삭제 - + À &propos de QElectroTech QElectroTech &정보 - + Affiche des informations sur QElectroTech QElectroTech 정보를 표시합니다 - + Manuel en ligne 온라인 매뉴얼 - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech 기본 브라우저로 QElectroTech 온라인 매뉴얼을 엽니다 - + Chaine Youtube YouTube 채널 - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech 기본 브라우저로 QElectroTech YouTube 채널을 엽니다 - + Soutenir le projet par un don 기부로 프로젝트 지원 - + Soutenir le projet QElectroTech par un don 기부로 QElectroTech 프로젝트를 지원합니다 - + À propos de &Qt &Qt 정보 - + Affiche des informations sur la bibliothèque Qt Qt 라이브러리 정보를 표시합니다 - + Rotation 회전 - + Fine-Rotation 미세 회전 - + Mirror 미러 - + Flip 뒤집기 - + Importer un dxf DXF 가져오기 - + importer un élément à redimensionner 크기 조정할 요소 가져오기 - + Ajouter une ligne 선 추가 - + Ajouter une ellipse 타원 추가 - + Ajouter un polygone 다각형 추가 - + Ajouter du texte 텍스트 추가 - + Ajouter un arc de cercle 호 추가 - + Ajouter une borne 단자 추가 - + Annuler 실행 취소 - + Refaire 다시 실행 - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>단자가 없으면, 이 요소는 도체를 통해 다른 요소에 연결할 수 없습니다. - + Aucune modification 변경 없음 - + Recharger 다시 불러오기 - + Zoom avant 확대 - + Zoom arrière 축소 - + Zoom adapté 화면에 맞춤 - + Pas de zoom 확대/축소 초기화 - + &Ouvrir depuis un fichier 파일에서 &열기 - + Enregistrer dans un fichier 파일로 저장 - + Éditer les informations sur l'auteur 작성자 정보 편집 - + Parties toolbar title 부품 - + Profondeur toolbar title 깊이 - + Éditer le nom et les traductions de l'élément 요소 이름 및 번역 편집 - + Éditer les propriétés de l'élément 요소 속성 편집 - + Ajouter un champ texte dynamique 동적 텍스트 필드 추가 - + Double-click pour terminer la forme, Click droit pour annuler le dernier point 더블클릭하여 도형 종료, 오른쪽 클릭으로 마지막 점 취소 - + &Fichier &파일 - + &Édition &편집 - + Afficha&ge &보기 - + Coller depuis... 다음에서 붙여넣기... - + [Modifié] window title tag [수정됨] - + [lecture seule] window title tag [읽기 전용] - + Éditeur d'éléments status bar message 요소 편집기 - - + + %n partie(s) sélectionnée(s). %n개 부품 선택됨. - + Trop de primitives, liste non générée: %1 프리미티브가 너무 많아 목록을 생성하지 못했습니다: %1 - + Absence de borne warning title 단자 없음 - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>오류</b> :<br>폴리오 참조 요소는 단자를 1개만 가져야 합니다.<br><b>해결</b> :<br>요소에 단자가 1개만 있는지 확인하십시오 - + La vérification de cet élément a généré message box content 이 요소 검사 결과 - + %n erreur(s) errors @@ -9768,32 +11646,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et 그리고 - + Erreurs 오류 - + Absence de borne 단자 없음 - + Ajouter un texte d'élément non éditable dans les schémas 도면에서 편집할 수 없는 요소 텍스트 추가 - + Ajouter un texte d'élément pouvant être édité dans les schémas 도면에서 편집할 수 있는 요소 텍스트 추가 - + %n avertissement(s) warnings @@ -9801,286 +11679,341 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Le fichier %1 n'existe pas. message box content 파일 %1이(가) 존재하지 않습니다. - + Afficher menu entry 표시 - - + + Impossible d'ouvrir le fichier %1. message box content 파일 %1을(를) 열 수 없습니다. - - + + Ce fichier n'est pas un document XML valide message box content 이 파일은 유효한 XML 문서가 아닙니다 - - + + Erreur toolbar title 오류 - - + + Édition en lecture seule message box title 읽기 전용 편집 - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content 이 요소를 수정할 권한이 없습니다. 따라서 읽기 전용으로 열립니다. - - + + Erreur message box title 오류 - + Impossible d'écrire dans ce fichier message box content 이 파일에 쓸 수 없습니다 - + Impossible d'enregistrer l'élément message box content 요소를 저장할 수 없습니다 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + 너비 + + + + Hauteur + 높이 + + + X: %1 Y: %2 - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement 경고 - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Importer un élément à redimensionner 크기 조정할 요소 가져오기 - + Éléments QElectroTech (*.elmt) QElectroTech 요소 (*.elmt) - + Impossible d'ouvrir le fichier message box title 파일을 열 수 없습니다 - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 열려고 하는 파일 %1이(가) 존재하지 않거나 더 이상 존재하지 않는 것 같습니다. - - - + + + Echec de l'enregistrement 저장 실패 - + Ouvrir un fichier dialog title 파일 열기 - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech 요소 (*.elmt);;XML 파일 (*.xml);;모든 파일 (*) - + Recharger l'élément dialog title 요소 다시 불러오기 - + Avertissements 경고 - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content 이 요소는 마지막 저장 이후 수정되었습니다. 다시 불러오면 수정 내용이 사라집니다. 정말로 이 요소를 다시 불러오시겠습니까? - + Enregistrer sous dialog title 다른 이름으로 저장 - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech 요소 (*.elmt) - + Enregistrer l'élément en cours ? dialog title 현재 요소를 저장하시겠습니까? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name 요소 %1을(를) 저장하시겠습니까? - - - - + + + + Élément inexistant. message box title 존재하지 않는 요소. - - + + L'élément n'existe pas. message box content 요소가 존재하지 않습니다. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content 선택한 가상 경로는 요소와 일치하지 않습니다. - + Co&uper 잘라내기 - + Cop&ier &복사 - + C&oller &붙여넣기 - + Ajouter un rectangle 사각형 추가 @@ -10088,137 +12021,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech QElectroTech &설정 - + Permet de régler différents paramètres de QElectroTech status bar tip QElectroTech의 다양한 설정을 지정합니다 - + À &propos de QElectroTech QElectroTech &정보 - + Affiche des informations sur QElectroTech status bar tip QElectroTech에 대한 정보를 표시합니다 - + Manuel en ligne 온라인 매뉴얼 - + Chaine Youtube 유튜브 채널 - - + + Télécharger une nouvelle version (dev) 새 버전 다운로드 (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip 기본 브라우저로 QElectroTech 온라인 매뉴얼을 엽니다 - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général 일반 - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip 기본 브라우저로 QElectroTech 유튜브 채널을 엽니다 - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip 기본 브라우저로 QElectroTech 온라인 Nightly 저장소를 엽니다 - + Soutenir le projet par un don 프로젝트 후원(기부) - + Soutenir le projet QElectroTech par un don status bar tip 기부를 통해 QElectroTech 프로젝트를 후원합니다 - + À propos de &Qt &Qt 정보 - + Affiche des informations sur la bibliothèque Qt status bar tip Qt 라이브러리에 대한 정보를 표시합니다 - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &설정 - + &Aide window menu &도움말 - + Sortir du &mode plein écran &전체 화면 모드 종료 - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech를 창 모드로 표시합니다 - + Passer en &mode plein écran &전체 화면 모드 - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech를 전체 화면 모드로 표시합니다 - + Afficher menu entry 표시 @@ -10227,58 +12195,58 @@ veuillez patienter durant l'import... QETProject - + Avertissement message box title 경고 - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path 프로젝트 « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name 프로젝트 %1 - + Projet sans titre displayed title for a project-less, file-less project 제목 없는 프로젝트 - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [읽기 전용] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [수정됨] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10286,51 +12254,51 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message 템플릿 통합 중 오류가 발생했습니다. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. 열려고 하는 프로젝트는 QElectroTech %1 버전과 부분적으로만 호환됩니다. - + Avertissement message box title 경고 - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>프로젝트 여는 중...</b><br/>폴리오 생성 중</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>프로젝트 여는 중...</b><br/>교차 참조 설정 중</p> @@ -10695,23 +12663,23 @@ Que désirez vous faire ? QObject - + Exporter vers le presse-papier 클립보드로 내보내기 - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? GNU/GPL 라이선스가 포함된 텍스트 파일을 찾을 수 없습니다 - 어차피 이미 외우고 계시죠? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? GNU/GPL 라이선스가 포함된 텍스트 파일은 존재하지만 열 수 없습니다 - 어차피 이미 외우고 계시죠? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. 경고: 이 요소는 더 최신 버전의 QElectroTech에서 저장되었습니다. @@ -10731,44 +12699,44 @@ Que désirez vous faire ? 그래픽 요소 - + supprimer %1 undo caption - %1 is a sentence listing the removed content %1 삭제 - + coller %1 undo caption - %1 is a sentence listing the content to paste %1 붙여넣기 - + couper %1 undo caption - %1 is a sentence listing the content to cut %1 잘라내기 - + déplacer %1 undo caption - %1 is a sentence listing the moved content %1 이동 - + modifier le texte undo caption 텍스트 수정 - + modifier un conducteur undo caption 도체 수정 - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content %1 초기화 @@ -10780,7 +12748,7 @@ Que désirez vous faire ? 도면 표제란 수정 - + modifier les dimensions du folio undo caption 폴리오 크기 수정 @@ -10960,7 +12928,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10968,7 +12936,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10976,7 +12944,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10984,7 +12952,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10992,7 +12960,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11000,7 +12968,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11008,7 +12976,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11016,7 +12984,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11024,69 +12992,69 @@ Que désirez vous faire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file 파일 %1을(를) 쓰기 모드로 열 수 없습니다. 오류 %2 발생. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file 파일 %1 기록 중 오류가 발생했습니다. 오류 %2 발생. - + Amener au premier plan 맨 앞으로 가져오기 - + Rapprocher 앞으로 이동 - + Éloigner 뒤로 이동 - + Envoyer au fond 맨 뒤로 보내기 - + Ramène la ou les sélections au premier plan 선택 항목을 맨 앞으로 이동 - + Rapproche la ou les sélections 선택 항목을 앞으로 이동 - + Éloigne la ou les sélections 선택 항목을 뒤로 이동 - + Envoie en arrière plan la ou les sélections 선택 항목을 맨 뒤로 이동 - - - - + + + + Profondeur 깊이 - + Borne tooltip 단자 @@ -11104,27 +13072,27 @@ Que désirez vous faire ? 사각형 - + Folio sans titre 제목 없는 폴리오 - + schema 도면 - + Conserver les proportions 비율 유지 - + Réinitialiser les dimensions 크기 초기화 - + Aperçu 미리보기 @@ -11277,6 +13245,7 @@ Que désirez vous faire ? + Titre 제목 @@ -11359,6 +13328,7 @@ Que désirez vous faire ? 텍스트 + Modifier les informations de l'élément : %1 요소 정보 수정 : %1 @@ -11446,32 +13416,32 @@ Que désirez vous faire ? 폴리오 번호 - + Collection QET QET 컬렉션 - + Collection Company 회사 컬렉션 - + Collection utilisateur 사용자 컬렉션 - + Macros - + Collection inconnue 알 수 없는 컬렉션 - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11485,8 +13455,13 @@ Que désirez vous faire ? Collection 컬렉션 + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11557,20 +13532,20 @@ Que désirez vous faire ? %1개 텍스트 그룹 - + %n texte(s) - - + + Pivoter %1 - + Orienter les textes sélectionnés window title 선택한 텍스트 방향 설정 @@ -11618,13 +13593,13 @@ Voulez-vous la remplacer ? 텍스트 구성 가져오기 : %1 - + %p% effectué (%v sur %m) %p% 완료 (%v / %m) - - + + chargement %p% (%v sur %m) 불러오는 중 %p% (%v / %m) @@ -11634,22 +13609,22 @@ Voulez-vous la remplacer ? 폴리오 속성 찾기/바꾸기 - + Chercher/remplacer les propriétés d'éléments. 요소 속성 찾기/바꾸기 - + Chercher/remplacer les propriétés de conducteurs. 도체 속성 찾기/바꾸기 - + Rechercher / remplacer avancé 고급 찾기/바꾸기 - + Chercher/remplacer des textes independants 독립 텍스트 찾기/바꾸기 @@ -11746,35 +13721,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire 주석 - - - + + + Réf. croisée @@ -11782,9 +13757,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction 기능 @@ -12114,27 +14089,27 @@ Voulez-vous la remplacer ? 저장된 파일 경로 - + Création de conducteurs 도체 생성 - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> qet_tb_generator 플러그인을 설치하려면<br>방문 :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Python 3.5 이상이 필요합니다.<br><B><U> Windows에서 최초 설치</B></U><br>1. 필요 시 Python 3.5 이상을 설치합니다<br> 방문 :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Windows에서 업데이트</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>사용자는 터미널에서 이 디렉터리에 있는 이 스크립트를 실행할 수 있습니다<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> qet_tb_generator 플러그인을 설치하려면<br>방문 :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> macOS에서 최초 설치</B></U><br>1. 필요 시 Python 3.11 번들만 설치합니다, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Profile.command 스크립트를 실행합니다<br>프로그램이 qet-tb-generator 플러그인을 찾기 위해 하드코딩된 PATH를 사용하기 때문입니다 <br> 방문 :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>설치 방법</a><br>2. pip3 install qet_tb_generator<br><B><U> macOS에서 업데이트</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> qet_tb_generator 플러그인을 설치하려면<br>방문 :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Python 3.5 이상이 필요합니다.<br><br><B><U> Linux에서 최초 설치</B></U><br>1. pip3가 설치되어 있는지 확인합니다: pip3 --version<br>설치되어 있지 않다면 다음 명령으로 설치하세요: sudo apt-get install python3-pip<br>2. 프로그램 설치: sudo pip3 install qet_tb_generator<br>3. 프로그램 실행: qet_tb_generator<br><br><B><U> Linux에서 업데이트</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin qet_tb_generator 플러그인 실행 오류 @@ -12349,12 +14324,12 @@ Voulez-vous la remplacer ? 단자 브리지 색상 변경 - + Ouvrir un element 요소 열기 - + Importer un fichier dxf DXF 파일 가져오기 @@ -12364,15 +14339,15 @@ Voulez-vous la remplacer ? 기본 배치 - - + + - - - - - - + + + + + + this is an error in the code 코드 오류입니다 @@ -12454,7 +14429,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12536,7 +14511,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12544,8 +14519,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12666,97 +14641,109 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + - + Ajouter %1 %1 추가 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte 텍스트 색상 변경 - + Pivoter un texte - + Modifier le trait d'une forme 도형 선 편집 - + Modifier le remplissage d'une forme 도형 채우기 편집 - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément 요소 텍스트 편집 - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12764,6 +14751,45 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + Dégrouper %n objet(s) + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12783,369 +14809,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau 표 제한 - + Modifier la géometrie d'un tableau 표 형상 수정 + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape 도형 - + une ligne 선 - - + + Ajouter un point 점 추가 - + Supprimer ce point 이 점 삭제 - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille 크기 - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone 다각형에 점 추가 - + Supprimer un point d'un polygone 다각형의 점 삭제 - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 %1 수정 - + un rectangle 사각형 - + une éllipse 타원 - + un arc - + une polyligne 폴리라인 - + une courbe @@ -13227,7 +15314,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 텍스트 라벨 - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? 요소 « %1 »이(가) 이미 존재합니다. 어떻게 하시겠습니까? @@ -13235,31 +15322,73 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + Folio + + + + + Élément + 요소 + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13283,9 +15412,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier 변경하지 않음 @@ -13405,97 +15534,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 상 - - + + Nombre de phase 상 수 - + Neutre 중성선 - + neutre 중성선 - + Terre 접지 - + terre 접지 - + TextLabel 텍스트 라벨 - + PushButton 버튼 - + Apparence 모양 - + Taille : 크기: - - + + Couleur : 색상: - + Style : 스타일: - - + + Modifier 수정 - + Couleur secondaire : 보조 색상: - + Taille de trait : 선 두께: - + px px - + Trait plein conductor style: solid line 실선 - + Trait en pointillés conductor style: dashed line 점선 - + Traits et points conductor style: dashed and dotted line 일점쇄선 @@ -13504,7 +15633,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier 변경하지 않음 @@ -13546,10 +15675,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier 변경하지 않음 @@ -13609,7 +15738,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 현재 날짜로 설정 - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13618,39 +15747,39 @@ Les variables suivantes sont utilisables : - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>제목란 템플릿에서 %plant로 사용 가능</p></body></html> - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Disponible en tant que %locmach pour les modèles de cartouches 제목란 템플릿에서 변수 %locmach로 사용 가능 - + Titre : 제목: - - - - - - - + + + + + + + Supprimer ce texte 이 텍스트 삭제 - + Personnalisées 사용자 정의 @@ -13680,6 +15809,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &새로 만들기 + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + 닫기(&C) + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13693,42 +16001,42 @@ Créer votre propre texte en vous aidant des variables suivantes : 다음 일치 항목으로 이동 - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>고급 옵션 표시</p></body></html> - + Aller à la correspondance précédente 이전 일치 항목으로 이동 - + Quitter 닫기 - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>요소에서 바꿀 속성 정의</p></body></html> - + Champ texte de folio 폴리오 텍스트 필드 - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>도체(배선)에서 바꿀 속성 정의</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>폴리오에서 바꿀 속성 정의</p></body></html> - + Folio 폴리오 @@ -13753,42 +16061,42 @@ Créer votre propre texte en vous aidant des variables suivantes : 대소문자 구분 - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>선택한 일치 항목 바꾸기</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>체크한 일치 항목 바꾸기</p></body></html> - + avancé 고급 - + Élément 요소 - + Conducteur 도체(배선) - + Remplacer : 바꾸기: - + Remplacer 바꾸기 - + Tout remplacer 모두 바꾸기 @@ -13798,105 +16106,105 @@ Créer votre propre texte en vous aidant des variables suivantes : 찾기: - + Actualiser 새로고침 - + Correspondance : 일치: - + Folios 폴리오 - + Champs texte 텍스트 필드 - + Eléments 요소 - + Eléments simple 단순 요소 - + Eléments maître 마스터 요소 - + Eléments esclave 슬레이브 요소 - + Eléments report de folio 폴리오 참조 요소 - + Eléments bornier 단자대 요소 - + Sélectionner les éléments de ce folio 이 폴리오의 요소 선택 - + Sélectionner les conducteurs de ce folio 이 폴리오의 도체(배선) 선택 - + Sélectionner les textes de ce folio 이 폴리오의 텍스트 선택 - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [편집됨] - + Conducteurs 도체(배선) - + Inconnue 알 수 없음 @@ -13909,17 +16217,17 @@ Créer votre propre texte en vous aidant des variables suivantes : 폼 - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>번호 매기기 변수 삭제</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>번호 매기기 변수 추가</p></body></html> - + Définition 정의 @@ -13939,38 +16247,41 @@ Créer votre propre texte en vous aidant des variables suivantes : 번호 매기기 삭제 - Précédent - 이전 + 이전 - Suivant - 다음 + 다음 - + Type 유형 - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur 값 - + Incrémentation 증가값 - + Folio Autonumérotation title window 폴리오 자동 번호 매기기 - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13987,7 +16298,7 @@ Le champ "Incrémentation" n'est pas utilisé. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14009,7 +16320,7 @@ Les autres champs ne sont pas utilisés. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14031,17 +16342,52 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window 요소 자동 번호 매기기 - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Conducteur Autonumérotation title window 도체 자동 번호 매기기 + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16430,12 +18776,12 @@ Les autres champs ne sont pas utilisés. 표시할 정보 - + Configuration 설정 - + Requête SQL : SQL 쿼리: @@ -16445,6 +18791,17 @@ Les autres champs ne sont pas utilisés. 위치 + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + TerminalEditor @@ -16779,58 +19136,58 @@ Les autres champs ne sont pas utilisés. 배치 - + Ponter les bornes 단자 브리징 - + Déponter les bornes 브리징 해제 - + Propriétés 속성 - + Nom : 이름: - + Commentaire : 비고: - + Description 설명 - + Installation : 설비: - + Localisation : 위치: - + Type : 유형: - + Degrouper les bornes 단자 그룹 해제 - - + + Générique 일반 @@ -16845,62 +19202,62 @@ Les autres champs ne sont pas utilisés. 이동 실행 - + Couleur pont : 브리지 색상: - + Fusible 퓨즈 - + Sectionnable 분리형 - + Diode 다이오드 - + Terre 접지 - + Déplacer dans : 이동 위치: - + Phase 상(Phase) - + Neutre 중성선(Neutral) - + Position automatique 자동 위치 - + Étage : 레벨: - + Grouper les bornes 단자 그룹화 - + Fonction : 기능: @@ -16915,7 +19272,7 @@ Les autres champs ne sont pas utilisés. 있음 - + LED : LED: @@ -16943,32 +19300,32 @@ Les autres champs ne sont pas utilisés. 도구 모음 - + Ajouter un bornier 단자대 추가 - + Ajouter un bornier au projet 프로젝트에 단자대 추가 - + Supprimer le bornier 단자대 제거 - + Supprimer le bornier du projet 프로젝트에서 단자대 삭제 - + Recharger 새로 고침 - + Recharger les borniers 단자대 다시 불러오기 @@ -17198,12 +19555,12 @@ Les autres champs ne sont pas utilisés. 단자대 탐색기 - + Projet sans titre 제목 없는 프로젝트 - + Bornes indépendante 독립 단자 @@ -17306,7 +19663,7 @@ Les autres champs ne sont pas utilisés. 다운로드 - + Dossier installation 설치 폴더 @@ -17314,37 +19671,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label 너비 : - + Absolu a traditional, absolute measure 절대 - + Relatif au total a percentage of the total width 전체 대비 - + Relatif au restant a percentage of what remains from the total width 남은 폭 대비 - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column PX @@ -17353,30 +19710,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut 기본 템플릿 - + Éditer ce modèle menu entry 이 템플릿 편집 - + Dupliquer et éditer ce modèle menu entry 이 템플릿 복제 후 편집 - + Title block templates actions 표제란 템플릿 작업 - - + + + Créer un Folio Numérotation Auto 도면 번호 자동 매기기 생성 @@ -17391,53 +19749,53 @@ Les autres champs ne sont pas utilisés. 폼 - + Folio : 도면 : - + Auteur : 작성자 : - + Indice Rev: 개정 인덱스: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>표제란 템플릿에서 %plant 변수로 사용 가능</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches 표제란 템플릿에서 %filename 변수로 사용 가능 - + Pas de date 날짜 없음 - + Date courante 현재 날짜 - + Appliquer la date actuelle 현재 날짜 적용 - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Principales 기본 @@ -17447,22 +19805,22 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol 표제란 정보 - + Disponible en tant que %locmach pour les modèles de cartouches 표제란 템플릿에서 %locmach 변수로 사용 가능 - + Disponible en tant que %date pour les modèles de cartouches 표제란 템플릿에서 %date 변수로 사용 가능 - + Date fixe : 고정 날짜 : - + Titre : 제목 : @@ -17472,37 +19830,37 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol <html><head/><body><p>표제란을 도면 하단(가로) 또는 우측(세로)에 표시합니다.</p></body></html> - + Fichier : 파일 : - + Date : 날짜 : - + Disponible en tant que %author pour les modèles de cartouches 표제란 템플릿에서 %author 변수로 사용 가능 - + Disponible en tant que %title pour les modèles de cartouches 표제란 템플릿에서 %title 변수로 사용 가능 - + Installation : 설비 : - + Disponible en tant que %indexrev pour les modèles de cartouches 표제란 템플릿에서 %indexrev 변수로 사용 가능 - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17511,17 +19869,17 @@ Les variables suivantes sont utilisables : - + Page Num: 페이지 번호: - + Localisation: 위치 : - + Personnalisées 사용자 지정 @@ -17529,13 +19887,13 @@ Les variables suivantes sont utilisables : TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18033,50 +20391,50 @@ Les variables suivantes sont utilisables : WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18084,7 +20442,7 @@ Les variables suivantes sont utilisables : - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18095,96 +20453,115 @@ Les variables suivantes sont utilisables : WiringListExport - - + + Erreur 오류 - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header 전압 / 프로토콜 - + Couleur du fil Wiring list CSV header 전선 색상 - + Section du fil Wiring list CSV header 전선 단면적 - + Fonction Wiring list CSV header 기능 - + + Câble + Wiring list CSV header + 케이블 + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + 경고 + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18392,27 +20769,27 @@ Les variables suivantes sont utilisables : projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet 프로젝트 내부 데이터베이스 내보내기 - + sans_nom 이름 없음 @@ -18420,7 +20797,7 @@ Les variables suivantes sont utilisables : qdesigner_internal::ColorAction - + Text Color 텍스트 색상 @@ -18428,7 +20805,7 @@ Les variables suivantes sont utilisables : qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML 특수 문자 삽입 @@ -18436,27 +20813,27 @@ Les variables suivantes sont utilisables : qdesigner_internal::RichTextEditorDialog - + Edit text 텍스트 편집 - + Rich Text 서식 있는 텍스트 - + Source 소스 - + &OK &확인 - + &Cancel &취소 @@ -18464,69 +20841,69 @@ Les variables suivantes sont utilisables : qdesigner_internal::RichTextEditorToolBar - + Texte en gras 굵게 - - - + + + Éditeur de texte - + Texte en italique 기울임꼴 - + Texte souligé 밑줄 - + Left Align 왼쪽 정렬 - + Center 가운데 정렬 - + Right Align 오른쪽 정렬 - + Justify 양쪽 맞춤 - + Superscript 위 첨자 - + Subscript 아래 첨자 - + Insérer un lien 링크 삽입 - + Insert &Image 이미지 삽입(&I) - + Simplify Rich Text 서식 단순화 diff --git a/lang/qet_mn.ts b/lang/qet_mn.ts index 63597a9b0..ea0ed7efd 100644 --- a/lang/qet_mn.ts +++ b/lang/qet_mn.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech нь цахилгаан хэлхээг зурдаг программ. - + Les développeurs de QElectroTech about tab, developers line QElectroTech-ийн хөгжүүлэгчид - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Холбоос:<a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Эх ойлголт - - + - - + + + Développement Хөгжүүлэлт - + Convertisseur DXF DXF хөрвүүлэгч - + Plugin Bornier Оролт гаралтын блок - + Collection Цуглуулга - + Traduction en espagnol Испани орчуулга - + Traduction en russe Орос орчуулга - + Traduction en portugais Португали орчуулга - + Traduction en tchèque Чех орчуулга - + Traduction en polonais Польш орчуулга - + Traduction en allemand Герман орчуулга - + Traduction en roumain Румын орчуулга - + Traduction en italien Итали орчуулга - + Traduction en arabe Араб орчуулга - + Traduction en croate Хорват орчуулга - + Traduction en catalan Каталан орчуулга - + Traduction en grec Грек орчуулга - + Traduction en néerlandais Голланд орчуулга - + Traduction en flamand Фламан орчуулга - + Traduction en danois Дани орчуулга - + Traduction en brézilien Бразил орчуулга - + Traduction en Turc Турк орчуулга - + Traduction en hongrois Унгар орчуулга - + Traduction en serbe - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Paquets Fedora et Red Hat Fedora and Red Hat багцууд - + Paquets Mageia Mageia багцууд - + Paquets Debian Debian багцууд - + Paquets Gentoo Gentoo багцууд - + Paquets OS/2 OS/2 багцууд - + Paquets FreeBSD FreeBSD багцууд - + Paquets MAC OS X MAC OS X багцууд - + Paquets Archlinux AUR Archlinux AUR багцууд - + Icônes Тэмдэглэгээнүүд - + Documentation Бичиг баримт - + Collection d'éléments Элементүүдийн цуглуулга - + Redimensionneur d'éléments Element scaler - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate - + Paquets Snap Snap багц - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en slovène - + Générateur d'élément lambda Lambda element generator @@ -430,17 +430,17 @@ Тохируулга - + Contenu Агуулга - + Sélectionner la police des en tête du tableau Хүснэгтийн дээд хэсэг дэх үсгийн фонт сонгох - + Sélectionner la police des cellules du tableau Хүснэгтийн нүдний фонт сонгох @@ -458,6 +458,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -499,6 +627,39 @@ Өнцөг: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -528,57 +689,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Элемент - + Conducteur Чиглүүлэгч шугам - + Configurer les règles d'auto numérotation Автомат дугаарлалтын горимыг тохируулах - + Configurer Тохиргоо - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Автомат дугаарлалт + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -680,28 +919,78 @@ Оршин байгаа - + Under Development Боловсруулж байгаа - + Installing Cуулгаж байна - + Built Байгуулагдсан - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Автомат дугаарлалтын менежмент - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -744,55 +1033,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Урьдчилан харах - + Position Байрлал - + nomenclature_ эд ангийн жагсаалт - + Enregister sous... Хадгалах - + Fichiers csv (*.csv) Файлууд csv (*.csv) - - + + Erreur Алдаа - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position du folio Хуудасны байрлал - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -825,6 +1114,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -871,7 +1181,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -902,8 +1212,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Хувьсагч нэмэх : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Боломжит хувьсагчуудыг ашиглан нийлмэл текстийг оруулж ирэх @@ -911,13 +1221,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption Чиглүүлэгч шугамын чигийг хянах - + Modifier les propriétés de plusieurs conducteurs undo caption Хэд хэдэн дамжуулагчийн тохиргоог өөрчлөх @@ -926,73 +1236,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir Хар - + Marron Хүрэн - + Gris Саарал - + Bleu Цэнхэр - + Vert Ногоон - + Rouge Улаан - + Orange Улбар шар - + Violet Ягаан - + Blanc Цагаан - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1001,7 +1311,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1019,13 +1329,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Энэ сонголтын бүх дамжуулагчийн тохиргоог оруулах - + Modifier les propriétés d'un conducteur undo caption Дамжуулагчийн тохиргоог өөрчлөх - + Modifier les propriétés de plusieurs conducteurs undo caption Хэд хэдэн дамжуулагчийн тохиргоог өөрчлөх @@ -1034,24 +1344,33 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Энэ сонголтын бүх дамжуулагчийн тохиргоог оруулах + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption Хэд хэдэн дамжуулагчийн тохиргоог өөрчлөх - + Conducteur @@ -1091,7 +1410,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur Чиглүүлэгч шугамын өнгө @@ -1102,6 +1421,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte Текст @@ -1116,12 +1436,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Текст: - + Formule du texte : Текстийн бүтэц: + Texte visible Харагдах текст @@ -1176,128 +1497,145 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Чиглүүлэгч текстийн эргэлт болон байрлал: - - + + Unifilaire Нэг зураас - - + + Nombre de phase Фазын тоо - + Neutre Саармаг - + neutre саармаг - + Phase Фаз - + phase Фаз - + Protective Earth Neutral Газардлагын хамгаалалт - + PEN - + Terre Газардлага - + terre газардлага - + TextLabel Текстийн тэмдэг - + cable - + bus - + Apparence Харагдац - - + + Couleur : Өнгө: - + Couleur secondaire : Нэмэлт өнгө: - + Taille de trait : Шугамын хэмжээ: - + px px - + Taille : Хэмжээ: - - + + Style du conducteur Чиглүүлэгч шугамын хэлбэр - + Style : Загвар : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Битүү шугам - + Trait en pointillés conductor style: dashed line Зураасан шугам - + Traits et points conductor style: dashed and dotted line Цэгүүд болон зураасууд @@ -1319,128 +1657,152 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Буцаах - + Normalement ouvert Хэвийн тамархай унтраалга - + Normalement fermé Хэвийн залгаатай унтраалга - + Inverseur Унтраалга - + Autre - - + + Inconnu - + Simple Энгийн - + Puissance Тэжээлийн унтраалга - + Temporisé travail Хугацааны барилттай асаах - + Temporisé repos Хугацааны барилттай унтраах - + Temporisé travail & repos Хугацааны барилттай асааж унтраах + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1470,27 +1832,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Алдаа - + Impossible d'écrire dans le fichier « %1 ». @@ -1498,7 +1860,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur Гүнийг өөрчлөх @@ -1638,7 +2000,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1655,262 +2017,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image дүрслэл - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Алдаа - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1918,7 +2348,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title Хуудасны тохируулгууд @@ -1927,12 +2357,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Чөлөөт шилжилт хийхийн тулд ctrl дар - + <Shift> to move @@ -1941,77 +2371,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Энэ талбайд та өөрийн схемээ холболтуудын хооронд элемент ба дамжуулагчийг нэмж байгуулна. Та мөн бие даасан текстүүд нэмж болно. - + Coller ici context menu action Энд хуулна уу. - + Collage multiple Олон хуулж тавих - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées Сонгогдсон оролт гаралтуудыг холбох - + Sans titre what to display for untitled diagrams Гарчиггүй - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Алдаа - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Чиглүүлэгч шугамын хувьд шинэ өнгө сонгох - + Modifier les propriétés d'un conducteur undo caption Дамжуулагчийн бүтцийг өөрчлөх @@ -2030,7 +2466,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Гарчиг - + TextLabel Текстийн нэр @@ -2038,42 +2474,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Дээд - + Bas Доод - + Gauche Зүүн - + Droite Баруун - + Direction : @@ -2081,17 +2517,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte Текст - + Éditer un texte d'élément Элементийн текстийг өөрчлөх - + Redimensionner un texte d'élément @@ -2110,30 +2546,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte Текстийн тохируулгыг импортлох - + Ajouter un texte Текст нэмэх - + Ajouter un groupe de textes Групп текст нэмэх - + Supprimer la sélection Сонголтыг устгах @@ -2345,21 +2781,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Зүүн - + Droite Баруун - + Centre Төв @@ -2458,64 +2894,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Эгнээ - - + + Déplacer un champ texte Текстийн талбайг зөөх - + Pivoter un champ texte Текстийн хэсгийг эргүүлэх - + Modifier le texte d'un champ texte Текстийн талбайн текстийг засварлах - - + + Modifier la police d'un champ texte Текстийн талбайн фонтыг өөрчлөх - + Modifier le cadre d'un champ texte Текстийн талбайн хүрээний тохиргоог хийх - + Modifier la largeur d'un texte Текстийн өргөнийг өөрчлөх - + Modifier l'information d'un texte Текстийн мэдээллийг засварлах - + Modifier la source de texte, d'un texte Текстийн эх үүсвэрийг өөрчлөх, текст - + Modifier l'alignement d'un champ texte Текстийн талбайн эгнээг тохируулах - + Modifier la couleur d'un champ texte Текстийн талбайн өнгийг өөрчлөх - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2523,32 +2959,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur Хэрэглэгчийн текст - + Information de l'élément Элементийн мэдээлэл - + Texte composé Нийлмэл текст - + Gauche Зүүн - + Centre Төв - + Droite Баруун @@ -2556,12 +2992,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2602,153 +3038,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Элементийг нээх - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Нээхийг хүссэн элементээ сонгоно уу. - + Enregistrer un élément dialog title Элементийг хадгалах - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Өөрийн тодорхойлолтоо хадгалах элемент сонгоно уу. - + Ouvrir une catégorie dialog title Катогорийг нээх - - + + Choisissez une catégorie. dialog content Катогори сонгоно уу. - + Enregistrer une catégorie dialog title Катогорийг хадгалах - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Гарчиг - + Label Нэр - + Nom du nouveau dossier Шинэ хавтасыг нэрлэ - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Сонголт байхгүй байна - + La sélection n'existe pas. message box content Сонголт байхгүй байна. - - + + Sélection incorrecte message box title Буруу сонголт - + La sélection n'est pas un élément. message box content Сонголт элемент баү байна. - + Écraser l'élément ? message box title Элементийг давхар хуулах уу? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Ийм элемент байна. Давхарлаж хуулах уу? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Та элемент сонгохдоо нэртэй элемент эсвэл катагори сонгоно уу. @@ -2772,12 +3281,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Энэ текстийг устгах - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2795,104 +3310,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Мэдээлэл - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Буцаах - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2908,8 +3533,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Төрөл @@ -2992,8 +3617,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Функц @@ -3023,302 +3648,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Утгууд - - - + + + Simple Энгийн - + Maître Эзэн - + Esclave Боол - + Renvoi de folio suivant Дараагийн хуудасны ишлэл - + Renvoi de folio précédent Өмнөх хуудасны ишлэл - + Bornier Холболтын блок - + Vignette Thumbnail - + Définition de conducteur - - + + Normalement ouvert Хэвийн тамархай унтраалга - - + + Normalement fermé Хэвийн залгаатай унтраалга - - + + Inverseur Унтраалга - + Other - + Esclave PLC - - + + Puissance Тэжээлийн унтраалга - - + + Temporisé travail Хугацааны барилттай асаах - - + + Temporisé repos Хугацааны барилттай унтраах - - + + Temporisé travail & repos Хугацааны барилттай асааж унтраах - + Bobine Ороомог - + Organe de protection Хамгаалалтын эрхтэн - + Commutateur / bouton Унтраалга / кноп - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase Фаз - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Тэсдэглэгээ - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Газардлага @@ -3332,7 +3957,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Элемент @@ -3468,249 +4093,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Сонголтыг дээшлүүлэх - + Ajouter la sélection Сонголтыг нэмэх - + Supprimer la sélection Сонголтыг устгах - + Descendre la sélection Сонголтыг доошлуулах - + Pas de filtre Шүүлтүүргүй - + N'est pas vide Хоосон биш - + Est vide Хоосон - + Contient Агуулсан - + Ne contient pas Агуулаагүй - + Est égal à Тэнцүү - + N'est pas égale à Тэнцүү биш - + Filtre : Шүүлтүүр : - + Type d'éléments Элементүүдийн төрөл - + Simples Энгийн - + Tous Бүгд - + Vignettes - + Contacteurs et relais Контактор болон реленүүд - + Boutons et commutateurs Товчлуурууд болон унтраалгууд - + Borniers Холболтын блокууд - + Organes de protection Хамгаалалтын төхөөрөмжүүд - + Automates (MAE/SPS) - + Configuration Тохиргоо - + Ouvrir la configuration sélectionné Сонгосон тохиргоог нээх - + Sauvegarder la configuration actuelle Одоогийн тохируулгыг хадгалах - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Custom SQL Query - + Requête SQL : SQL хүсэлт : - + Position Байрлал - + Titre du folio Хуудасны нэр - + Position du folio Хуудасны байрлал - + Numéro du folio Хуудасны дугаар - - + + Exporter Гаргах - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Алдаа - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3718,29 +4343,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Анхдагчийг зөөх - + Éditer les informations sur l'auteur window title Зохиогчийн мэдээллийг засах - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Та энэхүү хэсгийг элементийн зохиогч, түүний лиценз эсвэл хэрэгцээтэй бусад мэдээллийг тодорхойлоход ашиглаж болно. - + Éditer les noms window title Нэрсийг засах - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Та элементийн нэрийг олон хэл дээр оруулах боломжтой. @@ -3748,101 +4373,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title Катогориг засварлах - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title Алдаа - + Impossible de créer la catégorie message box content @@ -3851,73 +4476,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Үндсэн лавлахыг нээх - + Éditer l'élément Элементийг засварлах - + Supprimer l'élément Элементийг устгах - + Supprimer le dossier Хавтасыг устгах - + Recharger les collections Цуглуулгийг дахин ачааллах - + Éditer le dossier Хавтасыг засварлах - + Nouveau dossier Шинэ хавтас - + Nouvel élément Шинэ элемент - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Зөвхөн энэ хавтасыг харуулах - + Afficher tous les dossiers Бүх хавтасыг харуулах - + Propriété du dossier Хавтасын тохиргоо - + Supprimer l'élément ? message box title Элементийг устгах уу? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3925,25 +4550,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Элементийг устгаж байна - + La suppression de l'élément a échoué. message box content Элементийг устгалт амжилтгүй боллоо. - + Supprimer le dossier? message box title Хавтасыг устгах уу? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3951,24 +4576,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Хавтас Устгах - + La suppression du dossier a échoué. message box content Хавтас устгагдсангүй. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3984,43 +4609,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4028,7 +4653,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4036,32 +4661,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Цуглуулгын зам : %1 - + Chemin dans le système de fichiers : %1 Файлын системийн зам : %1 - + Rechercher... - + Collections Цуглуулгууд - + Modèles - + Propriété du dossier %1 %1 хавтасны тохиргоо @@ -4131,124 +4756,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Үндсэн лавлахыг нээх - + Copier le chemin Түр санах ойн замыг хуулах - + Basculer vers ce projet Энэ төслийг идэвхжүүл - + Fermer ce projet Энэ төслийг хаах - + Propriétés du projet Төслийн тохиргоонууд - + Propriétés du folio Хуудасны тохиргоонууд - + Ajouter un folio Хуудас нэмэх - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Энэ хуудсыг устгах - + Remonter ce folio Энэ хуудсыг дээш зөөх - + Abaisser ce folio Энэ хуудсыг доош зөөх - + Remonter ce folio x10 Энэ хуудсыг дээш зөөх 10х - + Remonter ce folio x100 Энэ хуудсыг дээш зөөх 100х - + Remonter ce folio au debut Энэ хуудсыг эхлэл хэсэг рүү зөөх - + Abaisser ce folio x10 Энэ хуудсыг доош зөөх 10х - + Abaisser ce folio x100 Энэ хуудсыг доош зөөх 100х - + Nouveau modèle Шинэ загвар - + Éditer ce modèle Энэ заварыг засварлах - + Supprimer ce modèle Энэ загварыг устгах - - + + Panneau des éléments - + Filtrer Шүүлтүүр @@ -4294,7 +4919,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Гаргах @@ -4303,102 +4928,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title Төслийн хуудаснуудыг гаргах - + Exporter Гаргах - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Гаргаж авах ба хэмжээг нь тохируулах хуудаснуудаа сонгоно уу. - + Tout cocher Бүгдийн сонгох - + Tout décocher Бүгдийг сонгохгүй байх - + Titre du folio Хуудасны гарчиг - + Nom de fichier Файлын нэр - + Dimensions Хэмжээсүүд - + Noms des fichiers cibles message box title Файлын нэрүүдийг тодорхойлох - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Хуудаснуудыг гаргаж авахдаа хоосон биш давхардахгүй нэр өгнө үү. - + Dossier non spécifié message box title Лавлах байхгүй - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Зурган файлууд хадгалагдах лавлахын замыг тодорхойлно уу. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Энэ файл дээр хуулах боломжгүй - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Танд %1 файлыг бичихэд шаардлагатай зөвшөөрөл байхгүй байна. - + Aperçu Урьдчилан харах - - + + px рх @@ -4662,63 +5287,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre Газардлага - + Phase Фаз - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4726,27 +5361,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction Функц - + led @@ -4779,104 +5414,105 @@ that you create. Text and number inputs are Хуудасны гадна холдуулахыг зөвшөөрөх - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Projets - + Ne pas conserver les labels des éléments lors des copier coller Хуулж тавихдаа нэгжийн нэршлийг хадгалахгүй байх - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Utiliser les numéros de folio à la place de leur position dans le projet - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Désactivé - + min minute - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des cartouches utilisateur @@ -4891,475 +5527,688 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments - + Mettre en valeur dans le panel les éléments fraîchement intégrés - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° ° - + Longueur : Урт : - - + + Rotation : Эргэлт : - + Textes indépendants Бие даасан текстүүд - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Langues - + Autres textes Бусад текстүүд - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. Өөрчлөлтийг харахын тулд Grid идэвхтэй байх ёстой. - + DiagramEditor xGrid - + Déplacement au clavier : 1 - 30 Товчлуурын хөдөлгөөн: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Схем Засах (key: left / right) xGrid - + DiagramEditor (touche : haut / bas) yGrid Схем Засах (key: up / down) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 Товчлуурын хөдөлгөөн Alt -р: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Схем Засах (key: left / right) xGrid - + DiagramEditor (touche : haut / bas) yGrid Схем Засах (key: up / down) yGrid - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système Систем - + Arabe Араб - + Brézilien Бразил - + Catalan Каталан - + Tchèque Чех - + Allemand Герман - + Danois Дани - + Grec Грек - + Anglais Англи - + Espagnol Испани - + Français Франц - + Croate Хорват - + Italien Итали - + Japonais - + Coréen - + Polonais Польш - + Portugais Португал - + Roumains Румын - + Russe Орос - + Slovène Словень - + Pays-Bas Голланд - + Norvege Норвеги - + Belgique-Flemish Бельги-Флем - + Turc Турк - + Hongrois Унгар - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Файлууд csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5414,7 +6263,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Энэ бол хуудсанд нэмж оруулах боломжтой нэрний загвар юм. - + %1 [non utilisé dans le projet] %1 [Төсөлд ашиглаагүй] @@ -5739,42 +6588,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Урьдчилан харах - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5991,28 +6840,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6255,6 +7104,96 @@ Veuillez utiliser l'éditeur avancé pour cela. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6306,7 +7245,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>Сонголтын холбоосыг устга</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Сонголтын холбоосыг үүсгэ</p></body></html> @@ -6406,7 +7345,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6416,6 +7355,158 @@ Voulez-vous tout de même lier ce contact esclave ? Давхардсан ишлэл (эзэн) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Буцаах + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Буцаах + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6465,10 +7556,15 @@ Voulez-vous tout de même lier ce contact esclave ? Дамжуулагчид өөрсдийгөө дугаарлах - + Multi-collage Олон хуулж тавих + + + Numéroter les éléments collés + + NameListDialog @@ -6478,7 +7574,7 @@ Voulez-vous tout de même lier ce contact esclave ? Яриа - + Variables de cartouche Нэрний сонголтууд @@ -6506,7 +7602,7 @@ Voulez-vous tout de même lier ce contact esclave ? Зураас нэмэх - + Copier dans le presse papier Clipboard руу хуулах @@ -6564,13 +7660,13 @@ Voulez-vous tout de même lier ce contact esclave ? Автоматаар дугаарлах - + Nouveau folio configuration page title Шинэ хуудас - + Nouveau projet configuration page title Шинэ төсөл @@ -6845,13 +7941,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Динамик текстийн талбай - + Déplacer un champ texte Текстийн талбайг зөөх @@ -6911,25 +8007,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Текстийг зөөх - + Modifier un champ texte Текстийн талбайг өөрчлөх + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6937,32 +8051,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7073,12 +8187,12 @@ Voulez-vous tout de même lier ce contact esclave ? Хаалттай полигон - + Ajouter un point Цэг нэмэх - + Supprimer ce point Энэ цэгийг устга @@ -7125,55 +8239,55 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 Хүчдэл / Протокол : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7181,23 +8295,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Хэд хэдэн дамжуулагчийн тохиргоог өөрчлөх - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7205,10 +8319,107 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Устгах + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Хэвлэлт @@ -7217,142 +8428,342 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto Автоматаар дугаарлах - + Management Удирдлага - - + + Conducteurs Дамжуулагчид - - - Eléments - Элементүүд - - - - - Folios - Хуудсууд - - - - Numérotation auto des folios - Хуудаснуудыг автоматаар дугаарлах - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Нэр + + + + Folio - - - - - - - - - - Nom de la nouvelle numérotation - Шинэ дугаарлалтыг нэрлэх + + Élément + Элемент - - - - - - - - Sans nom - Нэр байхгүй + + Figé + - - Importer les numérotations d'un projet + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Элементүүд + + + + + Folios + Хуудсууд + + + + Numérotation auto des folios + Хуудаснуудыг автоматаар дугаарлах + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Дугаарлалтыг устгах + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Nom de la nouvelle numérotation + Шинэ дугаарлалтыг нэрлэх + + + Sans nom + Нэр байхгүй + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7360,12 +8771,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position байрлал - + Position du folio Хуудасны байрлал @@ -7388,50 +8799,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title Ерөнхий - + Titre du projet : label when configuring Төслийн нэр : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label This title is made available to all child folios as %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7475,137 +8970,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre Хүрээ зурах - + Dessiner le cartouche Гарчигны блок зурах - + Conserver les couleurs des conducteurs Дамжуулагчдын өнгийг хэвээр үлдээх - + Dessiner les bornes Холболтууд зурах - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page Хуудсанд тохируулах - + Utiliser toute la feuille Хуудсыг бүхэлд нь ашиглах - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur Өргөнд нь тааруулсан - + Ajuster la page Хуудсанд тохирсон - + Zoom arrière Холдуулах - + Zoom avant - + Paysage Хэвтээ - + Portrait Зураг - + Première page Нэгдүгээр хуудас - + Page précédente Өмнөх хуудас - + Page suivante Дараагийн хуудас - + Dernière page Сүүлийн хуудас - + Afficher une seule page Нэг хуудсыг харуулах - + Afficher deux pages Нүүрний хуудаснуудыг харуулах - + Afficher un aperçu de toutes les pages Бүх хуудсыг харуулах - + mise en page @@ -7782,238 +9277,286 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Ачааллаж байна... Элементүүдийн цуглуулгын санах ойг эхлүүлж байна - + Chargement... Éditeur de schéma splash screen caption Ачааллаж байна... Хуудаснуудын засварлагч - + Chargement... Ouverture des fichiers splash screen caption Ачааллаж байна... Файлуудыг нээж байна - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET гарчигны блокууд - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Хэрэглэгчийн нэрний блокууд - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Схем - + Electrique Normal example text - translate length, not meaning Цахилгаан - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech-г тохируулах - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Алдаа + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Ачааллаж байна... - + Chargement... icône du systray splash screen caption Ачааллаж байна... Systray icon - + QElectroTech systray menu title QElectroTech - + &Quitter &Гарах - + &Masquer &Нуух - + &Restaurer &Харуулах - + &Masquer tous les éditeurs de schéma &Схем засалтыг нуух - + &Restaurer tous les éditeurs de schéma &Схемийн тохиргоог харуулах - + &Masquer tous les éditeurs d'élément &Элемент засагчийг нуух - + &Restaurer tous les éditeurs d'élément &Элементийн тохиргоог харуулах - + &Masquer tous les éditeurs de cartouche systray submenu entry &Нэрний загвар засагчийг нуух - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Хаягийн блокын тохиргоог харуулах - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément &Шинэ элементийг засагч - + Ferme l'application QElectroTech QElectroTech-г хаах - + Réduire QElectroTech dans le systray QElectroTech-г systray-руу багасгах - + Restaurer QElectroTech QElectroTech-г сэргээх - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Схем засварлагчид - + Éditeurs d'élément Элемент засварлагчид - + Éditeurs de cartouche systray menu entry Гарчигийн загвар засварлагчид - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Сэргээх файл олдлоо,<br>Үүнийг нээмээр байна уу ?</b><br> + <b>Сэргээх файл олдлоо,<br>Үүнийг нээмээр байна уу ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Сэргээх файлууд олдлоо,<br>Эдгээрийг нээмээр байна уу ?</b><br> + <b>Сэргээх файлууд олдлоо,<br>Эдгээрийг нээмээр байна уу ?</b><br> - Fichier de restauration - Файл сэргээх + Файл сэргээх - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Хэрэглээ: - + [options] [fichier]... @@ -8022,7 +9565,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8033,34 +9576,34 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --энгийн-элементүүд-dir=DIR Элементүүдийн цуглуулгын лавлахыг тодорхойлох - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --энгийн-tbt-dir=DIR Гарчигийн загваруудын цуглуулгын лавлахыг тодорхойлох - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Тохиргооны лавлахыг тодорхойлох - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Хэлний файлуудын лавлахыг тодорхойлох @@ -8070,160 +9613,160 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Төслүүд - + Collections Цуглуулгууд - + Aucune modification Тохиргоо байхгүй - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title Буцаах - + E&xporter &Гаргах - + Exporte le folio courant dans un autre format status bar tip Одоогийн хуудсыг өөр форматаар гаргах - + Imprimer Хэвлэх - + Imprime un ou plusieurs folios du projet courant status bar tip Одоогийн төслийн нэг болон түүнээс дээш хуудсыг хэвлэх - + &Quitter &Гарах - + Ferme l'application QElectroTech status bar tip QElectroTech-г хаах - + Annuler Буцаах - + Annule l'action précédente status bar tip Өмнөх үйлдлүүдээ буцаах - + Refaire Буцаах - + Restaure l'action annulée status bar tip хийгдээгүй үйлдлийг сэргээх - + Co&uper &Арилгаж хуулах - + Cop&ier &Хуулах - + C&oller &Хуулж тавих - + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip Сонгосон элементүүдийг хуулах - + Place les éléments du presse-papier sur le folio status bar tip - + Réinitialiser les conducteurs Дамжуулагчдыг хуучин төлөвт оруулах - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Дамжуулагчийн замыг хэвийн болгох - + Création automatique de conducteur(s) Tool tip of auto conductor Дамжуулагчийг автоматаар үүсгэх - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Боломжтой үед дамжуулагчийг автоматаар үүсгэгчийг хэрэглэх @@ -8239,955 +9782,1180 @@ Options disponibles : Хуудасны арын өнгийг цагаан эсвэл саарлаар харуулах - + Afficher la grille Хэрээсийг харуулах - + Affiche ou masque la grille des folios Хуудасны хэрээсийг харуулах эсвэл нуух - + Propriétés du folio Хуудасны тохиргоо - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Propriétés du projet Төслийн тохиргоо - + Ajouter un folio Хуудас нэмэх - - - + + + Supprimer le folio Энэ хуудсыг устгах - + Nettoyer le projet Төслийг арилгах - + Ajouter un sommaire Товч тайлбар нэмэх - + Exporter au format CSV CSV-руу гаргах - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + Дэлгэцэнд харуулах + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Давхардсан ишлэлүүд + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature Нэршил нэмэх - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers Холболтын блок үүсгэх Plugin-г ажиллуулах - + Exporter la liste des noms de conducteurs Утаснуудын нэрсийн жагсаалтыг гаргах - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Төслийн дотоод мэдээллийн санг гаргах - + en utilisant des onglets - + Présente les différents projets ouverts des onglets status bar tip Бүх нээгдсэн төслүүдийг харуулах - + en utilisant des fenêtres - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Бүх нээгдсэн төслүүдийг цонхнуудад харуулах - + &Mosaïque &Tile - + Dispose les fenêtres en mosaïque status bar tip Цонхнуудыг баганан маягаар зохицууулах - + &Cascade &Үргэлжилсэн - + Dispose les fenêtres en cascade status bar tip Цонхнуудыг давхарласан маягаар зохицуулах - + Mode Selection Сонгох - + Permet de sélectionner les éléments status bar tip Элементүүдийг сонгохыг зөвшөөрөх - + Mode Visualisation Зөөх - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Хуудсыг засварлахгүйгээр харахыг зөвшөөрөх - + Projet suivant Дараагийн төсөл - + Active le projet suivant status bar tip Дараагийн төслийг идэвхжүүлэх - + Projet précédent Өмнөх төсөл - + Active le projet précédent status bar tip Өмнөх төслийг идэвхжүүлэх - + &Nouveau &Шинэ - + &Ouvrir &Нээх - + &Enregistrer &Хадгалах - + Enregistrer sous Өөрчилт хийж хадгалах - + + &Fermer &Хаах - + Crée un nouveau projet status bar tip Шинэ төсөл үүсгэх - + Ouvre un projet existant status bar tip Байгаа файлыг нээх - + Ferme le projet courant status bar tip Одоогийн төслийг хаах - + Enregistre le projet courant et tous ses folios status bar tip Одоогийн төсөл болон түүний бүх хуудаснуудыг хадгалах - + Enregistre le projet courant avec un autre nom de fichier status bar tip Одоогийн файлыг өөр нэрээр хадгалах - + Ajouter une colonne Багана нэмэх - + Enlever une colonne Баганыг арилгах - + Ajouter une ligne Add row Эгнээ нэмэх - + Enlever une ligne Remove row Эгнээг арилгах - + Ajoute une colonne au folio status bar tip Хуудсанд багана нэмэх - + Enlève une colonne au folio status bar tip Хуудаснаас баганыг арилгах - + Agrandit le folio en hauteur status bar tip Хуудасны өндрийг ихэсгэх - + Rétrécit le folio en hauteur status bar tip Хуудасны өндрийг багасгах - + Supprimer Устгах - + Pivoter Эргүүлэх - + Pivoter le groupe - + Orienter les textes Текстийн чигийг сонгох - + Retrouver dans le panel - + Éditer l'item sélectionné Сонгосон нэгжийг засварлах - + Grouper les textes sélectionnés Сонгосон текстүүдийг нэгтгэх - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Хуудаснаас сонгосон элементүүдийг арилгах - + Pivote les éléments et textes sélectionnés status bar tip Сонгосон элементүүд болон текстүүдийг эргүүлэх - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Сонгосон текстийг тодорхой өнцгөөр эргүүлэх - + Retrouve l'élément sélectionné dans le panel status bar tip Сонолтыг олох - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Бүгдийг сонгох - + Désélectionner tout Юу ч сонгохгүй байх - + Inverser la sélection Эсрэгээр сонгох - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Хуудсан дээрх бүх элементийг сонгох - + Désélectionne tous les éléments du folio status bar tip Хуудсан дээрх бүх элементийг сонгохгүй байх - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Элементийн сонголтуудыг урвуу болгох - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant Ойртуулах - + Zoom arrière Холдуулах - + Zoom sur le contenu Таталт - + Zoom adapté - + Pas de zoom Таталтыг хэвийн болгох - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Хуудсыг томсгох - + Rétrécit le folio status bar tip Хуудсыг жижгэсгэх - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip Хэвийн татаж харах түвшинг сэргээх - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte Текстийн талбайг нэмэх - + Ajouter une image Зураг нэмэх - + Ajouter un PDF - + Ajouter une ligne Draw line Зураас нэмэх - + Ajouter un rectangle Дөрвөн өнцөгт нэмэх - + Ajouter une ellipse Зууван дүрс нэмэх - + + Ajouter un arc + + + + Ajouter une polyligne Олон өнцөгт нэмэх - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel Одоогийн хуудсанд текстийн талбай нэмэх - + Ajoute une image sur le folio actuel Одоогийн хуудсанд зураг нэмэх - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Одоогийн хуудсанд зураас нэмэх - + Ajoute un rectangle sur le folio actuel Одоогийн хуудсанд дөрвөн өнцөгт нэмэх - + Ajoute une ellipse sur le folio actuel Одоогийн хуудсанд зууван дүрс нэмэх - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Одоогийн хуудсанд олон зураас нэмэх - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer Хайх / Солих - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils Багажнууд - + Affichage Харуулах - + Schéma Схем - + Ajouter Нэмэх - + Profondeur toolbar title Гүн - + + Scripts + toolbar title + + + + &Fichier &Файл - + &Édition &Засах - + &Projet &Төсөл - + Afficha&ge Харуу&лах - + Fe&nêtres Цо&нхнууд - + &Récemment ouverts &Сүүлийн файлууд - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Үндсэн цэсийг харуулах эсвэл нуух - + Affiche ou non la barre d'outils Affichage Дэлгэцийн цэсийг харуулах эсвэл нуух - + Affiche ou non la barre d'outils Schéma Схемийн цэсийг харуулах эсвэл нуух - + Affiche ou non le panel d'appareils Элементийн самбарыг харуулах эсвэл нуух - + Affiche ou non la liste des modifications Буцаалт хийгдсэн жагсаалтыг харуулах эсвэл нуух - + Afficher les projets Төслүүдийг харуулах - - + + Projet %1 enregistré dans le repertoire: %2. %1 төсөл нь %2 лавлахад бүртгэгдсэн аайна. - + Ouvrir un fichier Файлыг нээх - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech төсөл(*.qet);;XML Файлууд (*.xml);;Бүх файлууд (*) - - + + Impossible d'ouvrir le fichier message box title Файлыг нээх боломжгүй байна - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Таны нээхээр оролдож буй %1 файл нь устсан эсвэл байхгүй байна. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title Файлыг зөвхөн харах тохиргоогоор нээж байна - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title Төслийг нээх боломжгүй байна - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9196,7 +10964,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9205,42 +10973,82 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - - Groupe - Груп - - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe + Груп + + + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9248,100 +11056,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Элементийг засварлах - + Éditer le champ de texte edit text field Текстийн талбайг засварлах - + Éditer l'image edit image Зургийг засварлах - + Éditer le conducteur edit conductor Дамжуулагчийг засварлах - + Éditer l'objet sélectionné edit selected item Сонгосон биетийг засварлах - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Файлыг нээх үед алдаа гарлаа %1. - + Active le projet « %1 » Төслийг идэвхжүүлэх « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Алдаа - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9349,7 +11157,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9357,7 +11165,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9365,18 +11173,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9385,13 +11193,111 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 @@ -9399,42 +11305,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Шинэ - + &Ouvrir &Нээх - + &Ouvrir depuis un fichier - + &Enregistrer &Хадгалах - + Enregistrer sous Шинээр хадгалах - + Enregistrer dans un fichier - + Recharger Дахиэ ачааллуулах - + Tout sélectionner Бүгдийг идэвхижүүлэх @@ -9444,354 +11350,354 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Aide &Тусламж - + Annulations Буцаах - + Parties Хэсгүүд - + Informations - + Outils - + Affichage - + Élément Элемент - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Юу ч сонгохгүй байх - + Co&uper Устгаж&хуулах - + Cop&ier &Хуулах - + C&oller &Хуулж тавих - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech QElectroTech-н тухай - + Affiche des informations sur QElectroTech QElectroTech-н мэдээллийг харуулах - + Manuel en ligne Онлайн гарын авлага - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube Youtube суваг - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don төслийг хандив өгч дэмжих - + Soutenir le projet QElectroTech par un don QElectroTech төслийг хандив өгч дэмжих - + À propos de &Qt &Qt-н тухай - + Affiche des informations sur la bibliothèque Qt Qt library-н тухай мэдээллийг харуулах - + Rotation Эргэлт - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection Эсрэг сонголт - + &Supprimer &Устгах - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur Зохиогчийн мэдээллийг засах - + Éditer les propriétés de l'élément - + Annuler Буцаах - + Refaire Б - + Profondeur toolbar title Гүн - + Zoom avant Татах - + Zoom arrière Холдуулах - + Zoom adapté Харахад тохиромжтой - + Pas de zoom Таталтыг хэвийн болгох - + Ajouter une ligne Шулуун нэмэх - + Ajouter un rectangle Дөрвөн өнцөгт нэмэх - + Ajouter une ellipse Зууван нэмэх - + Ajouter un polygone Олон талт нэмэх - + Ajouter du texte Текст нэмэх - + Ajouter un arc de cercle Нум нэмэх - + Ajouter une borne Холболт нэмэх - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Дүрсийг дуусгахын тулд 2 удаа дарна уу, Сүүлийн цэгийг арилгахын тулд баруун товчийг дарна уу - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Parties toolbar title Хэсгүүд - + Avertissement Анхааруулга - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + &Fichier &Файл - + &Édition &Засах - + Afficha&ge - + Coller depuis... - + [Modifié] window title tag [Өөрчлөгдсөн] - + [lecture seule] window title tag - + Aucune modification Тохиргоогүй - + Éditeur d'éléments status bar message - - + + %n partie(s) sélectionnée(s). @@ -9799,35 +11705,35 @@ veuillez patienter durant l'import... - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9836,12 +11742,12 @@ veuillez patienter durant l'import... - + et ба - + %n avertissement(s) warnings @@ -9850,264 +11756,320 @@ veuillez patienter durant l'import... - + <b>%1</b> : %2 warning title: warning description - + Erreurs Алдаанууд - + Avertissements - + Le fichier %1 n'existe pas. message box content %1 нэртэй файл байхгүй байна. - + Afficher menu entry Дэлгэцэнд харуулах - - + + Impossible d'ouvrir le fichier %1. message box content %1 файлыг нээх боломжгүй байна. - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title Алдаа - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title Алдаа - + Impossible d'écrire dans ce fichier message box content Энэ файл дээр хуулах боломжгүй - + Impossible d'enregistrer l'élément message box content - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title Файлыг нээх боломжгүй байна - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Таны нээхээр оролдож буй %1 файл нь устсан эсвэл байхгүй байна. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Өргөн + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Ouvrir un fichier dialog title Файлыг нээх - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content @@ -10116,137 +12078,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech & QElectroTech тохируулах - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech QElectroTech-н тухай - + Affiche des informations sur QElectroTech status bar tip QElectroTech-н мэдээллийг харуулах - + Manuel en ligne Онлайн гарын авлага - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général Ерөнхий - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube Youtube суваг - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) Шинэ хувилбарыг татаж авах (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don төслийг хандив өгч дэмжих - + Soutenir le projet QElectroTech par un don status bar tip QElectroTech төслийг хандив өгч дэмжих - + À propos de &Qt &Qt-н тухай - + Affiche des informations sur la bibliothèque Qt status bar tip Qt library-н тухай мэдээллийг харуулах - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Тохиргоо - + &Aide window menu &Тусламж - + Sortir du &mode plein écran Бүтэн дэлгэцээр харах горимоос гарах - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech г цонх горимд харуулах - + Passer en &mode plein écran Бүтэн дэлгэцийн горим - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech г бүтэн дэлгэцийн горимд харуулах - + Afficher menu entry Дэлгэцэнд харуулах @@ -10255,52 +12252,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Төсөл « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Төсөл %1 - + Projet sans titre displayed title for a project-less, file-less project Нэргүй төсөл - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [зөвхөн унших] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [засагдсан] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10308,56 +12305,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Загварыг оруулах үед алдаа гарав. - + Avertissement message box title Анхааруулга - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Төслийг нээж байна ...</b><br/>Creation of folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Төслийг нээж байна ...</b><br/>Setting up cross references</p> @@ -10726,38 +12723,38 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) ачаалал %p% (%v on %m) - + Collection QET QET цуглуулга - + Collection Company - + Collection utilisateur Хэрэглэгчийн цуглуулга - + Macros - + Collection inconnue Үл мэдэгдэх цуглуулга - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10777,22 +12774,22 @@ Que désirez vous faire ? Хуудасны тохиргоог хайх / солих - + Chercher/remplacer les propriétés d'éléments. Элементийн тохиргоог хайх / солих. - + Chercher/remplacer des textes independants Бие даасан текстийг хайх / солих - + Chercher/remplacer les propriétés de conducteurs. Дамжуулагчдын тохиргоог хайх / солих. - + Rechercher / remplacer avancé Хайх / орлуулах ахисан түвшин @@ -10863,44 +12860,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste хуулж тавих %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut Устгаж хуулах %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content %1 зөөх - + modifier le texte undo caption Текстийг янзлах - + modifier un conducteur undo caption дамжуулагчийг янзлах - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content %1 Хэвийн болгох - + modifier les dimensions du folio undo caption @@ -10932,6 +12929,7 @@ Que désirez vous faire ? + Titre Нэр @@ -11114,8 +13112,13 @@ Que désirez vous faire ? element part name текст + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11178,38 +13181,38 @@ Voulez-vous la remplacer ? Текстийн груп - + Folio sans titre Гарчиггүй хуудас - + schema Схем - + Conserver les proportions - + Réinitialiser les dimensions Хэмжээг хэвийн болгох - + Aperçu Урьдчилан харах - + Exporter vers le presse-papier - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. @@ -11260,35 +13263,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire Тэсдэглэгээ - - - + + + Réf. croisée @@ -11426,9 +13429,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Функц @@ -11478,7 +13481,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11487,7 +13490,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11496,7 +13499,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11505,7 +13508,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11514,7 +13517,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11523,7 +13526,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11532,7 +13535,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11541,7 +13544,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11550,99 +13553,99 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher Дээшлүүлэх - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan Сонголтуудыг ил гаргах - + Rapproche la ou les sélections Сонголтууд дээр аваачих - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur Гүн - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin - + Borne tooltip Холболт @@ -12053,7 +14056,7 @@ Voulez-vous la remplacer ? Хэвтээ тохируулга - + %p% effectué (%v sur %m) %p% хийгдсэн(%v on %m) @@ -12100,6 +14103,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -12116,7 +14120,7 @@ Voulez-vous la remplacer ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content устгах %1 @@ -12150,7 +14154,7 @@ Voulez-vous la remplacer ? %1 Текстүүдийн груп - + %n texte(s) @@ -12158,32 +14162,32 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs - - + + - - - - - - + + + + + + this is an error in the code @@ -12333,12 +14337,12 @@ Voulez-vous la remplacer ? - + Ouvrir un element - + Importer un fichier dxf @@ -12424,7 +14428,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12507,7 +14511,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12516,8 +14520,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12646,98 +14650,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 оруулах %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Текстийн өнгийг өөрчлөх - + Pivoter un texte - + Modifier le trait d'une forme Формын шулууныг засварлах - + Modifier le remplissage d'une forme Формын дүүргэлтийг засварлах - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Элементийн текстийг хянах - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12745,6 +14762,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12764,369 +14822,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau Хүснэгтийн хэмжээсийг өөрчлөх + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Цэг нэмэх - + Supprimer ce point Энэ цэгийг устга - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Хэмжээ - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Полигонд цэг нэмэх - + Supprimer un point d'un polygone Полигоноос цэг устгах - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Засах %1 - + une ligne Зураас - + un rectangle Дөрвөн өнцөгт - + une éllipse Зуйван - + un arc - + une polyligne Олон зураас - + une courbe - + une shape Хэлбэр @@ -13208,7 +15327,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Текстийн нэр - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Ийм элемент « %1 » байна. Та юу хийх вэ? @@ -13216,31 +15335,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + Элемент + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13264,9 +15427,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier Бүү өөрчил @@ -13386,97 +15549,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af фаз - - + + Nombre de phase Фазын тоо - + Neutre Нейтрал - + neutre нейтрал - + Terre Газардлага - + terre Газардлага - + TextLabel Текстийн нэр - + PushButton Кноп - + Apparence Харагдах байдал - + Taille : Хэмжээс : - - + + Couleur : Өнгө: - + Style : Хэв маяг: - - + + Modifier Засварлах - + Couleur secondaire : Хоёрдогч өнгө : - + Taille de trait : Шулууны хэмжээ : - + px px - + Trait plein conductor style: solid line Шулуун зураас - + Trait en pointillés conductor style: dashed line Тасархай зураас - + Traits et points conductor style: dashed and dotted line Цэг ба зураасууд @@ -13485,7 +15648,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier Бүү өөрчил @@ -13527,10 +15690,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier Бүү өөрчил @@ -13590,7 +15753,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Одоогийн огноогоор тохируулах - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13599,38 +15762,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Available as% plant for title block templates</p></body></html> - + Titre : Нэр: - - - - - - - + + + + + + + Supprimer ce texte Энэ текстийг устгах - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13668,6 +15831,185 @@ Créer votre propre texte en vous aidant des variables suivantes : % c: баганын дугаар + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Шинэ + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Нэр: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Хадгалах + + + + Ouvrir le &dossier + + + + + &Fermer + &Хаах + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13706,185 +16048,185 @@ Créer votre propre texte en vous aidant des variables suivantes : Дараагмйн тохирол руу шилжих - + Aller à la correspondance précédente Өмнөх тохирол руу шилжих - + Actualiser Хэрэгжүүлэх - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Ахисан түвшингийн сонголтуудыг харуулах</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Элементүүдийн солих тохиргоог тодорхойл</p></body></html> - + Élément Элемент - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur Дамжуулагч - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Шалгасан тохирлуудыг солих</p></body></html> - + Tout remplacer Бүгдийг солих - + avancé Ахисан шат - + Remplacer : Солих : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Хуудаснууд дах солих тохиргоонуудыг тодорхойл</p></body></html> - + Folio Хуудас - + Champ texte de folio Хуудасны текстийн талбай - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Сонгосон тохирлуудыг солих</p></body></html> - + Remplacer Солих - + Quitter Гарах - + Correspondance : Харилцан үйлчлэл: - + Folios Хуудаснууд - + Champs texte Текстийн талбайнууд - + Eléments Элементүүд - + Eléments simple Энгийн элементүүд - + Eléments maître Эзэн элементүүд - + Eléments esclave Боол элементүүд - + Eléments report de folio - + Eléments bornier Холболтын элементүүд - + Conducteurs Дамжуулагчид - + Inconnue Үл мэдэгдэх - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [Засварласан] @@ -13912,53 +16254,81 @@ Créer votre propre texte en vous aidant des variables suivantes : Дугаарлалтыг устгах - + Définition Тайлбар - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Delete a variable numbering</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Add a variable numbering</p></body></html> - Précédent - Өмнөх + Өмнөх - Suivant - Дараагийнх + Дараагийнх - + Type Төрөл - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Утга - + Incrémentation Нэмэгдэх хэмжээ - + + Annuler + Буцаах + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Хуудасны автомат дугаарлалт - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13985,13 +16355,13 @@ If the digit defined in the Value field has fewer digits than the chosen type, i The "Incrementation" field is not used. - + Conducteur Autonumérotation title window Дамжуулагчийн дугаарлалт - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14029,13 +16399,13 @@ The other fields are not used. The other fields are not used. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14056,6 +16426,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16445,12 +18825,12 @@ Les autres champs ne sont pas utilisés. Харуулах мэдээлэл - + Configuration Тохируулга - + Requête SQL : SQL хүсэлт : @@ -16460,6 +18840,18 @@ Les autres champs ne sont pas utilisés. Байрлал + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16794,58 +19186,58 @@ Les autres champs ne sont pas utilisés. - + Ponter les bornes - + Déponter les bornes - + Propriétés Тохиргоо - + Nom : Нэр: - + Commentaire : - + Description - + Installation : Суурилуулах: - + Localisation : - + Type : Төрөл: - + Degrouper les bornes - - + + Générique @@ -16860,62 +19252,62 @@ Les autres champs ne sont pas utilisés. - + Couleur pont : - + Fusible - + Sectionnable - + Diode - + Terre Газардлага - + Déplacer dans : - + Phase Фаз - + Neutre - + Position automatique - + Étage : - + Grouper les bornes - + Fonction : Функц : @@ -16930,7 +19322,7 @@ Les autres champs ne sont pas utilisés. - + LED : @@ -16958,32 +19350,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -17213,12 +19605,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre Нэргүй төсөл - + Bornes indépendante @@ -17321,7 +19713,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17329,37 +19721,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Өргөн : - + Absolu a traditional, absolute measure Үнэмлэхүй - + Relatif au total a percentage of the total width Нийт харьцангуй - + Relatif au restant a percentage of what remains from the total width Үлдсэнтэйгээ харьцангуй - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column рх @@ -17388,87 +19780,87 @@ Les autres champs ne sont pas utilisés. <html> <head/><body><p>Sets the title block at the bottom (horizontal) or right (vertically) of the folio.</p></body></html> - + Principales Үндсэн - + Date : Огноо: - + Auteur : Зохиогч: - + Indice Rev: Rev индекс: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Available as% plant for title block templates</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : Хуудас: - + Fichier : Файл: - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches Available as variable %filename for title blocks - + Pas de date Огноо байхгүй - + Date courante Одоогийн огноо - + Appliquer la date actuelle Одоогийн огноогоор тохируулах - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : Зассан огноо: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17481,66 +19873,67 @@ The following variables can be used: -%autonum: folio auto numbering - + Titre : Гарчиг: - + Page Num: Хуудасны дугаар - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : Суурилуулах: - + Localisation: Байрлал: - + Personnalisées Custom - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry Энэ загварыг засварлах - + Dupliquer et éditer ce modèle menu entry Энэ загварыг хувилах ба засварлах - + Title block templates actions Гарчгийн блокын загваруудын үйлдлүүд - - + + + Créer un Folio Numérotation Auto Автомат дугаарлагч үүсгэх - + Modèle par défaut Анхны загвар @@ -17548,13 +19941,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18053,50 +20446,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18105,7 +20498,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18117,96 +20510,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Алдаа - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Хүчдэл / Протокол - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header Функц - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Анхааруулга + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18414,27 +20826,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18442,7 +20854,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Текстийн өнгө @@ -18450,7 +20862,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML оруулах @@ -18458,27 +20870,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Текстийг өөрчлах - + Rich Text Текстийг баяжуулах - + Source Эх үүсвэр - + &OK &ОК - + &Cancel &Цуцлах @@ -18486,69 +20898,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Текстийг тодруулах - - - + + + Éditeur de texte - + Texte en italique Италик - + Texte souligé Доогуур зураас - + Left Align Зүүн эгнээ - + Center Төв - + Right Align Баруун эгнээ - + Justify Мөрийг тэгшлэх - + Superscript Мөрний дээрх индекс - + Subscript Мөрний доод индекс - + Insérer un lien Холбоос оруулах - + Insert &Image Зураг оруулах - + Simplify Rich Text Текстийг баяжуулах diff --git a/lang/qet_nb.ts b/lang/qet_nb.ts index 815a68aca..1eb13df84 100644 --- a/lang/qet_nb.ts +++ b/lang/qet_nb.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectrotech er en applikasjon for å lage elektroskjemategninger - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kontakt : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Opprinnelig idé - - + - - + + + Développement Programmering - + Convertisseur DXF DXF-konverter - + Plugin Bornier Klemmeplan-plugin - + Collection Bibliotek - + Traduction en espagnol Spansk oversettelse - + Traduction en russe Russisk oversettelse - + Traduction en portugais Portugisik oversettelse - + Traduction en tchèque Tsjekkisk oversettelse - + Traduction en polonais Polsk oversettelse - + Traduction en allemand Tysk oversettelse - + Traduction en roumain Rumenisk oversettelse - + Traduction en italien Italiensk oversettelse - + Traduction en arabe Arabisk oversettelse - + Traduction en croate Kroatisk oversettelse - + Traduction en catalan Katalansk oversettelse - + Traduction en grec Gresk oversettelse - + Traduction en néerlandais Nederlandsk oversettelse - + Traduction en flamand Flæmisk oversettelse - + Traduction en danois Dansk oversettelse - + Traduction en brézilien Brasiliansk oversettelse - + Traduction en Turc Turkisk oversettelse - + Traduction en hongrois Ungarsk oversettelse - + Traduction en serbe - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Paquets Fedora et Red Hat Feodora og Red Hat pakker - + Paquets Mageia Mageia pakker - + Paquets Debian Debian pakker - + Paquets Gentoo Gentoo pakker - + Paquets OS/2 OS/2 pakker - + Paquets FreeBSD FreeBSD pakker - + Paquets MAC OS X MAC OS X pakker - + Paquets Archlinux AUR Archlinux AUR pakker - + Icônes Symboler - + Documentation Dokumentasjon - + Collection d'éléments Delesamling - + Redimensionneur d'éléments Element scaler - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate - + Paquets Snap Snap pakker - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en slovène - + Générateur d'élément lambda Lambda element generator @@ -428,17 +428,17 @@ Konfigurasjon - + Contenu Innhold - + Sélectionner la police des en tête du tableau Velg tabelloverskriftenes skrifttype - + Sélectionner la police des cellules du tableau Velg tabellfeltenes skrifttype @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -499,6 +627,39 @@ Vinkel : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -528,57 +689,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Komponent - + Conducteur Leder - + Configurer les règles d'auto numérotation Konfigurasjon av nummereringsregelen - + Configurer Konfigurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Automatisk nummerering + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -680,28 +919,78 @@ Eksisterende - + Under Development I utvikling - + Installing For montasje - + Built Som bygget - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Behandling av autonummerering - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -745,55 +1034,55 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Preview - + Position Posisjon - + nomenclature_ Deleliste - + Enregister sous... Lagre som... - + Fichiers csv (*.csv) CSV-fil (*.csv) - - + + Erreur Feil - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -826,6 +1115,27 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -872,7 +1182,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens ClickableImageLabel - + Cliquez pour choisir une couleur @@ -903,8 +1213,8 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Sett inn variabel : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Sett inn sammensatt tekst med hjelp av de tilgjenglige variablene @@ -912,13 +1222,13 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Conductor - + Modifier les propriétés d'un conducteur undo caption Endre ledernes egenskaper - + Modifier les propriétés de plusieurs conducteurs undo caption Endre flere ledernes egenskaper samtidig @@ -927,73 +1237,73 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens ConductorColorToolButton - + Noir Svart - + Marron Brun - + Gris Grå - + Bleu Blå - + Vert Grønn - + Rouge Rød - + Orange Oransje - + Violet Fiolett - + Blanc Hvit - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1002,7 +1312,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens - + Choisir une couleur de conducteur @@ -1020,13 +1330,13 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Bruk lederegenskaper for alle leder av dette potensialet - + Modifier les propriétés d'un conducteur undo caption Endre denne ledernes egenskaper - + Modifier les propriétés de plusieurs conducteurs undo caption Endre flere ledernes egenskaper samtidig @@ -1035,24 +1345,33 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Bruk lederegenskaper for alle leder av dette potensialet + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Leder @@ -1087,6 +1406,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens + Texte visible Synlig tekst @@ -1107,6 +1427,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens + Texte Tekst @@ -1121,7 +1442,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Funksjon : - + Formule du texte : Tekst-regel : @@ -1171,134 +1492,151 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Posisjon og rotasjon av lederteksten - + cable - + bus - - + + Unifilaire Enlinjeskjema - - + + Nombre de phase Antall faseleder - + Neutre N-leder - + neutre N-leder - + Phase Fase - + phase fase - + Protective Earth Neutral PEN-leder - + PEN PEN - + Terre Jordleder - + terre jordleder - + TextLabel Tekstnavn - + Apparence Utseende - + Couleur du conducteur Lederfarge - - + + Couleur : Farge : - + Couleur secondaire : Sekundær farge : - + Taille de trait : Linjetykkelse : - + px px - + Taille : Størrelse : - - + + Style du conducteur Linjetype - + Style : Type : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Hel linje - + Trait en pointillés conductor style: dashed line Punktelinje - + Traits et points conductor style: dashed and dotted line Strekpunkt @@ -1320,128 +1658,152 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert NO/ubetjent åpen - + Normalement fermé NC/ubetjent lukket - + Inverseur Veksler - + Autre - - + + Inconnu - + Simple Enkel - + Puissance Lastkontakt - + Temporisé travail forsinket på - + Temporisé repos forsinket av - + Temporisé travail & repos forsinket av og på + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1471,27 +1833,27 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1499,7 +1861,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Diagram - + Modifier la profondeur Endre nivå av utvalget @@ -1639,7 +2001,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1656,262 +2018,330 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image ett bilde - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Velg et bilde - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. Kunne ikke laste bildet - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1919,7 +2349,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagramPropertiesDialog - + Propriétés du folio window title Sideegenskaper @@ -1928,12 +2358,12 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagramTextItem - + Maintenir ctrl pour un déplacement libre Hold inne [Strg] for å skyve fritt - + <Shift> to move @@ -1942,77 +2372,83 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Skjemaet lages i dette området - + Coller ici context menu action Lim inn her - + Collage multiple Lim inn flere ganger - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées Koble utvalgte kontakter - + Sans titre what to display for untitled diagrams Ingen tittel - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Velg ny lederfarge - + Modifier les propriétés d'un conducteur undo caption Endre lederegenskaper @@ -2031,7 +2467,7 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Tittel - + TextLabel Tekstnavn @@ -2039,42 +2475,42 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Topp - + Bas Bunn - + Gauche - + Droite Høyre - + Direction : @@ -2082,17 +2518,17 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément Endre komponenttekst - + Redimensionner un texte d'élément @@ -2111,30 +2547,30 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens - - - - + + + + ... ... - + Importer une configuration de texte Importer lagret tekstkonfigurasjon - + Ajouter un texte Tilføy tekst - + Ajouter un groupe de textes Tilføy tekstgruppe - + Supprimer la sélection Slett utvalg @@ -2346,21 +2782,21 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens - + Gauche Venstre - + Droite Høyre - + Centre Midtstilt @@ -2459,64 +2895,64 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Justering - - + + Déplacer un champ texte Skyve tekstfelt - + Pivoter un champ texte Rotere tekstfelt - + Modifier le texte d'un champ texte Endre tekstfeltenes tekst - - + + Modifier la police d'un champ texte Endre tekstfeltenes skrifttype - + Modifier le cadre d'un champ texte Endre tekstfeltenes ramme - + Modifier la largeur d'un texte Endre tekstfeltenes bredde - + Modifier l'information d'un texte Endre tekstinformasjon - + Modifier la source de texte, d'un texte Endre tekstkilden - + Modifier l'alignement d'un champ texte Endre teksfeltenes justering - + Modifier la couleur d'un champ texte Endre tekstfeltenes farge - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2524,32 +2960,32 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens DynamicTextItemDelegate - + Texte utilisateur Brukertekst - + Information de l'élément Komponentinformasjon - + Texte composé Sammensatt tekst - + Gauche Venstre - + Centre Midtstilt - + Droite Høyre @@ -2557,12 +2993,12 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2603,153 +3039,226 @@ Anmerkning: Disse opsjonene endrer IKKE den automatiske nummereringen, bare dens Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Åpne komponent - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Velg komponent som skal åpnes - + Enregistrer un élément dialog title Lagre komponent - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Velg komponent du skal lagre definisjonen i - + Ouvrir une catégorie dialog title Åpne en kategori - - + + Choisissez une catégorie. dialog content Velg kategori - + Enregistrer une catégorie dialog title Lagre kategori - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Tittel - + Label Komponentkode - + Nom du nouveau dossier Navn av ny perm - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Ugyldig utvalg - + La sélection n'existe pas. message box content Utvalgt komponent/perm finnes ikke. - - + + Sélection incorrecte message box title Feil utvalg - + La sélection n'est pas un élément. message box content Utvalget er ikke en komponent - + Écraser l'élément ? message box title Erstatte eksisterende komponent? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Komponent finnes allerede. Skal den erstattes? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Du må velge enten en komponent eller en kategori @@ -2773,12 +3282,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Slett teksten - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2796,104 +3311,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informasjoner - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2909,8 +3534,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Type @@ -2993,8 +3618,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Funksjon @@ -3024,302 +3649,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Verdi - - - + + + Simple Enkel - + Maître Master - + Esclave Slave - + Renvoi de folio suivant referanse til neste side - + Renvoi de folio précédent referanse fra forrige side - + Bornier Rekkeklemme - + Vignette Ikon - + Définition de conducteur - - + + Normalement ouvert NO/ubetjent åpen - - + + Normalement fermé NC/ubetjent lukket - - + + Inverseur Veksler - + Other - + Esclave PLC - - + + Puissance Lastkontakt - - + + Temporisé travail forsinket på - - + + Temporisé repos forsinket av - - + + Temporisé travail & repos forsinket av og på - + Bobine Spole - + Organe de protection Vern - + Commutateur / bouton Bryter / knapp - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase Fase - + Neutre N-leder - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Kommentar - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Ingen - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Jordleder @@ -3333,7 +3958,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Komponent @@ -3468,249 +4093,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Flytt utvalg opp - + Ajouter la sélection Lim inn utvalg - + Supprimer la sélection Slett utvalg - + Descendre la sélection Flytt utvalg ned - + Pas de filtre Ikke filtrer - + N'est pas vide Er ikke tom - + Est vide Er tom - + Contient Inneholder - + Ne contient pas Inneholder ikke - + Est égal à Er lik - + N'est pas égale à Er ulik - + Filtre : Filter : - + Type d'éléments Komponenttype - + Simples Enkel - + Tous Alle - + Vignettes - + Contacteurs et relais Kontaktorer og reléer - + Boutons et commutateurs Bryter og knapper - + Borniers Klemmer - + Organes de protection Sikringer og vern - + Automates (MAE/SPS) - + Configuration Konfigurasjon - + Ouvrir la configuration sélectionné Åpne valgt konfigurasjon - + Sauvegarder la configuration actuelle Lagre aktuell konfigurasjon - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Bruker SQL-forespørsel - + Requête SQL : SQL-forespørsel - + Position Posisjon - + Titre du folio Sidenes tittel - + Position du folio Sidenes plassering - + Numéro du folio Sidenummer - - + + Exporter Eksporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3718,29 +4343,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Skyve basisfunkjon - + Éditer les informations sur l'auteur window title Endre informasjon om autorene - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Tekstfeltet bør brukes for å lagre informasjon om autor, lisens eller annen nyttig informasjon - + Éditer les noms window title Endre navnene - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Du kan endre komponentnavnet i forskjellige språk @@ -3748,101 +4373,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Utvalget er ikke en kategori - + L'item demandé n'est pas une categrie. Abandon. message box content Utvalget er ikke en kategori. Avbrutt. - + Catégorie inexistante message box title Kategoriet finnes ikke - + La catégorie demandée n'existe pas. Abandon. message box content Utvalgt kategori finnes ikke. Avbrutt. - + Éditer une catégorie window title Endre en kategori - + Créer une nouvelle catégorie window title Lag en ny kategori - + Nom de la nouvelle catégorie default name when creating a new category Den nye kategoriens navn - + Édition en lecture seule message box title Bare lesetilgang - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Du mangler myndighet for å endre kategoriet, den åpnes bare skrivebeskyttet - + Nom interne : Filnavn - + Vous pouvez spécifier un nom par langue pour la catégorie. Du bør angi et gyldig språknavn for kategoriet - + Nom interne manquant message box title Komponentens filnavn mangler - + Vous devez spécifier un nom interne. message box content Du må angi et gyldig filnavn for komponenten - + Nom interne déjà utilisé message box title Filnavnet er allerede i bruk - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Det valgte filnavnet er allerede brukt av en eksisterende kategori. Velg et annet filnavn - + Erreur message box title Feil - + Impossible de créer la catégorie message box content Kan ikke lage kategoriet @@ -3851,98 +4476,98 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Åpne kategoriperm - + Éditer l'élément Endre komponent - + Supprimer l'élément Slett komponent - + Supprimer le dossier Slett kategoripermen - + Recharger les collections Last inn komponentsamling på nytt - + Éditer le dossier Endre perm - + Nouveau dossier Ny perm - + Nouvel élément Nytt komponent - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Vis bare denne permen - + Afficher tous les dossiers Vis alle permer - + Propriété du dossier Permenes egenskaper - + Supprimer l'élément ? message box title Slett komponent - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content Skal komponenten virkelig slettes? - + Suppression de l'élément message box title Komponent slettes - + La suppression de l'élément a échoué. message box content Komponent kunne ikke slettes - + Supprimer le dossier? message box title Skal hele permen slettes? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3950,24 +4575,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Kategoripermen slettes - + La suppression du dossier a échoué. message box content Klarte ikke å slette kategoripermen - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3983,43 +4608,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Permen % inneholder - + %n élément(s), répartie(s) %n komponent, fordelt @@ -4027,7 +4652,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). på %n kategoriperm @@ -4035,32 +4660,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Filbane til kategoriet : %1 - + Chemin dans le système de fichiers : %1 Filbane i filsystemet : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 Egenskaper til kategoriepermen %1 @@ -4130,124 +4755,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Åpne katalog/perm - + Copier le chemin Kopier filbane i mellomlageret - + Basculer vers ce projet Gå til dette prosjektet - + Fermer ce projet Lukk prosjektet - + Propriétés du projet Prosjektegenskaper - + Propriétés du folio Sidenes egenskaper - + Ajouter un folio Tilføy en ny side - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Slett side - + Remonter ce folio Flytt side opp - + Abaisser ce folio Flytt side ned - + Remonter ce folio x10 Flytt side 10 plasser opp - + Remonter ce folio x100 Flytt side 100 plasser opp - + Remonter ce folio au debut Flytt side til begynnelsen - + Abaisser ce folio x10 Flytt side 10 plasser ned - + Abaisser ce folio x100 Flytt side 100 plasser ned - + Nouveau modèle Nytt tegningsmal - + Éditer ce modèle Endre tegningsmal - + Supprimer ce modèle Slett tegningsmal - - + + Panneau des éléments - + Filtrer Filtrer @@ -4293,7 +4918,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Eksporter @@ -4302,102 +4927,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title Eksporter prosjektsidene - + Exporter Eksporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Velg sidene og dens størrelser til eksport - + Tout cocher Velg alle - + Tout décocher Opphev utvalg - + Titre du folio Sidenes tittel - + Nom de fichier Filnavn - + Dimensions Størrelse - + Noms des fichiers cibles message box title Navn av målfilene - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Eksportsidenes filnavnene må være entydig og kan ikke være tomme - + Dossier non spécifié message box title Perm mangler - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Tast inn filbane til permem som bildefilene skal lagres inn i - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Kunne ikke skrive i denne filen - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Du mangler kanskje myndighet for å skrive til fil %1 - + Aperçu Preview - - + + px px @@ -4677,63 +5302,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre Jordleder - + Phase Fase - + Neutre N-leder - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4741,27 +5376,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Komponentkode - + Référence croisé - + Type Type - + Fonction Funksjon - + led @@ -4794,104 +5429,105 @@ that you create. Text and number inputs are Tillat krymping utover sidenes grenser - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Vis i &egne vinduer (aktiveres etter restart av QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Vis so&m fliker (aktiveres etter restart av QElectroTech) - + Projets Prosjekte - + Ne pas conserver les labels des éléments lors des copier coller Ikke ta med komponentkodene ved "klipp og lim" - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatisk lagring av prosjektene (aktiveres etter restart av QElectroTech) - + Utiliser les numéros de folio à la place de leur position dans le projet Bruk sidenummer istedenfor automatisk rekkefølge i prosjektet - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Første kolonne er kolonne 0 (ellers kolonne 1) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Désactivé Deaktivert - + min minute min - + Collections Samlinger/biblioteker - + Accès aux collections Tilgang til samlingene - + Répertoire de la collection commune Filbane til felles samling - - - - - - + + + + + + Par defaut Standard - - - - - - + + + + + + + Parcourir... Velg... - + Répertoire de la collection utilisateur Filbane til brukersamling/-bibliotek - + (Recharger les collections d'éléments pour appliquer les changements) (Last inn komponentsamlingene på nytt for oppdatering av endringene) - + Répertoire des cartouches utilisateur Filbane til bruker-tegningsmaler @@ -4906,82 +5542,187 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments Komponentorganisering - + Mettre en valeur dans le panel les éléments fraîchement intégrés Uthev nye komponenter i panelet - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Hver komponent inneholder informasjon om autor, lisens og ytterlige informasjoner i en egen tekstfelt. @@ -4989,394 +5730,502 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - + Langues - + Appliqué au prochain lancement de QElectroTech Aktiveres etter restart av QElectroTech - + Textes Tekster - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Standardverdier for de forskjellige tekstene - + Textes d'éléments Komponenttekstene - - - + + + Police : Skrifttype - - + + ° ° - + Longueur : Lengde - - + + Rotation : Rotasjon - + Textes indépendants Uavhengige tekstfelt - + Autres textes Øvrige tekster - + Grille + Clavier Raster & tastatur - + Grille : 1 - 30 Raster: 1 - 30 - + DiagramEditor yGrid Skjemategningenes rasterhøyde - + La Grille doite etre active pour pouvoir voir les modifications. Endringene er bare synlig ved aktivert raster - + DiagramEditor xGrid Skjemategningenes rasterbredde - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Forskyvning 1 - 30 med tastatur - + DiagramEditor (touche : gauche / droite) xGrid Skjemategning piltaste venstre/høyre forskyvning - + DiagramEditor (touche : haut / bas) yGrid Skjemategning piltaste opp/ned forskyvning - + Déplacement au clavier avec la touche ALT : 1 - 9 Forskyvning med tastene [ALT] + [1]..[9] - + DiagramEditor (touche : gauche / droite ) xGrid Skjemategning piltaste venstre/høyre forskyvning - + DiagramEditor (touche : haut / bas) yGrid Skjemategning piltaste opp/ned forskyvning - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Felles - + Système System - + Arabe Arabisk - + Brézilien Brasiliansk - + Catalan Katalansk - + Tchèque Tsjekkisk - + Allemand Tysk - + Danois Dansk - + Grec Gresk - + Anglais Engelsk - + Espagnol Spansk - + Français Fransk - + Croate Kroatisk - + Italien Italiensk - + Japonais - + Coréen - + Polonais Polsk - + Portugais Portugisik - + Roumains Rumensk - + Russe Russisk - + Slovène Slovensk - + Pays-Bas Nederlandsk - + Norvege Norsk (bokmål) - + Belgique-Flemish Flamsk - + Turc Tyrkisk - + Hongrois Ungarsk - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune Filbane til QET sin felles samling - + Chemin de la collection company - + Chemin de la collection utilisateur Filbane til brukersamlingen - + Chemin des cartouches company - + Chemin des cartouches utilisateur Filbane til tegningsmalene - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + CSV-fil (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5431,7 +6280,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Dette er et tegningsmal som du kan bruke i dine prosjektsider - + %1 [non utilisé dans le projet] %1 [ikke brukt i prosjektet] @@ -5748,42 +6597,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Preview - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5999,28 +6848,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6263,6 +7112,96 @@ Veuillez utiliser l'éditeur avancé pour cela. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6314,7 +7253,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>frakoble utvalgt komponent</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>tilkoble utvalgt komponent</p></body></html> @@ -6414,7 +7353,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6424,6 +7363,158 @@ Voulez-vous tout de même lier ce contact esclave ? Kryssreferanse (master) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6473,10 +7564,15 @@ Voulez-vous tout de même lier ce contact esclave ? Automatisk ledernummerering - + Multi-collage Lim inn flere ganger + + + Numéroter les éléments collés + + NameListDialog @@ -6486,7 +7582,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialog - + Variables de cartouche Tegningsmal-variabler @@ -6514,7 +7610,7 @@ Voulez-vous tout de même lier ce contact esclave ? Sett inn rad - + Copier dans le presse papier Kopier til mellomlageret @@ -6572,13 +7668,13 @@ Voulez-vous tout de même lier ce contact esclave ? Autonummerering - + Nouveau folio configuration page title Ny side - + Nouveau projet configuration page title Nytt prosjekt @@ -6853,13 +7949,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisk tekstfelt - + Déplacer un champ texte Skyve et tekstfelt @@ -6919,25 +8015,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Forskyv en tekst - + Modifier un champ texte Endre et tekstfelt + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6945,32 +8059,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7081,12 +8195,12 @@ Voulez-vous tout de même lier ce contact esclave ? Lukket polygon - + Ajouter un point Tilføy et punkt - + Supprimer ce point Slett punktet @@ -7133,54 +8247,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Velg det nye potensialets egenskaper. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Koble det nye potensial til et eksisterende potensial fra listen - - - + + + Numéro : %1 Nummer: %1 - - - + + + Fonction : %1 Funksjon: %1 - - - + + + Tension/protocole : %1 Spenning/protokoll: %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : Potensialet er koblet til %n leder @@ -7188,23 +8302,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Endre flere leders egenskaper - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7216,10 +8330,107 @@ Disse variablene kan IKKE brukes: + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Sletter + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Utskrift @@ -7228,142 +8439,342 @@ Disse variablene kan IKKE brukes: ProjectAutoNumConfigPage - + Numérotation auto Autonummerering - + Management Forvaltning - - + + Conducteurs Leder - - - Eléments - Komponenter - - - - - Folios - Sider - - - - Numérotation auto des folios - Automatisk sidenummerering - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Navn + + + + Folio + Side + + + + Élément + Komponent + + + + Figé - - - - - - - - - - Nom de la nouvelle numérotation - Den nye nummereringsregelens navn + + Attribuer un numéro libre… + - - - - - - - - Sans nom - Uten navn - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Komponenter + + + + + Folios + Sider + + + + Numérotation auto des folios + Automatisk sidenummerering + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Slett nummereringsregelen + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Nom de la nouvelle numérotation + Den nye nummereringsregelens navn + + + Sans nom + Uten navn + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech-Prosjekt (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7371,12 +8782,12 @@ Disse variablene kan IKKE brukes: ProjectDBModel - + Position Posisjon - + Position du folio @@ -7395,50 +8806,134 @@ Disse variablene kan IKKE brukes: ProjectMainConfigPage - + Général configuration page title Felles - + Titre du projet : label when configuring Prosjektets tittel - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Prosjektets tittel er gjennom variablen %projecttitle tilgjengelig i alle sider. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Egendefinerte egenskapsvariabler kan brukes i alle prosjektets sider (som regel i tegningsmalen). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7482,137 +8977,137 @@ Disse variablene kan IKKE brukes: - + Option de rendu - + Dessiner le cadre Tegne ramme - + Dessiner le cartouche Tegne tegningsmal - + Conserver les couleurs des conducteurs Behold lederfargene - + Dessiner les bornes Tegne tilkoblingspunkter - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page Tilpasser siden til arkenes størrelse - + Utiliser toute la feuille Bruk hele arket - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur Endre utskriftsstørrelse - + Ajuster la page Tilpass sidestørrelsen - + Zoom arrière Forminsk - + Zoom avant Forstørr - + Paysage Landskap - + Portrait Portrett - + Première page Første side - + Page précédente Forrige side - + Page suivante Neste side - + Dernière page Siste side - + Afficher une seule page - + Afficher deux pages Vis to sider - + Afficher un aperçu de toutes les pages Vis alle sider - + mise en page @@ -7789,245 +9284,293 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Laster... Gjenoppbygger komponentsamlingen - + Chargement... Éditeur de schéma splash screen caption Laster... Tegningseditor - + Chargement... Ouverture des fichiers splash screen caption Laster... Åpner filene - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QElektroTech-maler - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Brukermaler - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Skjema - + Electrique Normal example text - translate length, not meaning Elektro - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech instillinger - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Laster... - + Chargement... icône du systray splash screen caption Laster... Systemmeldinger - + QElectroTech systray menu title QElectroTech - + &Quitter A&vbryt - + &Masquer &Skjul - + &Restaurer V&is - + &Masquer tous les éditeurs de schéma Skjul alle skje&maeditorer - + &Restaurer tous les éditeurs de schéma Vis a&lle skjemaeditorer - + &Masquer tous les éditeurs d'élément Skj&ul alle komponenteditorer - + &Restaurer tous les éditeurs d'élément Vi&s alle komponenteditorer - + &Masquer tous les éditeurs de cartouche systray submenu entry Skjul alle t&egningsmaleditorer - + &Restaurer tous les éditeurs de cartouche systray submenu entry Vis alle te&gningsmaleditorer - + &Nouvel éditeur de schéma &Ny skjemaeditor - + &Nouvel éditeur d'élément Ny kom&ponenteditor - + Ferme l'application QElectroTech Lukk &QElectroTech - + Réduire QElectroTech dans le systray Minimer QElectroTech - + Restaurer QElectroTech Hent opp QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Skjemaeditor - + Éditeurs d'élément Komponenteditor - + Éditeurs de cartouche systray menu entry Tegningsmal-editor - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Fant denne sikkerhetskopien,<br>Skal den åpnes?</b><br> + <b>Fant denne sikkerhetskopien,<br>Skal den åpnes?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Fant disse sikkerhetskopiene,<br>Skal dem åpnes?</b><br> + <b>Fant disse sikkerhetskopiene,<br>Skal dem åpnes?</b><br> - Fichier de restauration - Sikkerhetskopi + Sikkerhetskopi - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Bruk: - + [options] [fichier]... [Opsjoner] [Fil]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8044,34 +9587,34 @@ Tilgjengelige opsjoner: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Angir filbane til komponentsamlingen - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Angir filbane til tegningsmal-samlingen - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Angir filbane til konfigurasjonen - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Angir filbane til språkfilene @@ -8081,160 +9624,160 @@ Tilgjengelige opsjoner: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Prosjekter - + Collections Samlinger - + Aucune modification Ingen endring - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klikk på aksjonen som skal reverseres - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Denne listen inneholder all gjennomførte endringer på den aktuelle siden. Et utvalg reverserer alle endringer inntil selve utvalget. - + Annulations dock title Reverser - + E&xporter E&ksporter - + Exporte le folio courant dans un autre format status bar tip Eksporter aktuell side til et annet filformat - + Imprimer Utskrift - + Imprime un ou plusieurs folios du projet courant status bar tip Skriv ut en eller flere sider av prosjektet - + &Quitter &Bekreft - + Ferme l'application QElectroTech status bar tip Lukk QElectroTech - + Annuler Reverser - + Annule l'action précédente status bar tip Reverser siste handling - + Refaire Gjenta - + Restaure l'action annulée status bar tip Gjenopprett siste reversering - + Co&uper K&lipp - + Cop&ier Ko&pier - + C&oller L&im - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Flytter utvalgte komponenter til mellomlageret - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopierer utvalgte komponenter til mellomlageret - + Place les éléments du presse-papier sur le folio status bar tip Limer mellomlagerets innhold på siden - + Réinitialiser les conducteurs Resett ledere - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Tegner ledere på nytt uten at endringene brukes - + Création automatique de conducteur(s) Tool tip of auto conductor Aktiver automatisk kobling av ledere - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Koble automatisk der det er mulig @@ -8250,955 +9793,1180 @@ Tilgjengelige opsjoner: Veksle sidenes bakgrunnsfarge mellom hvit og grått - + Afficher la grille Vis rasteret - + Affiche ou masque la grille des folios Vis rasteret på sidene - + Propriétés du folio Sideegenskaper - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Endre sideegenskaper (størrelse, tegningsmal, lederegenskaper...) - + Propriétés du projet Prosjektegenskaper - + Ajouter un folio Sett inn ny side - - - + + + Supprimer le folio Slett siden - + Nettoyer le projet Rense prosjektet - + Ajouter un sommaire Sett inn innholdsfortegnelse - + Exporter au format CSV Eksporter som CSV-fil - + Lancer le plugin de création de borniers Starte klemmeplan-generator-plugin - + Exporter la liste des noms de conducteurs Eksporter listen av ledernavn - + Exporter la base de donnée interne du projet Eksporter den interne prosjektdatabasen - + en utilisant des onglets Bruk fliker - + Présente les différents projets ouverts des onglets status bar tip Viser projektene som fliker - + en utilisant des fenêtres eller i egne vinduer - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Viser åpne prosjekter i egne vinduer - + &Mosaïque &Fliser - + Dispose les fenêtres en mosaïque status bar tip Plasserer vinduene som fliser - + &Cascade s&tablet - + Dispose les fenêtres en cascade status bar tip Viser vinduene stablet - + Mode Selection Utvalgsmodus - + Permet de sélectionner les éléments status bar tip Tillater utvalg av komponenter - + Mode Visualisation Visningsmodus - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Tillater visning av sider uten mulighet for endring - + Projet suivant Neste prosjekt - + Active le projet suivant status bar tip Aktiverer det neste prosjektet - + Projet précédent Forrige prosjekt - + Active le projet précédent status bar tip Aktiverer det forrige prosjektet - + &Nouveau &Nytt - + &Ouvrir &Åpne - + &Enregistrer &Lagre - + Enregistrer sous Lagre som - + + &Fermer L&ukk - + Crée un nouveau projet status bar tip Lager et nytt prosjekt - + Ouvre un projet existant status bar tip Åpner et eksisterende prosjekt - + Ferme le projet courant status bar tip Lukker prosjektet - + Enregistre le projet courant et tous ses folios status bar tip Lagrer prosjektet med alle prosjektsidene - + Enregistre le projet courant avec un autre nom de fichier status bar tip Lagrer prosjketet med et nytt filnavn - + Ajouter une colonne Sett inn rad - + Enlever une colonne Sletter en kolonne - + Ajouter une ligne Add row Setter inn råd - + Enlever une ligne Remove row Sletter rad - + Ajoute une colonne au folio status bar tip Tilføyer en kolonne på siden - + Enlève une colonne au folio status bar tip Sletter en kolonne på siden - + Agrandit le folio en hauteur status bar tip Øker sidenes høyde - + Rétrécit le folio en hauteur status bar tip Krymper til sidehøyden - + Supprimer Sletter - + Pivoter Roterer - + Orienter les textes Roterer tekstene - + Retrouver dans le panel Søk i skjemaet - + Éditer l'item sélectionné Endre utvalgt - + Grouper les textes sélectionnés Grupperer de utvalgte tekstene - + Ajouter une nomenclature Legg til en register - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Verktøylinjer + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Kryssreferanser + + + + Voir Affichage > Afficher + + + + Gestionnaire de borniers (DEV) - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) + + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Sletter de utvalgte komponentene fra siden - + Pivote les éléments et textes sélectionnés status bar tip Roterer utvalgte komponenter og tekster - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Roterer de utvalgte tekstene i eksakt vinkel - + Retrouve l'élément sélectionné dans le panel status bar tip Finner de utvalgte komponeter i skjemaet - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Velg alle - + Désélectionner tout Forkast hele utvalget - + Inverser la sélection Inverter utvalget - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Velg alle komponeter på siden - + Désélectionne tous les éléments du folio status bar tip Forkast utvalg av komponenter på siden - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Velger alt som ikke var valgt hittil, og forkaster alt som hittil har vært valgt - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant Forstørr - + Zoom arrière Forminsk - + Zoom sur le contenu Vis alt - + Zoom adapté Tilpass - + Pas de zoom Ingen zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Øker sidestørrelsen - + Rétrécit le folio status bar tip Forminsker sidestørrelsen - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Tilpasser størrelse slik at hele sideinnhold vises, uavhengig av tegningsmalen - + Adapte le zoom exactement sur le cadre du folio status bar tip Tilpasser størrelsen til tegningsmalen - + Restaure le zoom par défaut status bar tip Tilbakestiller til standardstørrelsen - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte Sett inn tekstfelt - + Ajouter une image Sett inn et bilde - + Ajouter un PDF - + Ajouter une ligne Draw line Sett inn en linje - + Ajouter un rectangle Sett inn en rektangel - + Ajouter une ellipse Sett inn en ellipse - + + Ajouter un arc + + + + Ajouter une polyligne Sett in et polygon - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel Setter inn et tekstfelt på den aktuelle siden - + Ajoute une image sur le folio actuel Setter in et bilde/grafikk på den aktuelle siden - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Setter inn en linje på den aktuelle siden - + Ajoute un rectangle sur le folio actuel Setter inn en rektangel på den aktuelle siden - + Ajoute une ellipse sur le folio actuel Setter inn en ellipse på den aktuelle siden - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Setter inn et polygon på den aktuelle siden - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer Søk/erstatt - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils Verktøy - + Affichage Display - + Schéma Skjema - + Ajouter Sett inn - + Profondeur toolbar title Dybde/nivå - + + Scripts + toolbar title + + + + &Fichier &Fil - + &Édition &Endre - + &Projet Prosjekt - + Afficha&ge Statusl&inje - + Fe&nêtres Vind&uer - + &Récemment ouverts Tidligere åpnet - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Viser/skjuler verktøylinjen - + Affiche ou non la barre d'outils Affichage Viser/skjuler statuslinjen - + Affiche ou non la barre d'outils Schéma Viser/skjuler skjema-verktøylinjen - + Affiche ou non le panel d'appareils Viser/skjuler komponentpanelet - + Affiche ou non la liste des modifications Viser/skjuler endringslisten - + Afficher les projets Vis prosjektene - - + + Projet %1 enregistré dans le repertoire: %2. Prosjekt %1 lagret i filbane %2. - + Ouvrir un fichier Åpne en fil - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech-prosjekter (*.qet);; XML-filer (*.xml);;Alle filer (*) - - + + Impossible d'ouvrir le fichier message box title Får ikke åpnet filen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Det ser ut som om filen %1 du vil åpne ikke finnes - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Du har ikke tilstekkelig myndighet/tillatelse for å få adgang til filen - + Ouverture du projet en lecture seule message box title Åpner prosjekt i lesemodus - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Du har ikke tillatelse for å skrive prosjeket, den åpnes skrivebeskyttet isteden. - - + + Échec de l'ouverture du projet message box title Får ikke åpnet prosjektet - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Det ser ut som om filen %1 ikke er noe QElectroTech-prosjektfil. Den kan ikke åpnes. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9207,7 +10975,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9216,42 +10984,82 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - - Groupe - Gruppe - - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe + Gruppe + + + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9259,100 +11067,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Endre komponent - + Éditer le champ de texte edit text field Endre tekstboks - + Éditer l'image edit image Endre bilde - + Éditer le conducteur edit conductor Endre leder - + Éditer l'objet sélectionné edit selected item Endre utvalg - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Huffda, får ikke åpnet filen %1 - + Active le projet « %1 » Aktiverer prosjekt "%1" - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Fy faen, en feil - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9360,7 +11168,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9368,7 +11176,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9376,18 +11184,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9396,13 +11204,111 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 @@ -9410,42 +11316,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Ny - + &Ouvrir &Åpne - + &Ouvrir depuis un fichier &Åpne fra fil - + &Enregistrer &Lagre - + Enregistrer sous Lagre som - + Enregistrer dans un fichier Lagre i en fil - + Recharger Last på nytt - + Tout sélectionner Velg alt @@ -9455,354 +11361,354 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Komponenteditor - + &Aide &Hjelp - + Annulations - + Parties Dele - + Informations Informasjoner - + Outils Verktøy - + Affichage - + Élément Komponent - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Velg ingenting - + Co&uper &Klipp - + Cop&ier Ko&pier - + C&oller L&im inn - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech O&m QElectroTech - + Affiche des informations sur QElectroTech Viser informasjon om QElectroTech-programmet - + Manuel en ligne Online-hjelp - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Åpner QElectroTech online-hjelpen i standard-nettleseren - + Chaine Youtube YouTube-kanalen - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Åpner YouTube-kanalen til QElectroTech i standard-nettleseren - + Soutenir le projet par un don Støtt prosjektet med en pengegave - + Soutenir le projet QElectroTech par un don Støtter QElectroTech-prosjektet gjennom en pengedonasjon - + À propos de &Qt Om 'Qt - + Affiche des informations sur la bibliothèque Qt Viser informasjon om Qt-biblioteken - + Rotation Rotasjon - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection inverter utvalget - + &Supprimer &Slett - + Éditer le nom et les traductions de l'élément Endre komponentnavn og oversettelser - + Éditer les informations sur l'auteur Endre informasjon om autor - + Éditer les propriétés de l'élément Endre komponentegenskaper - + Annuler Avbryt - + Refaire Gjenta - + Profondeur toolbar title Dybde - + Zoom avant Forstørr - + Zoom arrière Forminsk - + Zoom adapté Tilpass størrelse - + Pas de zoom Ingen forstørrelse - + Ajouter une ligne Sett inn linje - + Ajouter un rectangle Sett inn rektangel - + Ajouter une ellipse Sett inn ellipse - + Ajouter un polygone Sett inn polygon - + Ajouter du texte Sett inn tekst - + Ajouter un arc de cercle Sett inn en bue - + Ajouter une borne Sett inn klemme - + Ajouter un champ texte dynamique Sett inn dynamisk tekstboks - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dobbeltklikk for å avslutte formen, høyreklikk for å slette siste punktet - + Ajouter un texte d'élément non éditable dans les schémas Sett inn fast tekst i tegningen - + Ajouter un texte d'élément pouvant être édité dans les schémas Sett inn tekst som kan endres i tegningen - + Parties toolbar title Dele - + Avertissement Advarsel - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + &Fichier &Fil - + &Édition &Endre - + Afficha&ge Displa&y - + Coller depuis... Lim inn fra... - + [Modifié] window title tag [endret] - + [lecture seule] window title tag [skrivebeskyttet] - + Aucune modification Ikke endret - + Éditeur d'éléments status bar message Komponenteditor - - + + %n partie(s) sélectionnée(s). %n utvalgt del @@ -9810,35 +11716,35 @@ veuillez patienter durant l'import... - + Absence de borne warning title Ingen tilkoblingspunkt - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Uten tilkoblingspunkter kan komponentet ikke kobles til andre komponenter gjennom ledere. - + Absence de borne Ingen tilkoblingspunkter - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Feil</b> :<br>Kryssreferanser til sider kan bare ha en (1) tilkoblingspunkt<br><b>Løsninglt;/b> :<br>Sjekk om komponentet bare har et eneste tilkoblingspunkt - + La vérification de cet élément a généré message box content Sjekk av komponenten viser - + %n erreur(s) errors @@ -9847,12 +11753,12 @@ veuillez patienter durant l'import... - + et og - + %n avertissement(s) warnings @@ -9861,264 +11767,320 @@ veuillez patienter durant l'import... - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs Feil - + Avertissements Advarsler - + Le fichier %1 n'existe pas. message box content Filen %1 finnes ikke - + Afficher menu entry Verktøylinjer - - + + Impossible d'ouvrir le fichier %1. message box content Får ikke åpnet fil %q - - + + Ce fichier n'est pas un document XML valide message box content Denne filen er ikke en gyldig XML-fil - - + + Erreur toolbar title Feil - - + + Édition en lecture seule message box title Bare skrivebeskyttet - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Du har ikke myndighet for å endre komponentet. Den er åpnet i skrivebeskyttet modus. - - + + Erreur message box title Feil - + Impossible d'écrire dans ce fichier message box content Kan ikke skrive på filen - + Impossible d'enregistrer l'élément message box content Kan ikke lagre komponentet - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title Får ikke åpnet filen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Det ser ut som om filen %1 du vil åpne ikke finnes (lenger) - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Bredde + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title Laster komponentet - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Komponenten ble endret. Om du laster på nytt, mister du endringene. Vil du virkelig laste komponenten på nytt? - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) QElectroTech-komponent (*.elmt) - - - + + + Echec de l'enregistrement Kunne ikke lagre - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Kunne ikke lagre. De nødvendige forutsetningene er ikke tilstede - + Enregistrer sous dialog title Lagre som - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech-komponent (*.elmt) - + Enregistrer l'élément en cours ? dialog title Lagre aktuell komponent? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Vil du lagre komponent %1? - + Ouvrir un fichier dialog title Åpne en fil - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech-komponeter (*.elmt);;XML-filer (*.xml);;Alle filer (*) - - - - + + + + Élément inexistant. message box title Komponenten finnes ikke - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Den symboliske stien peker ikke til en komponent - - + + L'élément n'existe pas. message box content Komponenten finnes ikke @@ -10127,137 +12089,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech &Konfigurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Endrer egenskaper til QElektroTech-programmet - + À &propos de QElectroTech O&m QElectroTech - + Affiche des informations sur QElectroTech status bar tip Viser informasjon om QElectroTech-programmet - + Manuel en ligne Online-hjelp - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Åpner QElectroTech online-hjelpen i standard-nettleseren - - + + + + Général Felles - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube YouTube-kanalen - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Åpner YouTube-kanalen til QElectroTech i standard-nettleseren - - + + Télécharger une nouvelle version (dev) Oppdaterer til en ny versjon (utvikling) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Åpner den nattlige repository til QElectroTech i standard-nettleseren - + Soutenir le projet par un don Støtt prosjektet med en pengegave - + Soutenir le projet QElectroTech par un don status bar tip Støtter QElectroTech-prosjektet gjennom en pengedonasjon - + À propos de &Qt Om 'Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Viser informasjon om Qt-biblioteken - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Innstillinger - + &Aide window menu &Hjelp - + Sortir du &mode plein écran Forlater fullskjerm-modus - + Affiche QElectroTech en mode fenêtré status bar tip Viser QElectroTech i vindusmodus - + Passer en &mode plein écran F&ullskjerm-modus - + Affiche QElectroTech en mode plein écran status bar tip Veksler til fullskjerm-modus - + Afficher menu entry Verktøylinjer @@ -10266,52 +12263,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Prosjekt "%1: %2" - + Projet %1 displayed title for a title-less project - %1 is the file name Prosjekt %1 - + Projet sans titre displayed title for a project-less, file-less project Prosjekt uten tittel - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [skrivebeskyttet] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [endret] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10319,56 +12316,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Det oppstod en feil ved bruk av sidemalen - + Avertissement message box title Advarsel - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Åpner prosjektet...</b><br/>Sidene lages</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Åpner prosjektet...</b><br/>Laster inn kryssreferansene</p> @@ -10737,38 +12734,38 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) laster %p% (%v til %m) - + Collection QET QET-bibliotek - + Collection Company - + Collection utilisateur Brukerbibliotek - + Macros - + Collection inconnue Ukjent bibliotek - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10788,22 +12785,22 @@ Que désirez vous faire ? Søk/erstatt sideegenskaper - + Chercher/remplacer les propriétés d'éléments. Søk/erstatt komponentegenskaper - + Chercher/remplacer des textes independants Søk/erstatt uavhengige tekster - + Chercher/remplacer les propriétés de conducteurs. Søk/erstatt lederegenskaper - + Rechercher / remplacer avancé Avansert søk/erstatt @@ -10876,44 +12873,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut lim inn %l - + déplacer %1 undo caption - %1 is a sentence listing the moved content flytter %1 - + modifier le texte undo caption endre tekst - + modifier un conducteur undo caption endre leder - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content resetter %1 - + modifier les dimensions du folio undo caption endre sidedimensjoner @@ -10945,6 +12942,7 @@ Que désirez vous faire ? + Titre Tittel @@ -11127,8 +13125,13 @@ Que désirez vous faire ? element part name tekst + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11200,38 +13203,38 @@ Vil du erstatte den? en tekstgruppe - + Folio sans titre Side uten tittel - + schema Side - + Conserver les proportions Behold størrelsesforholdene - + Réinitialiser les dimensions Tilbakestill størrelse - + Aperçu Preview - + Exporter vers le presse-papier Kopier til mellomlageret - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Advarsel: Komponenten ble lagret med en nyere versjon av QElectroTech. @@ -11299,7 +13302,7 @@ Vil du erstatte den? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11308,7 +13311,7 @@ Vil du erstatte den? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11317,7 +13320,7 @@ Vil du erstatte den? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11326,7 +13329,7 @@ Vil du erstatte den? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11335,7 +13338,7 @@ Vil du erstatte den? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11344,7 +13347,7 @@ Vil du erstatte den? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11353,7 +13356,7 @@ Vil du erstatte den? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11362,7 +13365,7 @@ Vil du erstatte den? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11371,99 +13374,99 @@ Vil du erstatte den? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Finner ikke tekstfilen til GNU/GPL-lisensen - men du kan den jo utenat, ikke sant? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Finner tekstfilen til GNU/GPL-lisensen, men får ikke åpnet filen. Men du kan den jo utenat, ikke sant? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Kunne ikke åpne fil %1 for skriving, det oppstod feil nr. %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Kunne ikke skrive på fil %1, det oppstod feil nr. %2. - + Amener au premier plan På fremste nivå - + Rapprocher Et nivå fremover - + Éloigner Et nivå bakover - + Envoyer au fond På bakerste nivå - + Ramène la ou les sélections au premier plan Flytter utvalget til det første nivået - + Rapproche la ou les sélections Flytter utvalget om et nivå lenger frem - + Éloigne la ou les sélections Flytter utvalget om et nivå lenger bak - + Envoie en arrière plan la ou les sélections Flytter utvalget til det bakerste nivået - - - - + + + + Profondeur - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Installasjon av plugin qet_tb_generator<br>Se:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Benötigt python 3.5 oder höher.<br><B><U> Erste Installation unter Windows</B></U><br>1. Python 3.5 oder höher installieren<br> Siehe:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update under Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>Plug-in (Skript) flyttes i denne permen og kjøres så derifra:<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Feil ved start av qet_tb_generator-plugin - + Borne tooltip Klemmepunkt @@ -11561,35 +13564,35 @@ Vil du erstatte den? - - - + + + Type Type - - - + + + Adresse - - - + + + Commentaire Kommentar - - - + + + Réf. croisée @@ -11597,9 +13600,9 @@ Vil du erstatte den? - - - + + + Fonction Funksjon @@ -12073,7 +14076,7 @@ Vil du erstatte den? vannrett justering - + %p% effectué (%v sur %m) %p% ferdig (%v av %m) @@ -12120,6 +14123,7 @@ Vil du erstatte den? Endre tektsgruppenes justering + Modifier les informations de l'élément : %1 Endre informasjonene av komponent %1: @@ -12136,7 +14140,7 @@ Vil du erstatte den? Endre tegningsmalen - + supprimer %1 undo caption - %1 is a sentence listing the removed content Slett %1 @@ -12170,7 +14174,7 @@ Vil du erstatte den? %1 tekstgrupper - + %n texte(s) @@ -12178,19 +14182,19 @@ Vil du erstatte den? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Roter utvalgte tekster - + Création de conducteurs Lage lederforbindelse @@ -12210,15 +14214,15 @@ Vil du erstatte den? - - + + - - - - - - + + + + + + this is an error in the code @@ -12363,12 +14367,12 @@ Vil du erstatte den? - + Ouvrir un element - + Importer un fichier dxf @@ -12454,7 +14458,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12537,7 +14541,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12546,8 +14550,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12676,98 +14680,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Sett inn %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Endre tekstfargen - + Pivoter un texte - + Modifier le trait d'une forme Endre figurens linje - + Modifier le remplissage d'une forme Endre figurens fylling - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Endre en komponenttekst - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12775,6 +14792,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Side + QTextOrientationWidget @@ -12794,369 +14852,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau Endre tabellenes dimensjon + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Sett inn et punkt - + Supprimer ce point Slett punkt - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Størrelse - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Sett inn et knekkpunkt i polygonet - + Supprimer un point d'un polygone Slett et knekkpunkt fra polygonet - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Endre %1 - + une ligne en linje - + un rectangle et rektangel - + une éllipse en ellipse - + un arc - + une polyligne et polygon - + une courbe - + une shape en figur @@ -13238,7 +15357,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Tekstnavn - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Komponent %1 finnes allerede. Hva skal du gjøre? @@ -13246,31 +15365,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Side + + + + Élément + Komponent + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13294,9 +15457,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier Endres ikke @@ -13416,97 +15579,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af fase - - + + Nombre de phase Antall faseleder - + Neutre N-leder - + neutre N - + Terre Jordleder - + terre PE - + TextLabel Tekstnavn - + PushButton Trykknapp - + Apparence Vises som - + Taille : Størrelse: - - + + Couleur : Farge: - + Style : Stil: - - + + Modifier Endre - + Couleur secondaire : Sekundærfarge: - + Taille de trait : Størrelse: - + px px - + Trait plein conductor style: solid line heltrukket - + Trait en pointillés conductor style: dashed line Streker - + Traits et points conductor style: dashed and dotted line strekpunkt @@ -13515,7 +15678,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier Endres ikke @@ -13557,10 +15720,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier Endres ikke @@ -13620,7 +15783,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Bruk dagens dato - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13633,38 +15796,38 @@ Disse variablene er tilgjengelig i sidefeltet: %autonum: aktuell, gjennom nummereringsregelen generert sidenummer. - + Disponible en tant que %locmach pour les modèles de cartouches I tegingsmaler tilgjengelig som %locmach - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>I tegningsmaler tilgjengelig som %plant </p></body></html> - + Titre : Tittel: - - - - - - - + + + + + + + Supprimer ce texte Slett teksten - + Personnalisées Bruker-egenskaper - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Her kan du definere kombinasjoner av variabler/verdier for bruk i tegningsmalene. For eksempel: @@ -13703,6 +15866,185 @@ Disse variablene er tilgjengelig: %c: kolonnenummer + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Navn: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Lagre + + + + Ouvrir le &dossier + + + + + &Fermer + L&ukk + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13716,7 +16058,7 @@ Disse variablene er tilgjengelig: Søk: - + Quitter Avslutt @@ -13741,7 +16083,7 @@ Disse variablene er tilgjengelig: Stor-/småbokstaver - + Remplacer : Erstatt: @@ -13751,175 +16093,175 @@ Disse variablene er tilgjengelig: Gå til neste funn - + Aller à la correspondance précédente Gå til forrige funn - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Vis avanserte opsjoner</p></body></html> - + Actualiser Oppdater - + Champ texte de folio Tekstfelt på side - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Velg sideegenskaper som skal erstattes</p></body></html> - + Folio Side - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Velg hvilke komponentegenskaper som skal erstattes</p></body></html> - + Élément Komponent - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Velg hvilke lederegenskaper som skal erstattes</p></body></html> - + Conducteur Leder - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Erstatt utvalgte funn nå</p></body></html> - + Remplacer Erstatt - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Erstatt avkryssede funn nå</p></body></html> - + Tout remplacer Erstatt alle - + avancé Avansert - + Correspondance : Funnet: - + Folios Sider - + Champs texte Tekstfelt - + Eléments Komponenter - + Eléments simple Enkle komponenter - + Eléments maître Master-komponenter - + Eléments esclave Slave-komponenter - + Eléments report de folio Side-kryssreferanser - + Eléments bornier Koblingspunkter/klemmer - + Conducteurs Leder - + Inconnue Ukjent - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [endret] @@ -13947,53 +16289,81 @@ Disse variablene er tilgjengelig: Slett nummereringsregelen - + Définition Definisjon - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Slett en nummereringsvariabel</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Legg til en nummereringsvariabel</p></body></html> - Précédent - Forrige + Forrige - Suivant - Neste + Neste - + Type Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Verdi - + Incrémentation Økning - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Automatisk sidenummerering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14019,13 +16389,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window Automatisk ledernummerering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14062,13 +16432,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14089,6 +16459,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16478,12 +18858,12 @@ Les autres champs ne sont pas utilisés. - + Configuration Konfigurasjon - + Requête SQL : SQL-forespørsel @@ -16493,6 +18873,18 @@ Les autres champs ne sont pas utilisés. Posisjon + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16827,58 +19219,58 @@ Les autres champs ne sont pas utilisés. - + Ponter les bornes - + Déponter les bornes - + Propriétés Egenskaper - + Nom : Navn: - + Commentaire : - + Description - + Installation : Anlegg/System: - + Localisation : - + Type : Type: - + Degrouper les bornes - - + + Générique @@ -16893,62 +19285,62 @@ Les autres champs ne sont pas utilisés. - + Couleur pont : - + Fusible - + Sectionnable - + Diode - + Terre Jordleder - + Déplacer dans : - + Phase Fase - + Neutre N-leder - + Position automatique - + Étage : - + Grouper les bornes - + Fonction : @@ -16963,7 +19355,7 @@ Les autres champs ne sont pas utilisés. - + LED : @@ -16991,32 +19383,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger Last på nytt - + Recharger les borniers @@ -17246,12 +19638,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre Prosjekt uten tittel - + Bornes indépendante @@ -17354,7 +19746,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17362,37 +19754,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Bredde: - + Absolu a traditional, absolute measure Absolutt - + Relatif au total a percentage of the total width I forhold til hele bredden - + Relatif au restant a percentage of what remains from the total width I forhold til resterende bredde - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17421,87 +19813,87 @@ Les autres champs ne sont pas utilisés. <html><head/><body><p>Plasserer malen nede (vannrett) eller til høyre (loddrett) på siden </p></body></html> - + Principales Standard-egenskaper - + Date : Dato: - + Auteur : Autor: - + Indice Rev: Utgave-indeks: - + Disponible en tant que %locmach pour les modèles de cartouches I tegningsmalen som %locmach tilgjengelig - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>I tegningsmalen som %plant tilgjengelig</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches I tegningsmalen som %title tilgjengelig - + Folio : Side: - + Fichier : Fil: - + Disponible en tant que %author pour les modèles de cartouches I tegningsmalen som %author tilgjengelig - + Disponible en tant que %filename pour les modèles de cartouches I tegningsmalen som %filename tilgjengelig - + Pas de date Uten dato - + Date courante Dagens dato - + Appliquer la date actuelle Bruker dagens dato som verdi - + Disponible en tant que %date pour les modèles de cartouches I tegningsmalen som %date tilgjengelig - + Date fixe : Fast dato: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17514,67 +19906,68 @@ Disse variablene kan brukes i feltet Side: %autonum: gjennom autonummerering genererte sidenummer - + Titre : Tittel: - + Page Num: Sidenummer: - + Disponible en tant que %indexrev pour les modèles de cartouches I tegningsmalen som %indexrev tilgjengelig - + Installation : Anlegg/System: - + Localisation: Lokasjon: - + Personnalisées Brukerdefinerte egenskaper - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Her kan du definere kombinasjoner av variabler/verdier for bruk i tegningsmalene. For eksempel: variablen "volta" kombiniert med verdi "1745" I tegningsmalen blir så %{volta} erstattet med 1745. - + Éditer ce modèle menu entry Endre tegningsmalen - + Dupliquer et éditer ce modèle menu entry Kopier og endre tegningsmalen - + Title block templates actions Aksjoner i tegningsmalen - - + + + Créer un Folio Numérotation Auto Legg til automatisk nummerert side - + Modèle par défaut Standard-tegningsmal @@ -17582,13 +19975,13 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18085,50 +20478,50 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Side - - + + %n conducteur(s) listé(s). wiring list summary @@ -18137,7 +20530,7 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18149,96 +20542,115 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Spenning / Protokoll - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header Funksjon - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Advarsel + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18452,27 +20864,27 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Eksporter den interne prosjektdatabasen - + sans_nom Uten_navn @@ -18480,7 +20892,7 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale qdesigner_internal::ColorAction - + Text Color Tekstfarge @@ -18488,7 +20900,7 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale qdesigner_internal::HtmlTextEdit - + Insert HTML entity Sett inn HTML-egenskap @@ -18496,27 +20908,27 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale qdesigner_internal::RichTextEditorDialog - + Edit text Endre tekst - + Rich Text Rich Text - + Source Kilde - + &OK &OK - + &Cancel &Avbryt @@ -18524,69 +20936,69 @@ variablen "volta" kombiniert med verdi "1745" I tegningsmale qdesigner_internal::RichTextEditorToolBar - + Texte en gras Tykk - - - + + + Éditeur de texte - + Texte en italique Kursiv - + Texte souligé Understrek - + Left Align Venstre - + Center Midtstilt - + Right Align Høyre - + Justify Blokk - + Superscript Superscript - + Subscript Subscript - + Insérer un lien Sett inn lenke - + Insert &Image Sett inn B&ilde - + Simplify Rich Text Forenklet Rich Text diff --git a/lang/qet_nl.ts b/lang/qet_nl.ts index b80685d1a..b5813a59e 100644 --- a/lang/qet_nl.ts +++ b/lang/qet_nl.ts @@ -54,272 +54,272 @@ Log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech is een programma voor het maken van elektrische schema's. - + Les développeurs de QElectroTech about tab, developers line De ontwikkelaars van QelectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contact :<a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Oorspronkelijk idee - - + - - + + + Développement Ontwikkeling - + Convertisseur DXF DXF converter - + Plugin Bornier Klemmenstrook-plugin - + Collection Collectie - + Traduction en espagnol Spaanse vertaling - + Traduction en russe Russische vertaling - + Traduction en portugais Portugese vertaling - + Traduction en tchèque Tjechische vertaling - + Traduction en polonais Poolse vertaling - + Traduction en allemand Duitse vertaling - + Traduction en roumain Roemeense vertaling - + Traduction en italien Italiaanse vertaling - + Traduction en arabe Arabische vertaling - + Traduction en croate Croatische vertaling - + Traduction en catalan Catalaanse vertaling - + Traduction en grec Griekse vertaling - + Traduction en néerlandais Nederlandse vertaling - + Traduction en flamand Belgisch Nederlandse vertaling - + Traduction en danois Deense vertaling - + Traduction en brézilien Braziliaanse vertaling - + Traduction en Turc Turkse vertaling - + Traduction en hongrois Hongaarse vertaling - + Traduction en serbe Servische vertaling - + Traduction en japonais Japanse vertaling - + Traduction en coréen - + Traduction en mongol Mongoolse vertaling - + Paquets Fedora et Red Hat Fedora en Red Hat pakketten - + Paquets Mageia Mageia pakketten - + Paquets Debian Debian pakketten - + Paquets Gentoo Gentoo pakketten - + Paquets OS/2 OS/2 pakketten - + Paquets FreeBSD FreeBSD pakketten - + Paquets MAC OS X MAC OSX pakketten - + Paquets Archlinux AUR Archlinux AUR pakketten - + Icônes Iconen - + Documentation Documentatie - + Collection d'éléments Elementencollectie - + Redimensionneur d'éléments Element scaler Element schalen - + Convertisseur d'élément DXF Dxf2elmt DXF naar element converteren - + Outil de traduction d'éléments Qet_translate Vertaalhulp voor elementen - + Paquets Snap Snap-pakketten - + Traduction en ukrainien Oekraïense vertaling - + Traduction en norvégien Noorse vertaling - + Traduction en slovène Sloveense vertaling - + Générateur d'élément lambda Lambda element generator Lambda elementengenerator @@ -428,17 +428,17 @@ Configuratie - + Contenu Inhoud - + Sélectionner la police des en tête du tableau Het lettertype van de kopteksten van de tabel selecteren - + Sélectionner la police des cellules du tableau Het lettertype van de cellen van de tabel selecteren @@ -456,6 +456,134 @@ Voeg de volgende klemmenstrook toe : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Hoek: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Element - + Conducteur Geleider - + Configurer les règles d'auto numérotation Configureer de regels voor automatisch nummeren - + Configurer Configureren @@ -573,10 +734,88 @@ Schemablad - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Autonummering + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Bestaande - + Under Development In ontwikkeling - + Installing Installatie - + Built Gebouwd - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Beheer automatische nummering - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1031,55 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Voorbeeld - + nomenclature_ naamgeving_ - + Enregister sous... Opslaan als... - + Fichiers csv (*.csv) csv-bestanden (*.csv) - - + + Erreur Fout - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Plaats - + Position du folio Plaats van het schemablad - + Quantité numéro d'article Special field with name : designation quantity Aantal artikelen - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1112,27 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1179,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1210,8 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Variabele toevoegen : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Voer hier een samengestelde tekst in m.b.v. de beschikbare variabelen @@ -909,13 +1219,13 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Conductor - + Modifier les propriétés d'un conducteur undo caption Eigenschappen van één geleider wijzigen - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschappen van meerdere geleiders wijzigen @@ -924,73 +1234,73 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle ConductorColorToolButton - + Noir Zwart - + Marron Bruin - + Gris Grijs - + Bleu Blauw - + Vert Groen - + Rouge Rood - + Orange Oranje - + Violet Violet - + Blanc Wit - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -999,7 +1309,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle - + Choisir une couleur de conducteur @@ -1017,13 +1327,13 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Eigenschappen toepassen op alle geleiders met dit potentiaal - + Modifier les propriétés d'un conducteur undo caption Eigenschappen van een geleider wijzigen - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschappen van meerdere geleiders wijzigen @@ -1032,24 +1342,33 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Eigenschappen toepassen op alle geleiders met dit potentiaal + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Geleider @@ -1078,12 +1397,13 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle + Texte Tekst - - + + Unifilaire Eéndraadschema @@ -1099,6 +1419,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle + Texte visible Tekst weergeven @@ -1138,35 +1459,52 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Plaats en oriëntatie van de geleidertekst : - + phase Fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Doorgetrokken lijn - + Trait en pointillés conductor style: dashed line Streepjeslijn - + Traits et points conductor style: dashed and dotted line Stippellijn - + terre Aarde - + neutre Nul @@ -1176,7 +1514,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Geleidereigenschappen - + Formule du texte : Tekstformule : @@ -1207,96 +1545,96 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Geleiderdoorsnede - + cable Kabel - + bus Bus - - + + Nombre de phase Aantal fasen - + Neutre Nul - + Phase Fase - + Protective Earth Neutral Gecombineerde veiligheidsaarde en nul - + PEN PEN - + Terre Aarde - + TextLabel Tekstlabel - + Taille : Dikte : - - + + Style du conducteur Geleiderstijl - + Couleur secondaire : Secundaire kleur : - + px px - + Taille de trait : Lijndikte : - + Couleur du conducteur Geleiderkleur - + Apparence Weergave - - + + Couleur : Kleur : - + Style : Stijl : @@ -1317,128 +1655,152 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert Normaal geopend - + Normalement fermé Normaal gesloten - + Inverseur Geïnverteerd - + Autre - - + + Inconnu - + Simple Enkelvoudig - + Puissance Vermogen - + Temporisé travail Vertraagd opkomend - + Temporisé repos Vertraagd afvallend - + Temporisé travail & repos Vertraagd opkomend & afvallend + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1468,27 +1830,27 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Fout - + Impossible d'écrire dans le fichier « %1 ». @@ -1496,7 +1858,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Diagram - + Modifier la profondeur Laagdiepte wijzigen @@ -1636,7 +1998,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1653,262 +2015,330 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image een afbeelding - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Selecteer een afbeelding... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Fout - + Impossible de charger l'image. Kan afbeelding niet laden. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1916,7 +2346,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagramPropertiesDialog - + Propriétés du folio window title Schemabladeigenschappen @@ -1925,12 +2355,12 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagramTextItem - + Maintenir ctrl pour un déplacement libre Houdt de CTRL-toets ingedrukt om vrij te verplaatsen - + <Shift> to move @@ -1939,77 +2369,83 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DiagramView - + Coller ici context menu action Hier plakken - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip In dit gebied kunnen schema's worden gemaakt door het toevoegen van elementen en deze d.m.v. geleiders met elkaar te verbinden. Tevens kunnen hier losse teksten worden geplaatst. - + Collage multiple Meervoudig plakken - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Geselecteerde klemmen verbinden - + Sans titre what to display for untitled diagrams Naamloos - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Fout - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Kies de nieuwe kleur voor deze geleider - + Modifier les propriétés d'un conducteur undo caption Eigenschappen van een geleider wijzigen @@ -2028,7 +2464,7 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Naam - + TextLabel Tekstlabel @@ -2036,42 +2472,42 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Boven - + Bas Onder - + Gauche Links - + Droite Rechts - + Direction : @@ -2079,17 +2515,17 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément Elementtekst bewerken - + Redimensionner un texte d'élément @@ -2108,30 +2544,30 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle - - - - + + + + ... ... - + Importer une configuration de texte Tekstconfiguratie importeren - + Ajouter un texte Tekst toevoegen - + Ajouter un groupe de textes Een tekstenverzameling toevoegen - + Supprimer la sélection Selectie verwijderen @@ -2337,21 +2773,21 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle - + Gauche Links - + Droite Rechts - + Centre Midden @@ -2456,64 +2892,64 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Uitlijning - - + + Déplacer un champ texte Een tekstveld verschuiven - + Pivoter un champ texte Een tekstveld draaien - + Modifier le texte d'un champ texte Tekst van een tekstveld wijzigen - - + + Modifier la police d'un champ texte Wijzigen van het lettertype van een tekstveld - + Modifier la couleur d'un champ texte De kleur van een tekstveld wijzigen - + Modifier la conservation de l'angle De te behouden rotatie wijzigen - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Het kader van een tekstveld wijzigen - + Modifier la largeur d'un texte De breedte van een tekst wijzigen - + Modifier l'information d'un texte De tekstinformatie wijzigen - + Modifier la source de texte, d'un texte De tekstbron van een tekst wijzigen - + Modifier l'alignement d'un champ texte Uitlijning van een tekstveld wijzigen @@ -2521,32 +2957,32 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle DynamicTextItemDelegate - + Texte utilisateur Eigen tekst - + Information de l'élément Elementinformatie - + Texte composé Samengestelde tekst - + Gauche Links - + Centre Midden - + Droite Rechts @@ -2554,12 +2990,12 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,153 +3036,226 @@ Noot: Geen van deze opties bepalen het al of niet automatisch nummeren maar alle Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Open een element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Kies het te openen element. - + Enregistrer un élément dialog title Een element opslaan - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Kies het element waarin de definitie moet worden bewaard. - + Ouvrir une catégorie dialog title Een categorie openen - - + + Choisissez une catégorie. dialog content Kies een categorie. - + Enregistrer une catégorie dialog title Een categorie opslaan - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Naam - + Label Label - + Nom du nouveau dossier Naam van de nieuwe map - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Selecteer een element of een categorie met een naam voor het element. - + Sélection inexistante message box title Selectie bestaat niet - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content De selectie bestaat niet. - - + + Sélection incorrecte message box title Foutieve selectie - + La sélection n'est pas un élément. message box content Selectie is geen element. - + Écraser l'élément ? message box title Element overschrijven ? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Het element bestaat al. Moet het worden overschreven? @@ -2770,12 +3279,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Deze tekst verwijderen - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2793,104 +3308,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informatie - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2906,8 +3531,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Type @@ -2990,8 +3615,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Functie @@ -3021,302 +3646,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Waarden - - - + + + Simple Enkelvoudig - + Maître Verwijzer - + Esclave Doel - + Renvoi de folio suivant Verwijzing naar het volgende schemablad - + Renvoi de folio précédent Verwijzing naar het vorige schemablad - + Bornier Klem - + Vignette Miniatuur - + Définition de conducteur - - + + Normalement ouvert Normaal geopend - - + + Normalement fermé Normaal gesloten - - + + Inverseur Geïnverteerd - + Other Overig - + Esclave PLC - - + + Puissance Vermogen - - + + Temporisé travail Vertraagd opkomend - - + + Temporisé repos Vertraagd afvallend - - + + Temporisé travail & repos Vertraagd opkomend & afvallend - + Bobine Spoel - + Organe de protection Beveiligingsorgaan - + Commutateur / bouton Schakelaar / drukknop - + Module PLC - - + + Générique Algemeen - + Fusible Zekering - + Séctionnable Deelbaar - + Diode Diode - + Phase Fase - + Neutre Nul - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Commentaar - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Geen - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Aarde @@ -3330,7 +3955,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Element @@ -3467,249 +4092,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Selectie omhoog verplaatsen - + Ajouter la sélection Selectie toevoegen - + Supprimer la sélection Selectie verwijderen - + Descendre la sélection Selectie omlaag verplaatsen - + Pas de filtre Geen filter - + N'est pas vide Is niet leeg - + Est vide Is leeg - + Contient Bevat - + Ne contient pas Bevat niet - + Est égal à Is gelijk aan - + N'est pas égale à Is niet gelijk aan - + Filtre : Filter : - + Type d'éléments Elementtypen - + Simples Enkelvoudige - + Tous Alles - + Vignettes Miniaturen - + Contacteurs et relais Contactoren en relais - + Boutons et commutateurs Knoppen en schakelaars - + Borniers Klemmen - + Organes de protection Beveiligingsorganen - + Automates (MAE/SPS) - + Configuration Configuratie - + Ouvrir la configuration sélectionné Geselecteerde configuratie openen - + Sauvegarder la configuration actuelle Huidige configuratie opslaan - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Persoonlijke SQL-query - + Requête SQL : SQL-query : - + Position Positie - + Titre du folio Schemabladnaam - + Position du folio Plaats van het schemablad - + Numéro du folio Schemabladnummer - - + + Exporter Exporteren - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Fout - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3717,28 +4342,28 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Een onderdeel verplaatsen - + Éditer les informations sur l'auteur window title Bewerk de informatie over de auteur - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Deze ruimte kan worden gebruikt om de auteurs van het element, de licentie of andere belangrijke informatie te vermelden. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. De elementnaam kan in meerdere talen worden opgegeven. - + Éditer les noms window title Namen bewerken @@ -3747,101 +4372,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Er kan voor elke taal een categorienaam worden opgegeven. - + Nom interne : Interne naam : - + L'item n'est pas une catégorie message box title Dit is geen categorie - + L'item demandé n'est pas une categrie. Abandon. message box content Het gevraagde item is geen categorie. Annuleren. - + Catégorie inexistante message box title Categorie bestaat niet - + La catégorie demandée n'existe pas. Abandon. message box content De gevraagde categorie bestaat niet. Annuleren. - + Éditer une catégorie window title Een categorie bewerken - + Créer une nouvelle catégorie window title Een nieuwe categorie maken - + Nom de la nouvelle catégorie default name when creating a new category Naam van de nieuwe categorie - + Édition en lecture seule message box title Alleen-lezen versie - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Er zijn aanvullende rechten vereist om deze categorie te kunnen bewerken en zal in alleen-lezen modus worden geopend. - + Nom interne manquant message box title Interne naam ontbreekt - + Vous devez spécifier un nom interne. message box content Er moet een interne naam worden opgegeven. - + Nom interne déjà utilisé message box title Interne naam is al in gebruik - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Deze interne naam wordt al gebruikt voor een andere categorie. Kies een andere naam. - + Erreur message box title Fout - + Impossible de créer la catégorie message box content Categorie maken niet mogelijk @@ -3850,73 +4475,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Bijbehorende map openen - + Éditer l'élément Element bewerken - + Supprimer l'élément Element verwijderen - + Supprimer le dossier Map verwijderen - + Recharger les collections Collecties herladen - + Éditer le dossier Map bewerken - + Nouveau dossier Nieuwe map - + Nouvel élément Nieuw element - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Alleen deze map weergeven - + Afficher tous les dossiers Alle mappen weergeven - + Propriété du dossier Mapeigenschappen - + Supprimer l'élément ? message box title Element verwijderen? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3924,49 +4549,49 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Element verwijderen - + La suppression de l'élément a échoué. message box content Element kon niet worden verwijderd. - + Supprimer le dossier? message box title Map verwijderen ? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content Moet deze map echt worden verwijderd ? Alle elementen en mappen in deze map worden ook gewist. - + Suppression du dossier message box title Map verwijderen - + La suppression du dossier a échoué. message box content Map kon niet worden verwijderd. - + Le dossier %1 contient De map %1 bevat - + %n élément(s), répartie(s) %n element, onderdeel @@ -3974,7 +4599,7 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + dans %n dossier(s). in %n map. @@ -3982,37 +4607,37 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Chemin de la collection : %1 Pad naar de collectie : %1 - + Chemin dans le système de fichiers : %1 Pad in het bestandssysteem : %1 - + Rechercher... - + Collections Collecties - + Modèles - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4028,38 +4653,38 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Propriété du dossier %1 Eigenschappen van map %1 @@ -4129,124 +4754,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Open de bijbehorende map - + Copier le chemin Kopieer het pad - + Basculer vers ce projet Activeer dit project - + Éditer ce modèle Dit sjabloon bewerken - + Supprimer ce modèle Dit sjabloon verwijderen - + Fermer ce projet Dit project sluiten - + Propriétés du projet Projecteigenschappen - + Propriétés du folio Schemabladeigenschappen - + Ajouter un folio Schemablad toevoegen - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Schemablad verwijderen - + Remonter ce folio Schemablad omhoog - + Abaisser ce folio Schemablad omlaag - + Remonter ce folio x10 Schemablad 10 omhoog - + Remonter ce folio x100 Schemablad 100 omhoog - + Remonter ce folio au debut Schemablad bovenaan - + Abaisser ce folio x10 Schemablad 10 omlaag - + Abaisser ce folio x100 Schemablad 100 omlaag - + Nouveau modèle Nieuw sjabloon - - + + Panneau des éléments - + Filtrer Filter @@ -4292,7 +4917,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Exporteren @@ -4301,101 +4926,101 @@ En important ce fichier, vous confirmez que : ExportDialog - + Aperçu Voorbeeld - + Dimensions Afmetingen - + Impossible d'écrire dans ce fichier message box title Bestand schrijven niet mogelijk - + Exporter Exporteren - + Nom de fichier Bestandsnaam - - + + px px - + Noms des fichiers cibles message box title Naam van het doelbestand - + Exporter les folios du projet window title Exporteer de schemabladen van het project - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Kies de te exporteren schemabladen en hun formaat : - + Tout cocher Selecteer alles - + Tout décocher Deselecteer alles - + Titre du folio Schemabladnaam - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Voor elk te exporteren schemablad moet een unieke, niet lege bestandsnaam worden opgegeven. - + Dossier non spécifié message box title Map niet opgegeven - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Hier moet het pad naar de map waar de afbeeldingsbestanden moeten worden opgeslagen worden opgegeven. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Er zijn aanvullende rechten vereist om bestand %1 op te slaan. @@ -4677,63 +5302,73 @@ Teksten en nummers zijn ook beschikbaar. Verplaatsing toepassen - - + + Générique Algemeen - + Fusible Zekering - + Sectionnable Deelbaar - + Diode Diode - + Terre Aarde - + Phase Fase - + Neutre Nul - + Sans Zonder - + Avec Met - + Modifier des propriétés de borniers Eigenschappen van aansluitklemmen wijzigen - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4741,27 +5376,27 @@ Teksten en nummers zijn ook beschikbaar. FreeTerminalModel - + Label Label - + Référence croisé Kruisverwijzing - + Type Type - + Fonction Functie - + led LED @@ -4779,42 +5414,43 @@ Teksten en nummers zijn ook beschikbaar. Gebruik systeemkleuren - + Chemin de la collection utilisateur Pad naar de gebruikerscollectie - + Chemin de la collection commune Pad naar de algemene collectie - - - - - - + + + + + + Par defaut Standaard - - - - - - + + + + + + + Parcourir... Bladeren... - + (Recharger les collections d'éléments pour appliquer les changements) (Herlaadt collecties om de wijzigingen toe te passen) - + Projets Projecten @@ -4824,101 +5460,101 @@ Teksten en nummers zijn ook beschikbaar. Gebruik touchpad - + Utiliser les numéros de folio à la place de leur position dans le projet Gebruik schemabladnummers in plaats van hun plaats in het project - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Nummer kolommen vanaf 0 (in plaats van vanaf 1) - + Désactivé Uitschakelen - + min minute min - + Chemin des cartouches utilisateur Pad naar eigen titelblokken - + Collections Collecties - + Accès aux collections Collectiemappen - + Répertoire de la collection commune Algemene elementencollectie - + Répertoire de la collection utilisateur Eigen elementencollectie - + Répertoire des cartouches utilisateur Eigen titelblokkencollectie - + Gestion des éléments Elementenbeheer - + Mettre en valeur dans le panel les éléments fraîchement intégrés Markeer nieuw toegevoegde elementen in het paneel - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Elk element bevat een vrij tekstveld met informatie over de auteur, de licentie of andere relevante informatie. Hieronder kan de standaardtekst voor nieuwe elementen worden opgegeven: - + Appliqué au prochain lancement de QElectroTech Toegepast na herstarten van QElectroTech - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Hier kan de standaardweergave van verschillende QElectroTech-teksten worden ingesteld - + Grille + Clavier Raster + Toetsenbord - + Grille : 1 - 30 Raster in schemabewerker - + DiagramEditor xGrid In x-richting: (1 - 30) - + DiagramEditor yGrid In y-richting: (1 - 30) @@ -4933,223 +5569,338 @@ Hieronder kan de standaardtekst voor nieuwe elementen worden opgegeven: - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Ven&sters gebruiken (toegepast na herstarten van QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Tabs gebruiken (toegepast na he&rstarten van QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Schaalmethode voor weergave met hoge pixeldichtheid (hdpi) (toegepast na opnieuw starten van QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Bedrijfselementencollectie - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Bedrijfstitelblokkencollectie - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Taal - + Textes Teksten - + Textes d'éléments Elementteksten - - - + + + Police : Lettertype: - - + + ° ° - + Longueur : Grootte : - - + + Rotation : Rotatie : - + Textes indépendants Losse teksten - + Autres textes Overige teksten - + La Grille doite etre active pour pouvoir voir les modifications. Het raster moet geactiveerd zijn om de wijzigingen te kunnen zien. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Verplaatsing van selectie met pijltjestoetsen - + DiagramEditor (touche : gauche / droite) xGrid Pijltje links / rechts in x-richting: (1 - 30) - + DiagramEditor (touche : haut / bas) yGrid Pijltje omhoog / omlaag in y-richting: (1 - 30) - + Déplacement au clavier avec la touche ALT : 1 - 9 Verplaatsing van selectie met ALT + pijltjestoetsen - + DiagramEditor (touche : gauche / droite ) xGrid ALT + Pijltje links / rechts in x-richting: (1 - 9) - + DiagramEditor (touche : haut / bas) yGrid ALT + Pijltje omhoog / omlaag in y-richting: (1 - 9) - + Affichage Grille Raster - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Diagram-Editor rasterpuntgrootte: 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Element-Editor rasterpuntgrootte: 1 - 5 - + Editor Elementenbewerker - + Max. parts in Element Editor List Maximum aantal onderdelen in elementenbewerkerslijst - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatisch een backup van projecten maken (toegepast na herstarten van QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller Vergeet elementlabels bij kopiëren/plakken @@ -5164,218 +5915,316 @@ Hieronder kan de standaardtekst voor nieuwe elementen worden opgegeven:Algemene configuratie - + Arrondi supérieur pour 0.5 et plus Naar boven afronden bij meer dan 0,5 - + Toujours arrondi supérieur Altijd naar boven afronden - + Toujours arrondi inférieur Altijd naar beneden afronden - + Arrondi supérieur pour 0.75 et plus Naar boven afronden bij meer dan 0.75 - + Pas d'arrondi Niet afronden - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Algemeen - + Système Systeem - + Arabe Arabisch - + Brézilien Braziliaans - + Catalan Catalaans - + Tchèque Tsjechisch - + Allemand Duits - + Danois Deens - + Grec Grieks - + Anglais Engels - + Espagnol Spaans - + Français Frans - + Croate Kroatisch - + Italien Italiaans - + Japonais Japans - + Coréen - + Polonais Pools - + Portugais Portugees - + Roumains Roemeens - + Russe Russisch - + Slovène Sloveens - + Pays-Bas Nederlands - + Norvege Noors - + Belgique-Flemish Belgisch Vlaams - + Turc Turks - + Hongrois Hongaars - + Mongol Mongools - + Ukrainien Oekraïens - + Chinois Chinees - + Suédois Zweeds - + Chemin de la collection company Map bedrijfscollectie - + Chemin des cartouches company Map bedrijfstitelblokken - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Te hoge waarden kunnen leiden tot vastlopen van de applicatie. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5430,7 +6279,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Dit is een titelbloksjabloon dat op een schemablad kan worden gebruikt. - + %1 [non utilisé dans le projet] %1 [ongebruikt in dit project] @@ -5760,42 +6609,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Voorbeeld - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour choisir une couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. @@ -6012,28 +6861,28 @@ Hiervoor wordt de geavanceerde tekstbewerker gebruikt. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6276,6 +7125,96 @@ Hiervoor wordt de geavanceerde tekstbewerker gebruikt. Verbinding verbreken + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6317,7 +7256,7 @@ Hiervoor wordt de geavanceerde tekstbewerker gebruikt. <html><head/><body><p>Verbreek verbinding met het geselecteerde element</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Met het geselecteerde element verbinden</p></body></html> @@ -6427,7 +7366,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6437,6 +7376,158 @@ Voulez-vous tout de même lier ce contact esclave ? Kruisverwijzing (verwijzer) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6486,10 +7577,15 @@ Voulez-vous tout de même lier ce contact esclave ? Geleiders automatisch nummeren - + Multi-collage Meervoudig plakken + + + Numéroter les éléments collés + + NameListDialog @@ -6499,7 +7595,7 @@ Voulez-vous tout de même lier ce contact esclave ? Namenlijst - + Variables de cartouche Titelblokvariabelen @@ -6527,7 +7623,7 @@ Voulez-vous tout de même lier ce contact esclave ? Regel toevoegen - + Copier dans le presse papier Naar klembord kopiëren @@ -6585,13 +7681,13 @@ Voulez-vous tout de même lier ce contact esclave ? Automatisch nummeren - + Nouveau folio configuration page title Nieuw schemablad - + Nouveau projet configuration page title Nieuw project @@ -6866,13 +7962,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisch tekstveld - + Déplacer un champ texte Een tekstveld verplaatsen @@ -6932,25 +8028,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Tekstveld verplaatsen - + Modifier un champ texte Tekstveld wijzigen + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6958,32 +8072,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7089,12 +8203,12 @@ Voulez-vous tout de même lier ce contact esclave ? Gesloten veelhoek - + Ajouter un point Een hoekpunt toevoegen - + Supprimer ce point Hoekpunt verwijderen @@ -7147,8 +8261,8 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Kies welk potentiaal moet worden gebruikt. - - + + %n conducteurs composent le potentiel suivant : %n geleider heeft het volgende potentiaal : @@ -7156,75 +8270,75 @@ Kies welk potentiaal moet worden gebruikt. - - - + + + Numéro : %1 Nummer : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Kies een elektrisch potentiaal van de lijst om als nieuw potentiaal te gebruiken - - - + + + Fonction : %1 Functie : %1 - - - + + + Tension/protocole : %1 Voltage/Protocol :%1 - - - + + + Couleur du conducteur : %1 Kleur van geleider : %1 - - - + + + Section du conducteur : %1 Doorsnede van geleider : %1 - + Ajouter au câble: %1 Toevoegen aan kabel: %1 - + Ajouter au bus: %1 Toevoegen aan bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Eigenschappen van meerdere geleiders wijzigen - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7235,10 +8349,107 @@ De volgende variabelen zijn mogelijk : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Verwijderen + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Afdrukken @@ -7247,155 +8458,355 @@ De volgende variabelen zijn mogelijk : ProjectAutoNumConfigPage - + Numérotation auto Automatisch nummeren - + Management Beheer - - + + Conducteurs Geleiders - - - Eléments - Elementen - - - - - Folios - Schemabladen - - - - Numérotation auto des folios - Automatische schemabladnummering - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Naam + + + + Folio + Schemablad + + + + Élément + Element + + + + Figé - - - - - - - - Sans nom - Naamloos + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Elementen + + + + + Folios + Schemabladen + + + + Numérotation auto des folios + Automatische schemabladnummering + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Nummering verwijderen + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Naamloos + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech-project (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Naam van de nieuwe nummering + Naam van de nieuwe nummering ProjectDBModel - + Position Plaats - + Position du folio Plaats van het schemablad @@ -7418,50 +8829,134 @@ De volgende variabelen zijn mogelijk : ProjectMainConfigPage - + Général configuration page title Algemeen - + Titre du projet : label when configuring Projectnaam : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Deze naam is als %projecttitle beschikbaar voor op alle schemabladen in het project. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Hieronder kunnen eigen gegevens worden ingevoerd die voor op alle schemabladen in het project beschikbaar zijn (typisch voor in titelblokken). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7505,137 +9000,137 @@ De volgende variabelen zijn mogelijk : Van de datum : - + Option de rendu Afdrukweergave - + Dessiner le cadre Teken het kader - + Dessiner le cartouche Teken het titelblok - + Conserver les couleurs des conducteurs Behoud geleiderkleuren - + Dessiner les bornes Teken de aansluitklemmen - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Afdrukopties - + Adapter le folio à la page Pas het schemablad aan op de pagina - + Utiliser toute la feuille Gebruik het gehele blad - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Als deze optie is aangevinkt, wordt het schemablad vergroot of verkleind om het volledige afdrukbare gebied van slechts één pagina te vullen. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Als deze optie is aangevinkt, worden de marges van het vel genegeerd en wordt het volledige oppervlak gebruikt voor afdrukken. Dit wordt mogelijk niet ondersteund door uw printer. - + toolBar Werkbalk - + Ajuster la largeur In breedte passend - + Ajuster la page Blad passend - + Zoom arrière Uitzoomen - + Zoom avant Inzoomen - + Paysage Landschap - + Portrait Portret - + Première page Eerste blad - + Page précédente Vorig blad - + Page suivante Volgend blad - + Dernière page Laatste blad - + Afficher une seule page Toon één pagina - + Afficher deux pages Toon twee pagina's - + Afficher un aperçu de toutes les pages Toon een overzicht van alle pagina's - + mise en page indeling @@ -7812,273 +9307,321 @@ Voulez-vous enregistrer les modifications ? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QElectroTech titelbloksjablonen - + Cartouches company title of the company's title block templates collection Bedrijfsstuklijsten - + Cartouches utilisateur title of the user's title block templates collection Mijn titelbloksjablonen - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Fout + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Einde - + &Masquer &Verbergen - + &Restaurer &Herstellen - + &Masquer tous les éditeurs de schéma Verberg &alle schemabewerkingsvensters - + &Restaurer tous les éditeurs de schéma &Herstel alle schemabewerkingsvensters - + &Masquer tous les éditeurs d'élément &Verberg alle elementbewerkingsvensters - + &Restaurer tous les éditeurs d'élément &Herstel alle elementbewerkingsvensters - + &Masquer tous les éditeurs de cartouche systray submenu entry &Verberg alle titelblokbewerkingsvensters - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Herstel alle titelblokbewerkingsvensters - + &Nouvel éditeur de schéma &Nieuw schemabewerkingsvenster - + &Nouvel éditeur d'élément &Nieuw elementbewerkingsvenster - + Ferme l'application QElectroTech QElectroTech afsluiten - + Réduire QElectroTech dans le systray Minimaliseer QElectroTech naar het systeemvak - + Restaurer QElectroTech Herstel QElectroTech - + Éditeurs de schémas Schemabewerkingsvensters - + Éditeurs d'élément Elementbewerkingsvensters - + Éditeurs de cartouche systray menu entry Titelblokbewerkingsvensters - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Het volgende herstelbestand is gevonden,<br>Moet het worden geopend ?</b><br> + <b>Het volgende herstelbestand is gevonden,<br>Moet het worden geopend ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>De volgende herstelbestanden zijn gevonden,<br>Moeten ze worden geopend ?</b><br> + <b>De volgende herstelbestanden zijn gevonden,<br>Moeten ze worden geopend ?</b><br> - Fichier de restauration - Herstelbestanden + Herstelbestanden - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Gebruik: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definieer de map voor de elementencollectie - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definieer de map voor de titelbloksjablonencollectie - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definieer de configuratiemap - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Definieer de datamap - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Definieer de taalbestandenmap - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Laden... Initialisatie van de elementencollectie-cache - + Chargement... Éditeur de schéma splash screen caption Laden... Schemabewerker - + Chargement... Ouverture des fichiers splash screen caption Laden... Openen van bestanden - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schema - + Electrique Normal example text - translate length, not meaning Electrisch - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configureer QElectroTech - + Chargement... splash screen caption Laden... - + Chargement... icône du systray splash screen caption Laden... systeemvakpictogram - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + [options] [fichier]... @@ -8087,7 +9630,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8107,102 +9650,103 @@ Opties : QETDiagramEditor - + Afficha&ge Weer&gave - + Affiche ou non le panel d'appareils Toon of verberg het apparatenpaneel - + Ajouter une colonne Kolom toevoegen - + &Cascade &Achter elkaar - + C&oller P&lakken - + Cop&ier K&opiëren - + Co&uper Kn&ippen - + Désélectionner tout Selecteer niets - + &Édition &Bewerken - + Enlever une colonne Kolom verwijderen - + &Enregistrer &Opslaan - + Enregistrer sous Opslaan als - + E&xporter E&xporteren - + Fe&nêtres Ve&nsters - + + &Fermer &Sluiten - + &Fichier &Bestand - + Imprimer Afdrukken - + Inverser la sélection Selectie omkeren - + Mode Selection Selecteren - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Dit paneel toont de geschiedenis van acties op het huidige schemablad. Klik op een actie om deze ongedaan te maken. @@ -8218,497 +9762,761 @@ Opties : Schemabladachtergrond licht of donker weergeven - + Afficher la grille Raster weergeven - + Affiche ou masque la grille des folios Toon of verberg het raster - + Propriétés du folio Schemabladeigenschappen - + Ajouter un folio Schemablad toevoegen - - - + + + Supprimer le folio Schemablad verwijderen - + Mode Visualisation Schuiven - + &Mosaïque &Naast elkaar - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf Exporteren als pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Eén of meer schemabladen uit het huidige project exporteren - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Weergave van panelen en werkbalken + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Kruisverwijzingen + + + + Voir Affichage > Afficher + + + + Exporter au format CSV Exporteren naar CSV-formaat - + Gestionnaire de borniers (DEV) Aansluitklemmenbeheer - + Lancer le plugin de création de borniers Start de plugin voor het maken van klemmenstroken - + Exporter la liste des noms de conducteurs Lijst met namen van geleiders exporteren - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Interne gegevens van het project exporteren - + &Nouveau &Nieuw - + Crée un nouveau projet status bar tip Maak een nieuw project - + Ouvre un projet existant status bar tip Open een bestaand project - + Ferme le projet courant status bar tip Sluit het huidige project - + Enregistre le projet courant et tous ses folios status bar tip Sla het huidige project en alle schemabladen op - + Enregistre le projet courant avec un autre nom de fichier status bar tip Sla het huidige project onder een andere bestandsnaam op - + Ajouter une ligne Add row Rij toevoegen - + Enlever une ligne Remove row Rij verwijderen - + Ajoute une colonne au folio status bar tip Voeg een kolom aan het schemablad toe - + Enlève une colonne au folio status bar tip Verwijder een kolom van het schemablad - + Agrandit le folio en hauteur status bar tip Voeg een rij toe aan het schemablad - + Rétrécit le folio en hauteur status bar tip Verwijder een rij van het schemablad - + Pivoter le groupe - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Verwijder de geselecteerde elementen van het schemablad - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Selecteer alle elementen op het schemablad - + Désélectionne tous les éléments du folio status bar tip Deselecteer alle elementen op het schemablad - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Schemablad vergroten - + Rétrécit le folio status bar tip Schemablad verkleinen - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Pas de zoom aan zodat de inhoud onafhankelijk van het kader wordt getoond - + Adapte le zoom exactement sur le cadre du folio status bar tip Pas de zoom aan zodat het kader volledig wordt getoond - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + Ajouter une ligne Draw line Lijn toevoegen - + Ajouter un rectangle Rechthoek toevoegen - + Ajouter une ellipse Ellips toevoegen - + + Ajouter un arc + + + + Ajouter une polyligne Veelhoek toevoegen - + + Ajouter un congé + + + + + Ajoute un arc sur le folio actuel + + + + + Arrondit le coin entre deux lignes du folio actuel + + + + + Scripts + toolbar title + + + + + + Scripts + + + + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + %n objet(s) aligné(s) + + + + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8716,7 +10524,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8724,7 +10532,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -8732,18 +10540,18 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8752,36 +10560,134 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Exporte le folio courant dans un autre format status bar tip Exporteer het huidige schemablad naar een ander formaat - + Imprime un ou plusieurs folios du projet courant status bar tip Druk een of meerdere schemabladen van het huidige project af - + Profondeur toolbar title Lagen - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -8790,7 +10696,7 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -8799,508 +10705,508 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Polices du projet message box title - + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe Groep - + Place les éléments du presse-papier sur le folio status bar tip Plaats elementen van het klembord op het schemablad - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Bewerk de schemabladeigenschappen (afmetingen, titelblokinformatie, geleidereigenschappen...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip De inhoud van het schemablad verschuiven - + Outils Hoofdwerkbalk - + &Ouvrir &Open - + Ouvrir un fichier Open een bestand - + Pas de zoom Geen zoom - + Pivoter Draaien - + &Quitter &Afsluiten - + Supprimer Verwijderen - + Tout sélectionner Selecteer alles - + Zoom adapté Zoom kader - + Zoom arrière Zoom uit - + Zoom avant Zoom in - + Annuler Ongedaan maken - + Refaire Opnieuw - + Réinitialiser les conducteurs Herinitialiseer alle geleiders - + Affiche ou non la barre d'outils principale Toon of verberg Hoofdwerkbalk - + Affiche ou non la barre d'outils Affichage Toon of verberg Weergave werkbalk - + Affiche ou non la barre d'outils Schéma Toon of verberg Schema werkbalk - + Affichage Weergave - + Schéma Schema - + Ajouter un champ de texte Tekstveld toevoegen - + Aucune modification Geen wijzigingen - + Affiche ou non la liste des modifications Toon of verberg lijst van wijzigingen - + Éditer l'item sélectionné Wijzig geselecteerde item - + Grouper les textes sélectionnés Groepeer de geselecteerde teksten - + Pivote les éléments et textes sélectionnés status bar tip Roteer geselecteerde elementen en teksten - + Pivote les textes sélectionnés à un angle précis status bar tip Roteer geselecteerde teksten met specifieke hoek - + Chercher/remplacer Zoeken/vervangen - + &Projet &Project - + &Récemment ouverts &Recent geopend - - + + Projet %1 enregistré dans le repertoire: %2. Project %1 opgeslagen in map %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Bestand openen mislukt. Controleer of de juiste machtigingen aanwezig zijn. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Project kan niet opgeslagen worden. Alleen lezen is mogelijk. - + en utilisant des onglets Gebruik tabs - + en utilisant des fenêtres Gebruik vensters - + Afficher les projets Projectweergave - + Propriétés du projet Projecteigenschappen - + Nettoyer le projet Project opschonen - - + + Échec de l'ouverture du projet message box title Project openen mislukt - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Bestand %1 is geen QElectroTech projectbestand en kan dus niet worden geopend. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Geschiedenis - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klik een actie om deze ongedaan te maken - + Orienter les textes Kies tekstoriëntatie - + Retrouver dans le panel Zoek in paneel - + Ajouter une image Afbeelding toevoegen - + Ajouter un sommaire Schemabladenoverzicht toevoegen - + Zoom sur le contenu Zoom inhoud - + Ferme l'application QElectroTech status bar tip Sluit QElectroTech volledig af - + Annule l'action précédente status bar tip Maak de laatste actie ongedaan - + Restaure l'action annulée status bar tip Doe de laatste actie opnieuw - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Verplaats de geselecteerde elementen naar het klembord - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopieer de geselecteerde elementen naar het klembord - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Selectie van elementen omkeren - + Retrouve l'élément sélectionné dans le panel status bar tip Toon het geselecteerde element in het paneel - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Teken alle geleiders opnieuw en verwerp alle wijzigingen - + Création automatique de conducteur(s) Tool tip of auto conductor Automatisch geleiders maken - + Projets dock title Projecten - + Collections Collecties - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Maak automatisch geleiders tussen aansluitklemmen van elementen waar mogelijk - + Restaure le zoom par défaut status bar tip Herstel zoom - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Toont de geopende projecten in vensters - + Ajouter une nomenclature Stuklijst toevoegen - + Présente les différents projets ouverts des onglets status bar tip Toont de geopende projecten in tabs - + Permet de sélectionner les éléments status bar tip Selecteren van elementen - + Ajouter une courbe - + Ajouter un plan de bornes Klemmenstrook toevoegen - + Ajoute un champ de texte sur le folio actuel Een tekstveld aan het huidige schemablad toevoegen - + Ajoute une image sur le folio actuel Een afbeelding aan het huidige schemablad toevoegen - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Een regel aan het huidige schemablad toevoegen - + Ajoute un rectangle sur le folio actuel Een rechthoek aan het huidige schemablad toevoegen - + Ajoute une ellipse sur le folio actuel Een ellips aan het huidige schemablad toevoegen - + Ajoute une polyligne sur le folio actuel Een dubbele lijn aan het huidige schemablad toevoegen - + Ajoute une courbe de Bézier sur le folio actuel - + Ajoute un plan de bornier sur le folio actuel Klemmenstrook op het huidige schemablad toevoegen - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter Toevoegen - + A&jouter - + Aligner - + Lignes et colonnes - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech projecten (*.qet);;XML-bestanden (*.xml);;Alle bestanden (*) - - + + Impossible d'ouvrir le fichier message box title Kan het bestand niet openen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Het bestand %1 bestaat niet (meer). - + Ouverture du projet en lecture seule message box title Open bestand alleen-lezen - + %n objet(s) remis sur la grille @@ -9308,12 +11214,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9321,113 +11227,113 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Bewerk element - + Éditer le champ de texte edit text field Bewerk tekstveld - + Éditer l'image edit image Bewerk afbeelding - + Éditer le conducteur edit conductor Bewerk geleider - + Éditer l'objet sélectionné edit selected item Bewerk geselecteerd object - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Er is een fout opgetreden bij het openen van bestand %1. - + Active le projet « %1 » Activeer project « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Fout - + Dispose les fenêtres en mosaïque status bar tip Zet vensters in tegelpatroon - + Dispose les fenêtres en cascade status bar tip Zet vensters achter elkaar - + Projet suivant Volgend project - + Projet précédent Vorig project - + Active le projet suivant status bar tip Activeer volgend project - + Active le projet précédent status bar tip Activeer vorig project @@ -9436,27 +11342,27 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QETElementEditor - + &Nouveau &Nieuw - + &Ouvrir &Open - + &Enregistrer &Opslaan - + Enregistrer sous Opslaan als - + Tout sélectionner Alles selecteren @@ -9466,339 +11372,339 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QElectroTech - Elementbewerker - + &Aide &Help - + Annulations Geschiedenis - + Parties Onderdelen - + Informations Informatie - + Outils Gereedschappen - + Affichage Weergave - + Élément Element - + Annulation Geschiedenis - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Niets selecteren - + C&oller dans la zone P&lakken in gebied - + Un fichier een bestand - + Un élément een element - + Inverser la sélection Selectie omkeren - + &Supprimer &Verwijderen - + À &propos de QElectroTech O&ver QElectroTech - + Affiche des informations sur QElectroTech Toon informatie over QElectroTech - + Manuel en ligne Online gebruiksaanwijzing - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Bekijk met de standaardbrowser de online gebruiksaanwijzing van QElectroTech - + Chaine Youtube YouTube-kanaal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Ga met de standaardbrowser naar het YouTube-kanaal van QElectroTech - + Soutenir le projet par un don Steun het project met een donatie - + Soutenir le projet QElectroTech par un don Steun het QElectroTech-project met een donatie - + À propos de &Qt Over &Qt - + Affiche des informations sur la bibliothèque Qt Toon informatie over Qt bibliotheek - + Rotation Draaien - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf DXF importeren - + importer un élément à redimensionner - + Ajouter une ligne Lijn toevoegen - + Ajouter une ellipse Ellips toevoegen - + Ajouter un polygone Veelhoek toevoegen - + Ajouter du texte Tekst toevoegen - + Ajouter un arc de cercle Cirkelboog toevoegen - + Ajouter une borne Aansluiting toevoegen - + Annuler Ongedaan maken - + Refaire Opnieuw - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Bij het ontbreken van aansluitingen kan het element niet door middel van geleiders met andere elementen worden verbonden. - + Absence de borne Geen aansluitingen aanwezig - + Aucune modification Ongewijzigd - + Recharger Herladen - + Zoom avant Zoom in - + Zoom arrière Zoom uit - + Zoom adapté Pas in venster - + Pas de zoom Geen zoom - + &Ouvrir depuis un fichier &Openen uit een bestand - + Enregistrer dans un fichier Opslaan in een bestand - + Éditer les informations sur l'auteur Bewerk informatie over de auteur - + Parties toolbar title Onderdelen - + Profondeur toolbar title Laag - + Éditer le nom et les traductions de l'élément Bewerk naam en vertaling van dit element - + Éditer les propriétés de l'élément Elementeigenschappen bewerken - + Ajouter un champ texte dynamique Dynamisch tekstveld toevoegen - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dubbelklik om de vrije vorm te sluiten. Rechtsklik om het laatste punt te annuleren - + &Fichier &Bestand - + &Édition B&ewerken - + Afficha&ge Weer&gave - + Coller depuis... Plakken uit... - + [Modifié] window title tag [Gewijzigd] - + [lecture seule] window title tag [Alleen-lezen] - + Éditeur d'éléments status bar message Elementbewerker - - + + %n partie(s) sélectionnée(s). %n geselecteerd onderdeel. @@ -9806,24 +11712,24 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Absence de borne warning title Aansluiting ontbreekt - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Fout</b> :<br> Schemabladreferenties mogen slechts één aansluiting hebben<br> <b> Oplossing </b> :</br>Controleer of het element slechts één aansluiting heeft - + La vérification de cet élément a généré message box content De verificatie van dit element is gereed - + %n erreur(s) errors @@ -9832,235 +11738,291 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + et en - + Erreurs Fouten - + Le fichier %1 n'existe pas. message box content Bestand %1 bestaat niet. - + Afficher menu entry Weergave van panelen en werkbalken - - + + Impossible d'ouvrir le fichier %1. message box content Onmogelijk om bestand %1 te openen. - - + + Ce fichier n'est pas un document XML valide message box content Dit bestand is geen geldig XML document - - + + Erreur toolbar title Fout - - + + Édition en lecture seule message box title Alleen lezen versie - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content U hebt niet de vereiste rechten om het element te kunnen wijzigen en het wordt dan ook alleen-lezen geopend. - - + + Erreur message box title Fout - + Impossible d'écrire dans ce fichier message box content Niet mogelijk het bestand te schrijven - + Impossible d'enregistrer l'élément message box content Niet mogelijk het element op te slaan - + Trop de primitives, liste non générée: %1 Teveel onderdelen, lijst is niet gegenereerd: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + Impossible d'ouvrir le fichier message box title reports de folio Niet mogelijk het bestand te openen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Bestand %1 lijkt niet (meer) te bestaan. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Breedte + + + + Hauteur + Hoogte + + + X: %1 Y: %2 - - - + + + Echec de l'enregistrement Opslaan mislukt - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Opslaan mislukt, de voorwaarden zijn ongeldig - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement Waarschuwing - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Het importeren van een groot dxf-bestand kan even duren dus graag even geduld... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) QElectroTech elementen (*.elmt) - + Ouvrir un fichier dialog title Bestand openen - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech elementen (*.elmt);;XML files (*.xml);;All files (*) - + Recharger l'élément dialog title Element herladen - + Ajouter un texte d'élément non éditable dans les schémas Vaste elementtekst op het schemablad toevoegen - + Ajouter un texte d'élément pouvant être édité dans les schémas Te bewerken elementtekst op het schemablad toevoegen - + %n avertissement(s) warnings @@ -10069,86 +12031,86 @@ dus graag even geduld... - + <b>%1</b> : %2 warning title: warning description <b>%1</> : %2 - + Avertissements Waarschuwingen - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Dit element is gewijzigd. Bij herladen gaan de wijzigingen verloren! Herladen? - + Enregistrer sous dialog title Opslaan als - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elementen (*.elmt) - + Enregistrer l'élément en cours ? dialog title Huidig element opslaan? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Moet element: %1 worden opgeslagen ? - - - - + + + + Élément inexistant. message box title Element bestaat niet. - - + + L'élément n'existe pas. message box content Het element bestaat niet. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Het gekozen virtuele pad correspondeert niet met een element. - + Co&uper K&nippen - + Cop&ier &Kopiëren - + C&oller P&lakken - + Ajouter un rectangle Rechthoek toevoegen @@ -10156,137 +12118,172 @@ dus graag even geduld... QETMainWindow - + &Configurer QElectroTech QElectrotech &configureren - + Permet de régler différents paramètres de QElectroTech status bar tip QElectroTech instellen - + À &propos de QElectroTech O&ver QElectroTech - + Affiche des informations sur QElectroTech status bar tip Informatie over QElectroTech weergeven - + Manuel en ligne Online gebruiksaanwijzing - + Chaine Youtube YouTube-kanaal - - + + Télécharger une nouvelle version (dev) Nieuwe (dev) versie downloaden - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Bekijk met de standaardbrowser de online gebruiksaanwijzing van QElectroTech - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général Algemeen - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Ga met de standaardbrowser naar het YouTube-kanaal van QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Ga met de standaardbrowser naar de online 'nightly' van QElectroTech - + Soutenir le projet par un don Steun het project met een donatie - + Soutenir le projet QElectroTech par un don status bar tip Steun het QElectroTech-project met een donatie - + À propos de &Qt Over &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Informatie over de Qt bibliotheek - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Configuratie - + &Aide window menu &Help - + Sortir du &mode plein écran Verlaat volledig scherm &modus - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech in venstermodus weergeven - + Passer en &mode plein écran Volledig scher&m - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech in volledig scherm modus weergeven - + Afficher menu entry Weergave van panelen en werkbalken @@ -10295,58 +12292,58 @@ dus graag even geduld... QETProject - + Avertissement message box title Waarschuwing - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Project:« %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Project %1 - + Projet sans titre displayed title for a project-less, file-less project Naamloos project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [alleen lezen] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [gewijzigd] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10354,13 +12351,13 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Fout bij sjabloon invoegen. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10369,7 +12366,7 @@ Vous utilisez actuellement QElectroTech en version %2 Qelectrotech versie %2 wordt nu gebruikt - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10378,32 +12375,32 @@ Que désirez vous faire ? Document openen ? - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Het te openen project is gedeeltelijk compatibel met deze versie %1 van QElectrotech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Om het volledig compatibel te maken, moet hetzelfde project met versie 0.8 of 0.80 van QElectroTech worden geopend en worden opgeslagen waarna het met deze versie kan worden geopend. Document toch openen? - + Avertissement message box title Waarschuwing - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Openen van project...</b><br/>Tekenenen van schemabladen</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Openen van huidig project...</b><br/>Genereren van kruisverwijzingen</p> @@ -10772,23 +12769,23 @@ Document toch openen? QObject - + Exporter vers le presse-papier Naar het klembord exporteren - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? De tekst met de GNU/GPL licentie is onvindbaar maar die ken je waarschijnlijk wel uit het hoofd? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? De tekst met de GNU/GPL licentie is wel gevonden, maar openen lukt niet. Die ken je waarschijnlijk wel uit het hoofd.? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Waarschuwing: het element is opgeslagen met een nieuwere versie van QElectroTech. @@ -10808,44 +12805,44 @@ Document toch openen? een grafisch element - + supprimer %1 undo caption - %1 is a sentence listing the removed content verwijderen %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste plakken %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut knippen %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content verplaatsen %1 - + modifier le texte undo caption tekst wijzigen - + modifier un conducteur undo caption een geleider wijzigen - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Opnieuw initialiseren %1 @@ -10857,7 +12854,7 @@ Document toch openen? het titelblok wijzigen - + modifier les dimensions du folio undo caption de schemabladafmetingen wijzigen @@ -10960,7 +12957,7 @@ Document toch openen? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10969,7 +12966,7 @@ Document toch openen? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10978,7 +12975,7 @@ Document toch openen? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10987,7 +12984,7 @@ Document toch openen? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10996,7 +12993,7 @@ Document toch openen? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11005,7 +13002,7 @@ Document toch openen? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11014,7 +13011,7 @@ Document toch openen? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11023,7 +13020,7 @@ Document toch openen? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11032,69 +13029,69 @@ Document toch openen? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Onmogelijk om bestand %1 voor bewerking te openen, fout: %2 gevonden. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Tijdens het schrijven naar bestand %1 is fout %2 opgetreden. - + Amener au premier plan Breng naar de voorgrond - + Rapprocher Naar voren - + Éloigner Naar achteren - + Envoyer au fond Naar de achtergrond - + Ramène la ou les sélections au premier plan Breng de selectie terug naar de voorgrond - + Rapproche la ou les sélections Breng de selectie naar voren - + Éloigne la ou les sélections Breng de selectie naar achteren - + Envoie en arrière plan la ou les sélections Breng de selectie naar de achtergrond - - - - + + + + Profondeur - + Borne tooltip Aansluiting @@ -11196,27 +13193,27 @@ Document toch openen? rechthoek - + Folio sans titre Naamloos schemablad - + schema schema - + Conserver les proportions Verhoudingen behouden - + Réinitialiser les dimensions Afmetingen opnieuw initialiseren - + Aperçu Voorbeeld @@ -11371,6 +13368,7 @@ Document toch openen? + Titre Titel @@ -11453,6 +13451,7 @@ Document toch openen? Tekst + Modifier les informations de l'élément : %1 Wijzig de informatie van element : %1 @@ -11542,32 +13541,32 @@ Document toch openen? Schemabladnummer - + Collection QET QET-collectie - + Collection Company Bedrijf collectie - + Collection utilisateur Gebruikerscollectie - + Macros - + Collection inconnue Onbekende collectie - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11581,8 +13580,13 @@ Document toch openen? Collection Collectie + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11697,7 +13701,7 @@ Moet deze worden vervangen ? %1 groepen teksten - + %n texte(s) @@ -11705,25 +13709,25 @@ Moet deze worden vervangen ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title De geselecteerde teksten draaien - + %p% effectué (%v sur %m) %p% gedaan (%v van %m) - - + + chargement %p% (%v sur %m) Laden %p% (%v van %m) @@ -11733,22 +13737,22 @@ Moet deze worden vervangen ? Zoeken/vervangen van schemabladeigenschappen - + Chercher/remplacer les propriétés d'éléments. Zoeken en vervangen van element-eigenschappen. - + Chercher/remplacer les propriétés de conducteurs. Zoeken en vervangen van geleidereigenschappen. - + Rechercher / remplacer avancé Geavanceerd zoeken / vervangen - + Chercher/remplacer des textes independants Zoeken/vervangen van losse teksten @@ -11845,35 +13849,35 @@ Moet deze worden vervangen ? - - - + + + Type Type - - - + + + Adresse - - - + + + Commentaire Commentaar - - - + + + Réf. croisée @@ -11881,9 +13885,9 @@ Moet deze worden vervangen ? - - - + + + Fonction Functie @@ -12213,27 +14217,27 @@ Moet deze worden vervangen ? Pad naar opgeslagen bestand - + Création de conducteurs Geleiders maken - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Installatie van de qet_tb_generator<br>Ga naar:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>vereist Python 3.5 of hoger.<br><B><U> Eerste installatie onder Windows</B></U><br>1. Installeer indien nodig Python 3.5 of hoger<br> Ga naar :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update onder Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>het script is nu uitvoerbaar in een terminal in directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Ga voor installatie van de qet_tb_generator plugin naar :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Eerste installatie onder macOSX</B></U><br>1. Installeer indien nodig alleen de python 3.11 bundle, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Voer het Profile.command script uit<br> omdat het programma het hardcoded PATH gebruikt om de qet-tb-generator plugin te localiseren <br> Ga naar :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Updaten onder macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Installatie van de qet_tb_generator<br>Ga naar:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Vereist Python 3.5 of hoger.<br><br><B><U> Eerste installatie onder Linux</B></U><br>1. Controleer of pip3 is geinstalleerd: pip3 --version<br>Installeer het indien nodig met: sudo apt get install python3-pip<br>2. Installeer daarne het programma: sudo pip3 install qet_tb_generator<br>3 Voer het programma uit: qet_tb_generator<br><br><B><U> Updaten onder Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Fout bij het laden van de qet_tb_generator plugin @@ -12253,15 +14257,15 @@ Moet deze worden vervangen ? Plakken - - + + - - - - - - + + + + + + this is an error in the code dit is een fout in de code @@ -12462,12 +14466,12 @@ Moet deze worden vervangen ? Kleur van doorverbindingsbrug wijzigen - + Ouvrir un element Element openen - + Importer un fichier dxf DXF-bestand importeren @@ -12589,7 +14593,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12636,7 +14640,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12645,8 +14649,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12775,98 +14779,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 %1 toevoegen - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Kleur van een tekst wijzigen - + Pivoter un texte - + Modifier le trait d'une forme Lijnsoort van een vrije vorm wijzigen - + Modifier le remplissage d'une forme Vulling van een vrije vorm wijzigen - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Een elementtekst wijzigen - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12874,6 +14891,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Schemablad + QTextOrientationWidget @@ -12893,371 +14951,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Er is meer informatie dan in de tabellen kan worden weergegeven. Maak een nieuwe tabel of pas de huidige tabellen aan zodat alle informatie hierin kan worden weergegeven. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Er is meer informatie dan in de tabel kan worden weergegeven. Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin kan worden weergegeven. - + Limitation de tableau Tabelgrenzen - + Modifier la géometrie d'un tableau Geometrie van een tabel wijzigen + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape een vrije vorm - + une ligne een lijn - - + + Ajouter un point Een punt toevoegen - + Supprimer ce point Punt verwijderen - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en courbe de Bézier - + Convertir en polyligne - + Miroir horizontal - + Miroir vertical - + Taille Grootte - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Punt aan een veelhoek toevoegen - + Supprimer un point d'un polygone Punt van een veelhoek verwijderen - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Wijzig %1 - + un rectangle een rechthoek - + une éllipse een ellips - + un arc - + une polyligne een polylijn - + une courbe @@ -13339,7 +15458,7 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k Tekstlabel - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Het element « %1 » bestaat al. Hoe nu verder ? @@ -13347,31 +15466,75 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + Schemablad + + + + Élément + Element + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13395,9 +15558,9 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k - - - + + + Ne pas modifier Ongewijzigd @@ -13517,97 +15680,97 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k fase - - + + Nombre de phase Aantal fasen - + Neutre Nul - + neutre nul - + Terre Aarde - + terre aarde - + TextLabel Tekstlabel - + PushButton Drukknop - + Apparence Weergave - + Taille : Dikte : - - + + Couleur : Kleur : - + Style : Stijl : - - + + Modifier Wijzigen - + Couleur secondaire : Secundaire kleur : - + Taille de trait : Lijndikte : - + px px - + Trait plein conductor style: solid line Doorgetrokken lijn - + Trait en pointillés conductor style: dashed line Streeplijn - + Traits et points conductor style: dashed and dotted line Strepen en puntenlijn @@ -13616,7 +15779,7 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k ReplaceElementDialog - + Ne pas modifier Ongewijzigd @@ -13658,10 +15821,10 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k - - - - + + + + Ne pas modifier Ongewijzigd @@ -13721,12 +15884,12 @@ Maak een nieuwe tabel of pas de huidige tabel aan zodat alle informatie hierin k Huidige datum gebruiken - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Beschikbaar als %plant voor in titelbloksjablonen</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13739,33 +15902,33 @@ De volgende variabelen zijn te gebruiken: - %autonum : Automatische schemabladnummering - + Disponible en tant que %locmach pour les modèles de cartouches Beschikbaar als %locmach voor in titelbloksjablonen - + Titre : Naam : - - - - - - - + + + + + + + Supprimer ce texte Deze tekst verwijderen - + Personnalisées Eigen gegevens - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Hier kunnen variabele / waarde associaties voor in het titelblok worden gedefiniëerd. Voorbeeld. : @@ -13805,6 +15968,185 @@ met behulp van de volgende variabelen: %c : Het kolomnummer + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nieuw + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Opslaan + + + + Ouvrir le &dossier + + + + + &Fermer + &Sluiten + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13818,42 +16160,42 @@ met behulp van de volgende variabelen: Volgend zoekresultaat - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Geavanceerde opties</p></body></html> - + Aller à la correspondance précédente Vorig zoekresultaat - + Quitter Afsluiten - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Definieer de te vervangen elementeigenschappen</p></body></html> - + Champ texte de folio Tekstveld op schemablad - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Definieer de te vervangen geleidereigenschappen</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Definieer de te vervangen schemabladeigenschappen</p></body></html> - + Folio Schemablad @@ -13878,42 +16220,42 @@ met behulp van de volgende variabelen: Hoofdlettergevoelig - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Vervang de overeenkomstige selectie</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Vervang de aangevinkte overeenkomsten</p></body></html> - + avancé Geavanceerd - + Élément Element - + Conducteur Geleider - + Remplacer : Vervang : - + Remplacer Vervang - + Tout remplacer Vervang alles @@ -13923,105 +16265,105 @@ met behulp van de volgende variabelen: Zoek : - + Actualiser Vernieuwen - + Correspondance : Overeenkomst : - + Folios Schemabladen - + Champs texte Tekstvelden - + Eléments Elementen - + Eléments simple Eenvoudige elementen - + Eléments maître Verwijzende elementen - + Eléments esclave Doelelementen - + Eléments report de folio Elementen van het schemabladenoverzicht - + Eléments bornier Klemmen-elementen - + Sélectionner les éléments de ce folio De elementen op dit schemablad selecteren - + Sélectionner les conducteurs de ce folio De geleiders op dit schemablad selecteren - + Sélectionner les textes de ce folio De teksten op dit schemablad selecteren - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [gewijzigd] - + Conducteurs Geleiders - + Inconnue Onbekend @@ -14034,17 +16376,17 @@ met behulp van de volgende variabelen: Selectie automatische nummering - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Variabele verwijderen</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Variabele toevoegen</p></body></html> - + Définition Definitie @@ -14064,38 +16406,66 @@ met behulp van de volgende variabelen: Nummering verwijderen - Précédent - Vorige + Vorige - Suivant - Volgende + Volgende - + Type Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Waarde - + Incrémentation Increment - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Automatische schemabladnummering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14122,7 +16492,7 @@ Het veld "Waarde" heeft nu geen betekenis. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14159,13 +16529,13 @@ De andere velden hebben nu geen betekenis. De andere velden hebben nu geen betekenis. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14187,7 +16557,17 @@ Les autres champs ne sont pas utilisés. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Automatische geleidernummering @@ -16581,12 +18961,12 @@ Les autres champs ne sont pas utilisés. Weergegeven informatie - + Configuration Configuratie - + Requête SQL : SQL-query : @@ -16596,6 +18976,18 @@ Les autres champs ne sont pas utilisés. Plaats + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16930,58 +19322,58 @@ Les autres champs ne sont pas utilisés. Samenstelling - + Ponter les bornes Klemmen doorverbinden - + Déponter les bornes Klemmen scheiden - + Propriétés Eigenschappen - + Nom : Naam : - + Commentaire : Commentaar : - + Description Beschrijving - + Installation : Installatie : - + Localisation : Locatie : - + Type : Type : - + Degrouper les bornes Klemmen degroeperen - - + + Générique Algemeen @@ -16996,62 +19388,62 @@ Les autres champs ne sont pas utilisés. Verplaatsing toepassen - + Couleur pont : Kleur doorverbindingsbrug : - + Fusible Zekering - + Sectionnable Deelbaar - + Diode Diode - + Terre Aarde - + Déplacer dans : Verplaatsen naar : - + Phase Fase - + Neutre Nul - + Position automatique Automatisch indelen - + Étage : Etage : - + Grouper les bornes Klemmen groeperen - + Fonction : Functie : @@ -17066,7 +19458,7 @@ Les autres champs ne sont pas utilisés. Met - + LED : LED : @@ -17094,32 +19486,32 @@ Les autres champs ne sont pas utilisés. Werkbalk - + Ajouter un bornier Klem toevoegen - + Ajouter un bornier au projet Klem aan project toevoegen - + Supprimer le bornier Klem verwijderen - + Supprimer le bornier du projet Klem uit project verwijderen - + Recharger Herladen - + Recharger les borniers Klemmen herladen @@ -17349,12 +19741,12 @@ Les autres champs ne sont pas utilisés. Klemmenverkenner - + Projet sans titre Naamloos project - + Bornes indépendante Losse klemmen @@ -17457,7 +19849,7 @@ Les autres champs ne sont pas utilisés. Downloaden - + Dossier installation Vanuit map installeren @@ -17465,37 +19857,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Breedte: - + Absolu a traditional, absolute measure Absoluut - + Relatif au total a percentage of the total width Relatief ten opzichte van de totale breedte - + Relatif au restant a percentage of what remains from the total width Relatief ten opzichte van de resterende breedte - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17504,30 +19896,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Standaardsjabloon - + Éditer ce modèle menu entry Sjabloon wijzigen - + Dupliquer et éditer ce modèle menu entry Sjabloon kopieren en bewerken - + Title block templates actions Acties voor titelbloksjablonen - - + + + Créer un Folio Numérotation Auto Maak een automatische schemabladnummering @@ -17542,47 +19935,47 @@ Les autres champs ne sont pas utilisés. Titelblokeigenschappen - + Folio : Schemablad : - + Auteur : Auteur : - + Indice Rev: Revisie-index: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Beschikbaar als %plant voor in titelbloksjablonen</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Naam beschikbaar als %filename voor titelbloksjablonen - + Pas de date Geen datum - + Date courante Huidige datum - + Appliquer la date actuelle Gebruik huidige datum - + Principales Hoofdgegevens @@ -17592,22 +19985,22 @@ Les autres champs ne sont pas utilisés. Titelblokinformatie - + Disponible en tant que %locmach pour les modèles de cartouches Beschikbaar als %locmach voor titelbloksjablonen - + Disponible en tant que %date pour les modèles de cartouches Beschikbaar als %date voor titelbloksjablonen - + Date fixe : Vaste datum: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17620,7 +20013,7 @@ De volgende variabelen zijn te gebruiken: - %autonum : Schemablad-autonummering - + Titre : Naam : @@ -17630,52 +20023,52 @@ De volgende variabelen zijn te gebruiken: <html><head/><body><p>Plaats het titelblok onderaan (horizontaal) of rechts (verticaal) op het schemablad.</p></body></html> - + Fichier : Bestand : - + Date : Datum : - + Disponible en tant que %author pour les modèles de cartouches Naam beschikbaar als %author voor titelbloksjablonen - + Disponible en tant que %title pour les modèles de cartouches Naam beschikbaar als %title voor titelbloksjablonen - + Page Num: Bladnummer : - + Installation : Installatie : - + Disponible en tant que %indexrev pour les modèles de cartouches Naam beschikbaar als %indexrev voor titelbloksjablonen - + Localisation: Locatie: - + Personnalisées Eigen gegevens - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Hier kunnen variabele / waarde associaties worden gedefiniëerd. Bijvoorbeeld : @@ -17685,13 +20078,13 @@ Door de associatie van de naam "volta" met de waarde "1745" TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18190,50 +20583,50 @@ Door de associatie van de naam "volta" met de waarde "1745" WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Schemablad - - + + %n conducteur(s) listé(s). wiring list summary @@ -18242,7 +20635,7 @@ Door de associatie van de naam "volta" met de waarde "1745" - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18254,95 +20647,114 @@ Door de associatie van de naam "volta" met de waarde "1745" WiringListExport - - + + Erreur Fout - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Export réussi - + Le plan de câblage a été exporté avec succès ! - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Voltage / Protocol - + Couleur du fil Wiring list CSV header Draadkleur - + Section du fil Wiring list CSV header Draaddoorsnede - + Fonction Wiring list CSV header Functie + + + Câble + Wiring list CSV header + Kabel + + + + WiringRulesWarning + + + Avertissement + Waarschuwing + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + XRefPropertiesWidget @@ -18557,27 +20969,27 @@ Door de associatie van de naam "volta" met de waarde "1745" projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Interne projectgegevens exporteren - + sans_nom naamloos @@ -18585,7 +20997,7 @@ Door de associatie van de naam "volta" met de waarde "1745" qdesigner_internal::ColorAction - + Text Color Tekstkleur @@ -18593,7 +21005,7 @@ Door de associatie van de naam "volta" met de waarde "1745" qdesigner_internal::HtmlTextEdit - + Insert HTML entity Voeg HTML code in @@ -18601,27 +21013,27 @@ Door de associatie van de naam "volta" met de waarde "1745" qdesigner_internal::RichTextEditorDialog - + Edit text Bewerk tekst - + Rich Text Rich Text - + Source Bron - + &OK &OK - + &Cancel &Annuleren @@ -18629,69 +21041,69 @@ Door de associatie van de naam "volta" met de waarde "1745" qdesigner_internal::RichTextEditorToolBar - + Texte en gras Vetgedrukt - - - + + + Éditeur de texte - + Texte en italique Cursief - + Texte souligé Onderstrepen - + Left Align Links uitlijnen - + Center Centreren - + Right Align Rechts uitlijnen - + Justify Uitlijnen - + Superscript Superscript (hoog) - + Subscript Subscript (laag) - + Insérer un lien Link invoegen - + Insert &Image &Afbeelding invoegen - + Simplify Rich Text Vereenvoudig RTF diff --git a/lang/qet_nl_BE.ts b/lang/qet_nl_BE.ts index 516125b9d..78a13c751 100644 --- a/lang/qet_nl_BE.ts +++ b/lang/qet_nl_BE.ts @@ -54,272 +54,272 @@ Log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, een programma voor elektrische schema's. - + Les développeurs de QElectroTech about tab, developers line De ontwikkelaars van QElectrotech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Origineel concept - - + - - + + + Développement Ontwikkeling - + Convertisseur DXF DXF converter - + Plugin Bornier Plugin klemmen - + Collection Collectie - + Traduction en espagnol Spaanse vertaling - + Traduction en russe Russische vertaling - + Traduction en portugais Portugese vertaling - + Traduction en tchèque Tjechische vertaling - + Traduction en polonais Poolse vertaling - + Traduction en allemand Duitse vertaling - + Traduction en roumain Roemeense vertaling - + Traduction en italien Italiaanse vertaling - + Traduction en arabe Arabische vertaling - + Traduction en croate Croatische vertaling - + Traduction en catalan Catalaanse vertaling - + Traduction en grec Griekse vertaling - + Traduction en néerlandais Nederlandse vertaling - + Traduction en flamand Vlaamse vertaling - + Traduction en danois Deense vertaling - + Traduction en brézilien Braziliaanse vertaling - + Traduction en Turc Turkse vertaling - + Traduction en hongrois Hongaarse vertaling - + Traduction en serbe Servische vertaling - + Traduction en ukrainien Oekraïense vertaling - + Traduction en norvégien Noorse vertaling - + Traduction en japonais Japanse vertaling - + Traduction en coréen Koreaanse vertaling - + Traduction en mongol Vertaling in het Mongools - + Traduction en slovène Vertaling in het Sloveens - + Paquets Fedora et Red Hat Fedora and Red Hat pakketten - + Paquets Mageia Mageia pakketten - + Paquets Debian Debian pakketten - + Paquets Gentoo Gentoo pakketten - + Paquets OS/2 OS/2 pakketten - + Paquets FreeBSD FreeBSD pakketten - + Paquets MAC OS X MAC OS X pakketten - + Paquets Archlinux AUR Archlinux AUR pakketten - + Icônes Iconen - + Documentation Documentatie - + Collection d'éléments Collectie van elementen - + Paquets Snap Snap pakketten - + Redimensionneur d'éléments Element scaler Verschaal elementen - + Générateur d'élément lambda Lambda element generator Lambda-elementgenerator - + Convertisseur d'élément DXF Dxf2elmt Converteer elmenten dxf2elmt - + Outil de traduction d'éléments Qet_translate Vetaalhulp voor elementen @@ -428,17 +428,17 @@ Instellingen - + Contenu Inhoud - + Sélectionner la police des en tête du tableau Selecteer het lettertype bovenaan de tabel - + Sélectionner la police des cellules du tableau Selecteer het lettertype van de tabelcellen @@ -456,6 +456,134 @@ Voeg een volgende bladzijde toe voor klemmen schema's + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Hoek: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ Terugzetten naar de beginwaarde - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Huidige tellerwaarde. Voer een nieuwe waarde in en bevestig om deze te wijzigen. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Ophogen : de waarde die bij elk nieuw cijfer aan de teller wordt toegevoegd. - - - + + + Prochaine valeur qui sera appliquée avec cet incrément De volgende waarde die met deze verhoging wordt toegepast. - + Element Element - + Conducteur Geleider - + Configurer les règles d'auto numérotation Instellen van de autonummering regels - + Configurer Instellen @@ -573,10 +734,88 @@ Bladzijde - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Automatisch nummering + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Bestaande - + Under Development In ontwikkeling - + Installing Installerend - + Built Maken - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Beheer automatisch nummering - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1031,55 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen - + nomenclature_ onderdelenlijst_ - + Enregister sous... Bewaren als ... - + Fichiers csv (*.csv) Bestanden csv (*.csv) - - + + Erreur Fout - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Positie - + Position du folio Positie van de bladzijde - + Quantité numéro d'article Special field with name : designation quantity Aantal artikelnummers - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1112,27 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Neen + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -870,7 +1180,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen ClickableImageLabel - + Cliquez pour choisir une couleur @@ -901,8 +1211,8 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Een variabele toevoegen : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Vul hier uw samengestelde tekst in, en gebruik de beschikbare variabelen @@ -910,13 +1220,13 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Conductor - + Modifier les propriétés d'un conducteur undo caption Bewerk de eigenschappen van een geleider - + Modifier les propriétés de plusieurs conducteurs undo caption Wijzig de eigenschappen van meerdere geleiders @@ -925,73 +1235,73 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen ConductorColorToolButton - + Noir Zwart - + Marron Bruin - + Gris Grijs - + Bleu Blauw - + Vert Groen - + Rouge Rood - + Orange Oranje - + Violet Purper - + Blanc Wit - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1000,7 +1310,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen - + Choisir une couleur de conducteur @@ -1018,13 +1328,13 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Toepassen van deze eigenschappen op alle gelieders met hetzelfde potentiaal - + Modifier les propriétés d'un conducteur undo caption Wijzig de eigenschappen van een geleider - + Modifier les propriétés de plusieurs conducteurs undo caption Wijzig de eigenschappen van meerdere geleiders @@ -1033,24 +1343,33 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Toepassen van deze eigenschappen op alle gelieders met hetzelfde potentiaal + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption Wijzig de eigenschappen van meerdere geleiders - + Conducteur Geleider @@ -1079,12 +1398,13 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen + Texte Tekst - - + + Unifilaire Enkele geleider @@ -1100,6 +1420,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen + Texte visible Tekst zichtbaar @@ -1139,35 +1460,52 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Positie en rotatie van geleider tekst : - + phase Fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Volle lijn - + Trait en pointillés conductor style: dashed line Streep lijn - + Traits et points conductor style: dashed and dotted line Punten en strepen lijn - + terre Aarde - + neutre Nul @@ -1177,7 +1515,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Formulier - + Formule du texte : Codering tekst : @@ -1208,96 +1546,96 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Sectie van de geleider - + cable Kabel - + bus bus - - + + Nombre de phase Aantal fase geleideers - + Neutre Nul geleider - + Phase Fase - + Protective Earth Neutral Aarde en Nul samen - + PEN PEN - + Terre Aarding - + TextLabel Geleiders - + Taille : Dikte : - - + + Style du conducteur Geleider stijl - + Couleur secondaire : Secundaire kleur: - + px px - + Taille de trait : Lijn dikte: - + Couleur du conducteur Geleider kleur - + Apparence Weergave - - + + Couleur : Kleur: - + Style : Stijl: @@ -1318,128 +1656,152 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Selecteer een groep van contacten - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Selecteer de groep contacten die u aan dit onderliggende item wilt toewijzen: - + # # - + Type Type - + Sous-type Sub type - + Contacts Contacten - + Bornes Klemmen - - + + T%1 T%1 - + (déjà assigné) (reeds toegewezen) - + (état ne correspond pas) (status komt niet overeen) - + (sous-type ne correspond pas) (sub type komt niet overeen) - + (nombre de contacts ne correspond pas) (Het aantal contacten komt niet overeen) - + OK OK - + Annuler Annuleren - + Normalement ouvert Normaal open - + Normalement fermé Normaal gesloten - + Inverseur Omkeer schakelaar - + Autre Ander - - + + Inconnu Onbekend - + Simple Eenvoudig - + Puissance Vermogen - + Temporisé travail Vertraagd inschakelen - + Temporisé repos Vertraagd uitschakelen - + Temporisé travail & repos Vertraagd in- en uitschakelen + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1469,27 +1831,27 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagnosticsReportDialog - + Enregistrer... Opslaan... - + Enregistrer le rapport de diagnostic Sla het diagnostisch rapport op - + Fichiers texte (*.txt);;Tous les fichiers (*) Tekstbestanden (*.txt); Alle bestanden (*) - + Erreur Fout - + Impossible d'écrire dans le fichier « %1 ». Kan niet naar bestand "%1" schrijven. @@ -1497,7 +1859,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Diagram - + Modifier la profondeur Diepte aanpassen @@ -1637,7 +1999,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1654,262 +2016,330 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) SVG-afbeelding (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image een afbeelding - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Selecteer een afbeelding... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Fout - + Impossible de charger l'image. Onmogelijk om de afbeelding op te halen. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1917,7 +2347,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagramPropertiesDialog - + Propriétés du folio window title Schema eigenschappen @@ -1926,12 +2356,12 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagramTextItem - + Maintenir ctrl pour un déplacement libre Houdt de CTRL toets ingedrukt om een element vrij te verplaatsen - + <Shift> to move @@ -1941,78 +2371,84 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DiagramView - + Coller ici context menu action Hier plakken - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip In dit gebied kan je tekeningen maken door toevoeging van elementen, geleiders, teksten en grafische afbeeldingen. - + Collage multiple Meermaals plakken - + Créer un template context menu action Een sjabloon maken - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Verbind de geselecteerde aansluitklemmen - + Sans titre what to display for untitled diagrams Naamloos - + Modèle enregistré Model geregistreerd - + Le modèle a été enregistré avec succès sous : %1 Het model is succesvol geregistreerd onder: %1 - + Erreur Fout - + Le fichier n'a pas pu être écrit. Het bestand kon niet worden geschreven. - + Choisir la nouvelle couleur de ce conducteur Kies een nieuwe kleur voor de geleider - + Modifier les propriétés d'un conducteur undo caption Wijzig de eigenschappen van een geleider @@ -2031,7 +2467,7 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Titel - + TextLabel TekstLabel @@ -2039,42 +2475,42 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Boven - + Bas Onder - + Gauche Links - + Droite Rechts - + Direction : @@ -2082,17 +2518,17 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément Een tekst van een onderdeel bewerken - + Redimensionner un texte d'élément @@ -2111,30 +2547,30 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen - - - - + + + + ... ... - + Importer une configuration de texte Importeer een tekst configuratie - + Ajouter un texte Voeg een tekst toe - + Ajouter un groupe de textes Voeg een groep tekst toe - + Supprimer la sélection Verwijder de selectie @@ -2306,21 +2742,21 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen - + Gauche Links - + Droite Rechts - + Centre Midden @@ -2459,64 +2895,64 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Rotatie - - + + Déplacer un champ texte Verplaats een tekstveld - + Pivoter un champ texte Draai een tekstveld - + Modifier le texte d'un champ texte Wijzig de tekst van een tekstveld - - + + Modifier la police d'un champ texte wijzig het beleid van een tekstveld - + Modifier la couleur d'un champ texte Wijzig de kleur van een tekstveld - + Modifier la conservation de l'angle Behoud de visuele rotatie - + Modifier le point de rotation d'un champ texte Het rotatiepunt van een tekstveld wijzigen - + Modifier le cadre d'un champ texte Wijzig de kader rond een tekstveld - + Modifier la largeur d'un texte Wijzig de breedte van een tekstveld - + Modifier l'information d'un texte Wijzig de informatie van een tekstveld - + Modifier la source de texte, d'un texte Wijzig de born tekst van een tekst - + Modifier l'alignement d'un champ texte Wijzig de uitlijning van een tekstveld @@ -2524,32 +2960,32 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen DynamicTextItemDelegate - + Texte utilisateur Tekst gebruiker - + Information de l'élément Symbool informatie - + Texte composé Samengestelde tekst - + Gauche Links - + Centre Midden - + Droite Rechts @@ -2557,12 +2993,12 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2603,121 +3039,194 @@ Let op: Deze opties blokkeren NIET de Automatisch nummering, maar passen alleen Element - + Numéroter automatiquement un élément undo caption Een element automatisch nummeren + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Open een element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Welk element wilt u openen. - + Enregistrer un élément dialog title Bewaar een element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Kies het element waar u definitie in wilt bewaren. - + Ouvrir une catégorie dialog title Open een categorie - - + + Choisissez une catégorie. dialog content Kies een categorie. - + Enregistrer une catégorie dialog title Bewaar een categorie - + Enregistrer un template dialog title Een sjabloon opslaan - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Kies de locatie waar u uw sjabloon wilt opslaan. - + Titre Titel - + Label Etiket - + Nom du nouveau dossier Naam voor het nieuwe dossier - + Nom du nouveau template Naam van de nieuwe sjabloon - + Écraser le template ? message box title De sjabloon overschrijven? - + Le template existe déjà. Voulez-vous l'écraser ? message box content Het sjabloon bestaat al. Wilt u het overschrijven ? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content U moet een elementnaam of een categorie kiezen voor uw element. - + Sélection inexistante message box title Selectie onbestaand - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Bestandsnaam van het symbool - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2725,32 +3234,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigenschappen ervan. - + La sélection n'existe pas. message box content Selectie bestaat niet. - - + + Sélection incorrecte message box title Foute selectie - + La sélection n'est pas un élément. message box content Selectie is geen element. - + Écraser l'élément ? message box title Element overschrijven ? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Element bestaat reeds. Wilt u het overschrijven? @@ -2774,12 +3283,18 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch Verwijder de tekst - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2797,104 +3312,214 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch Uitsluiten van automatische nummering - + Informations Informatie - + Ajouter une propriété personnalisée Voeg een aangepaste eigenschap toe - + Séparation de potentiel Potentiële scheiding - + Exclure de la nomenclature Uitsluiten van de nomenclatuur + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2910,8 +3535,8 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch - - + + Type Type @@ -2994,8 +3619,8 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch - - + + Fonction Functie @@ -3025,302 +3650,302 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch Waarde - - - + + + Simple Enkel - + Maître Master - + Esclave Slave - + Renvoi de folio suivant Referentie volgende pagina - + Renvoi de folio précédent Referentie voorgaande pagina - + Bornier Klem - + Vignette Etiket - + Définition de conducteur Definitei van een geleider - - + + Normalement ouvert Normaal open - - + + Normalement fermé Normaal gesloten - - + + Inverseur Draairichtingsschakelaar - + Other Andere - + Esclave PLC PLC-slave - - + + Puissance Vermogen - - + + Temporisé travail Vertraagd inschakelen - - + + Temporisé repos Vertraagd uitschakelen - - + + Temporisé travail & repos Vertraagd in- en uitschakelen - + Bobine Spoel - + Organe de protection Beveiliging - + Commutateur / bouton Schakelaar / drukknop - + Module PLC PLC-module - - + + Générique Algemeen - + Fusible Samenvoegen - + Séctionnable Selecteerbaar - + Diode Diode - + Phase Fase - + Neutre Nul geleider - - - - - + + + + + T%1 T%1 - + Autre Ander - + Configuration PLC PLC-configuratie - + + + - + - - - - + + Adresse Adres - - + + Commentaire Commentaar - + Réf. croisée Kruis verwijzing - - + + Nb. Nr. - + T1 T1 - + Police des en-têtes Kop tekst letter type - + Configurer la police des en-têtes de colonnes Configureer het lettertype van de kolomkop - + Police du texte Tekst letter type - + Configurer la police du texte dans les cellules Configureer het lettertype van de tekst in de cellen - + Afficher les en-têtes sur la feuille Toon de kopteksten op het blad - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Toon of verberg de kolomkoppen van de PLC-tabel op het werkblad - + Saut %1 après: Spring %1 na: - + Aucun Geen - + H. ligne: H. lijn: - - + + mm mm - + Réf. Ref. - + Nom personnalisé de la colonne (vide = par défaut) Aangepaste kolomnaam (leeg = standaard) - + Visible Zichtbaar - + Coller depuis le presse-papiers Plakken vanuit het klembord - - + + Police des en-têtes: %1 %2pt Koptekst letter type: %1 %2pt - - + + Police du texte: %1 %2pt Tekst letter type: %1 %2pt - + Police des en-têtes de colonnes Letter type van kolomkop - + Police du texte des cellules Letter type voor celtekst - + Terre Aarding @@ -3334,7 +3959,7 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch - Élement + Élément Element @@ -3472,249 +4097,249 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch Selectie omhoog - + Ajouter la sélection Selectie toevoegen - + Supprimer la sélection Selectie verwijderen - + Descendre la sélection Selectie naar beneden - + Pas de filtre Geen filter - + N'est pas vide Is niet leeg - + Est vide Is leeg - + Contient Bevat - + Ne contient pas Bevat niet - + Est égal à Is gelijk aan - + N'est pas égale à Is niet gelijk aan - + Filtre : Filteren: - + Type d'éléments Type elementen - + Simples Simpel - + Tous Allemaal - + Vignettes Etiketten - + Contacteurs et relais Magneetschakelaars en relais - + Boutons et commutateurs Knoppen en schakelaars - + Borniers Klemmenblokken - + Organes de protection Beveiligingen - + Automates (MAE/SPS) Geautomatiseerde systemen (MAE/SPS) - + Configuration Instellingen - + Ouvrir la configuration sélectionné Open de geselecteerde configuratie - + Sauvegarder la configuration actuelle Sla de huidige configuratie op - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Aangepaste SQL-query - + Requête SQL : SQL-query: - + Position Positie - + Titre du folio Titel van de schema bladzijde - + Position du folio Positie van een schema bladzijde - + Numéro du folio Schema nummer - - + + Exporter Export - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Fout - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer Importeren - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3722,28 +4347,28 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch ElementScene - + Déplacer une primitive Verplaats een basis type - + Éditer les informations sur l'auteur window title Bewerk auteur informatie - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. U kunt deze ruimte gebruiken om de auteurs van het element, de licentie, of enige andere informatie die u van belang acht te vermelden. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. U mag de elementnaam ingeven voor diverse talen. - + Éditer les noms window title Bewerkende namen @@ -3752,101 +4377,101 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Per taal kunt u een naam geven voor de categorie. - + Nom interne : Interne naam: - + L'item n'est pas une catégorie message box title Dit item is geen categorie - + L'item demandé n'est pas une categrie. Abandon. message box content Het gevraagde item is geen categorie. Afbreken. - + Catégorie inexistante message box title Niet bestaande categorie - + La catégorie demandée n'existe pas. Abandon. message box content De gewenste categorie bestaat niet, ik geef het op. - + Éditer une catégorie window title Bewerken categorie - + Créer une nouvelle catégorie window title Nieuwe categorie aanmaken - + Nom de la nouvelle catégorie default name when creating a new category Naam van de nieuwe categorie - + Édition en lecture seule message box title Alleen LEZEN versie - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content U beschikt niet over de nodige rechten om deze categorie te bewerken. Het zal in alleen-lezen.versie geopend worden. - + Nom interne manquant message box title Interne naam ontbreekt - + Vous devez spécifier un nom interne. message box content U moet een interne naam ingeven. - + Nom interne déjà utilisé message box title Interne naam bestaad reeds - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content De interne naam die u hebt gekozen wordt al gebruikt door een bestaande categorie. Kies een andere naam. - + Erreur message box title Fout - + Impossible de créer la catégorie message box content Onmogelijk om deze categorie aan te maken @@ -3855,73 +4480,73 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch ElementsCollectionWidget - + Ouvrir le dossier correspondant Open de collectie map - + Éditer l'élément Bewerken element - + Supprimer l'élément Verwijderen element - + Supprimer le dossier Verwijderen van dossier - + Recharger les collections Herlaad collecties - + Éditer le dossier Bewerken dossier - + Nouveau dossier Nieuwe collectie - + Nouvel élément Nieuw element - + Importer une pièce EPLAN (.edz)… Importeer een EPLAN-artikel (.edz)... - + Afficher uniquement ce dossier Enkedeze collectie weergeven - + Afficher tous les dossiers Alle collecties weergeven - + Propriété du dossier Eigenschappen van collectie - + Supprimer l'élément ? message box title Verwijderen van dit element? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3929,25 +4554,25 @@ De weergavenaam van het element kan afzonderlijk worden gewijzigd in de eigensch - + Suppression de l'élément message box title Element verwijderen - + La suppression de l'élément a échoué. message box content Verwijdering element mislukt. - + Supprimer le dossier? message box title Verwi jderen van dit dossier ? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3955,24 +4580,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Verwijderen van dossier - + La suppression du dossier a échoué. message box content Het verwijderen van het dossier is mislukt. - + Avertissement — Importation d'un fichier EPLAN (.edz) Waarschuwing — Een EPLAN-bestand (.edz) importeren - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4002,44 +4627,44 @@ Door dit bestand te importeren, bevestigt u dat: • noch QElectroTech, noch de beheerders, noch de bijdragers aansprakelijk kunnen worden gesteld voor enig oneigenlijk gebruik van deze gegevens. - + J'ai lu et j'accepte ces conditions. Ik heb deze voorwaarden gelezen en ga ermee akkoord. - + Importer Importeren - + Importer une pièce EPLAN Een EPLAN-onderdeel importeren - + Pièces EPLAN (*.edz) EPLAN-onderdelen (*.edz) - + Import EPLAN Importeer EPLAN - + Impossible d'importer cette pièce : %1 Kan dit onderdeel niet importeren: %1 - + Le dossier %1 contient Dossier %1 bevat - + %n élément(s), répartie(s) %n element(en), verspreid(en) @@ -4047,7 +4672,7 @@ Door dit bestand te importeren, bevestigt u dat: - + dans %n dossier(s). in %n dossier(s). @@ -4055,32 +4680,32 @@ Door dit bestand te importeren, bevestigt u dat: - + Chemin de la collection : %1 Bestandslocatie van collectie : %1 - + Chemin dans le système de fichiers : %1 Bestands locatie van : %1 - + Rechercher... Onderzoeken... - + Collections Collecties - + Modèles Modellen - + Propriété du dossier %1 eigenschappen van dossier %1 @@ -4150,124 +4775,124 @@ Door dit bestand te importeren, bevestigt u dat: ElementsPanelWidget - + Ouvrir le dossier correspondant Open de map van dit bestand - + Copier le chemin Copieer pad - + Basculer vers ce projet Activeer dit project - + Éditer ce modèle Bewerk dit sjabloon - + Supprimer ce modèle Verwijder dit sjabloon - + Fermer ce projet Dit project sluiten - + Propriétés du projet Project eigenschappen - + Propriétés du folio Schema eigenschappen - + Ajouter un folio Schema bladzijde toevoegen - + Insérer un folio au-dessus Voeg hierboven een pagina bij - + Insérer un folio en dessous Voeg hieronder een pagina bij - + Copier et coller Koper en plakken - + Supprimer ce folio Schema bladzijde verwijderen - + Remonter ce folio Herstel schema bladzijde - + Abaisser ce folio Plaats schema lager - + Remonter ce folio x10 Herstel het schema 10x - + Remonter ce folio x100 Herstel het schema 100x - + Remonter ce folio au debut Plaats schema bladzijde vooraan - + Abaisser ce folio x10 Verlaag schema baldzijde 10x - + Abaisser ce folio x100 Verlaag schema baldzijde 100x - + Nouveau modèle Nieuw sjabloon - - + + Panneau des éléments Elementenpaneel - + Filtrer Filter @@ -4313,7 +4938,7 @@ Door dit bestand te importeren, bevestigt u dat: ExportConfigPage - + Export configuration page title Export @@ -4322,102 +4947,102 @@ Door dit bestand te importeren, bevestigt u dat: ExportDialog - + Aperçu overzicht Voorbeeld - + Dimensions Afmetingen - + Impossible d'écrire dans ce fichier message box title Onmoglijk om naar dit bestand te schrijven - + Exporter Export - + Nom de fichier Bestandsnaam - - + + px Px - + Noms des fichiers cibles message box title Naam van het doel bestand - + Exporter les folios du projet window title Exporteer de schema bladzijden - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Selecteer de schema bladzijden die u wilt exporteren, alsook de afmetingen : - + Tout cocher Alles aan vinken - + Tout décocher Alles uit vinken - + Titre du folio Titel van de schema bladzijde - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content U mot voor elke blazijde een unique bestandsnaam geven. - + Dossier non spécifié message box title Bestand niet gespecificeerd - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content U moet het pad naar de map waar de afbeeldingsbestanden worden opgeslagen selecteren. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Het lijkt erop dat u niet beschikt over de vereiste machtigingen om naar dit bestand te schrijven naar bestand %1. @@ -4702,63 +5327,73 @@ Tkest en cijfers zijn ook beschikbaar Pas de verplaatsing toe - - + + Générique Algemeen - + Fusible Samenvoegbaar - + Sectionnable Verdeelbaar - + Diode Diode - + Terre Aarding - + Phase Fase - + Neutre Nul geleider - + Sans Zonder - + Avec Met - + Modifier des propriétés de borniers Eigenschappen van de klemmen aanpassen - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4766,27 +5401,27 @@ Tkest en cijfers zijn ook beschikbaar FreeTerminalModel - + Label Etiket - + Référence croisé Kruisverwijzing - + Type Type - + Fonction Functie - + led led @@ -4804,47 +5439,48 @@ Tkest en cijfers zijn ook beschikbaar Gebruik de systeem kleuren - + Chemin de la collection utilisateur Pad naar gebruikers collectie - + Chemin des cartouches utilisateur Pad naar gebruikers etiket - + Chemin de la collection commune Pad naar de algemene collectie - - - - - - + + + + + + Par defaut Standaard - - - - - - + + + + + + + Parcourir... Bladeren ... - + (Recharger les collections d'éléments pour appliquer les changements) (Herlaad elementverzamelingen om wijzigingen toe te passen) - + Projets Projecten @@ -4854,42 +5490,42 @@ Tkest en cijfers zijn ook beschikbaar Gebruik de gebaren voor touchpad - + Utiliser les numéros de folio à la place de leur position dans le projet Gebruik folionummers volgens hun posite in het project - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Nummer de kolomen op de schema bladzijde vanaf 0 (inien niet vanaf 1) - + Désactivé Uitgeschakeld - + min minute minuut min - + Mettre en valeur dans le panel les éléments fraîchement intégrés Laat nieuw ingevoerde waarden van een elementen oplichten in het paneel - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Elk element bevat informatie over de auteurs, licentie of andere informatie die u nuttig acht in een vrij veld. Hier kunt u de standaardwaarde voor dit veld opgeven voor de items die u gaat maken: - + Appliqué au prochain lancement de QElectroTech Wordt geactiveerd bij de volgende opstart van QElectroTech @@ -4899,62 +5535,62 @@ Hier kunt u de standaardwaarde voor dit veld opgeven voor de items die u gaat ma Formulier - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatische back-up van projecten (toegepast bij de volgende opstart van QElectroTech) - + Collections Collectie - + Accès aux collections Toegang tot de collecties - + Répertoire de la collection commune Map voor de gemeenschappelijke collectie - + Répertoire de la collection utilisateur Map voor de gebruikers collectie - + Répertoire des cartouches utilisateur Map voor de gebruikers etiketten - + Gestion des éléments Beheer de elementen - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Hier kant u de standaardweergave van de verschillende teksten van QElectroTech definiëren - + Grille + Clavier Raster + toetsenbord - + Grille : 1 - 30 Raster : 1 - 30 - + DiagramEditor xGrid Schema X raster - + DiagramEditor yGrid Schema Y raster @@ -4969,219 +5605,334 @@ Hier kunt u de standaardwaarde voor dit veld opgeven voor de items die u gaat ma - - Afficher la grille par défaut (appliqué au prochain lancement) - Toon het standaardraster (toegepast bij de volgende keer opstarten) - - - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + Toon het standaardraster (toegepast bij de volgende keer opstarten) + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) Standaardrichtlijnen weergeven (worden toegepast bij de volgende keer opstarten) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Gebruik ven&sters (toegepast bij de volgende lancering van QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Gebruik tabbladen (toegepast bij de volgende lancering van QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : High Pixel Density (HDPI) Display Scaling Method (toegepast op de volgende lancering van QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Bedrijfs elementen collectie map Bedrijfs elementen collectie map - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Bedrijfs etikettten collectie map - + Répertoire des Macros utilisateur Gebruikers macro bestands map - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Talen - + Textes Teksten - + Textes d'éléments Tekst elementen - - - + + + Police : Lettertype : - - + + ° ° - + Longueur : Text grootte: - - + + Rotation : Hoek : - + Textes indépendants Losse tekst - + Autres textes Andere teksten - + La Grille doite etre active pour pouvoir voir les modifications. Het raster moet actief zijn om wijziginge te kunne uitvoeren. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Toetsenbordbeweging: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Schema (sleutel: links / rechts) x raster - + DiagramEditor (touche : haut / bas) yGrid Schema (sleutel: omhoog / omlaag) y raster - + Déplacement au clavier avec la touche ALT : 1 - 9 Totsenbord beweging met ALT : 1-9 - + DiagramEditor (touche : gauche / droite ) xGrid Schema (sleutel: links / rechts) x raster - + DiagramEditor (touche : haut / bas) yGrid Schema (sleutel: omhoog / omlaag) y raster - + Affichage Grille Raster - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Diagram-Editor rasterpuntgrootte: 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Element-Editor rasterpuntgrootte: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Max. aantal element onderdelen ijn editor lijst - + Ne pas conserver les labels des éléments lors des copier coller Bewaar niet de labels van de element bij copy-paste @@ -5191,218 +5942,316 @@ Hier kunt u de standaardwaarde voor dit veld opgeven voor de items die u gaat ma Uitzomen voorbij het schema kader toestaan - + Arrondi supérieur pour 0.5 et plus Afgerond voor 0,5 en hoger - + Toujours arrondi supérieur Altijd afgerond naar boven - + Toujours arrondi inférieur Altijd afgerond naar beneden - + Arrondi supérieur pour 0.75 et plus Afgerond voor 0,75 en hoger - + Pas d'arrondi Niet afronden - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Algemeen - + Système Systeem - + Arabe Arabisch - + Brézilien Brasiliaans - + Catalan Catalaans - + Tchèque Tsjechisch - + Allemand Duits - + Danois Deens - + Grec Grieks - + Anglais Engels - + Espagnol Spaans - + Français Frans - + Croate Croatisch - + Italien Italiaans - + Japonais Japans - + Coréen Koreaans - + Polonais Pools - + Portugais Portugees - + Roumains Roemeens - + Russe Russisch - + Slovène Sloveens - + Pays-Bas Nederlands - + Norvege Noors - + Belgique-Flemish Belgisch nederlands - + Turc Turks - + Hongrois Hongaars - + Mongol Mongools - + Ukrainien Oekraïens - + Chinois Chinees - + Suédois Zweeds - + Chemin de la collection company Bedrijfs elementen collectie pad - + Chemin des cartouches company Bedrijfs etiketten collectie pad - + Chemin des macros utilisateur Gebruikers makro map - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Bestanden csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Hoge waarden kunnen leiden tot crashes van de applicatie. - + Fonctionnalité expérimental Experimentele functionaliteit - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5462,7 +6311,7 @@ Alle andere waarden dan 'Geen afronding' kunnen projectweergavefouten Dit is een titelhoek welke u kan toepassen op een schema bladzijde. - + %1 [non utilisé dans le projet] %1 [niet gebruikt in dit project] @@ -5793,42 +6642,42 @@ Positie vergrendelen ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6047,28 +6896,28 @@ Geen toegang tot de bovenliggende categorie JumpToElementDialog - + Atteindre un élément window title Een element bereiken - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6319,6 +7168,96 @@ Geen toegang tot de bovenliggende categorie Verbinding verbreken + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6360,7 +7299,7 @@ Geen toegang tot de bovenliggende categorie <html><head/><body><p>Defineer het gfeslecteerde element</p></body></html - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Leess het geslecteerde element</p></body></html> @@ -6470,7 +7409,7 @@ Voulez-vous tout de même lier ce contact esclave ? Klemmen - + Coller depuis le presse-papiers Plakken vanuit het klembord @@ -6480,6 +7419,158 @@ Voulez-vous tout de même lier ce contact esclave ? Kruisverwijzing (Master) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6529,10 +7620,15 @@ Voulez-vous tout de même lier ce contact esclave ? Automatisch nummeren van geleiders - + Multi-collage Meervoudig plakken + + + Numéroter les éléments collés + + NameListDialog @@ -6542,7 +7638,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialoog - + Variables de cartouche Velden van de etiket @@ -6570,7 +7666,7 @@ Voulez-vous tout de même lier ce contact esclave ? Een lijn toevoegen - + Copier dans le presse papier Kopier naar klembord @@ -6628,13 +7724,13 @@ Voulez-vous tout de même lier ce contact esclave ? Automatisch nummering - + Nouveau folio configuration page title Nieuwe schema bladzijde - + Nouveau projet configuration page title Nieuw project @@ -6909,13 +8005,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisch tekstveld - + Déplacer un champ texte Verplaats een tekstveld @@ -6975,25 +8071,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Een tekst verplaatsen - + Modifier un champ texte Wijzig een tekst + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page Selecteer een pagina - + Ce document PDF contient %n page(s) Dit PDF-document bevat %n pagina('s) @@ -7001,32 +8115,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : Pagina om te importeren: - + Résolution : Resolutie : - + 150 DPI (écran) 150 DPI (scherm) - + 300 DPI (impression) 300 DPI (afdrukken) - + 600 DPI (haute qualité) 600 DPI (hoge kwaliteit) - + Aperçu : Voorbeeldweergave: @@ -7132,12 +8246,12 @@ Voulez-vous tout de même lier ce contact esclave ? Gesloten polygoon - + Ajouter un point Voeg een punt toe - + Supprimer ce point Verwijder dit punt @@ -7190,26 +8304,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Selecteer de eigenschappen die moeten worden toegepast op een nieuw potentiaal. - - - + + + Fonction : %1 Functie %1 - - - + + + Tension/protocole : %1 Spanning / net %1 - - + + %n conducteurs composent le potentiel suivant : %n geleider vormt het volgende potentiaal : @@ -7217,57 +8331,57 @@ Spanning / net %1 - - - + + + Numéro : %1 Nummer : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Selecteer een elektrisch potentiaal uit de lijst te gebruiken vooreen nieuwe potentiaal - - - + + + Couleur du conducteur : %1 Geleider kleur : %1 - - - + + + Section du conducteur : %1 Sectie geleider : %1 - + Ajouter au câble: %1 Kabel toevoegen : %1 - + Ajouter au bus: %1 Bus toevoegen : %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Wijzig de eigenschappen van meerdere geleiders - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7278,10 +8392,107 @@ De volgende items zijn niet compatibel : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Verwijderen + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Afdrukken @@ -7290,155 +8501,355 @@ De volgende items zijn niet compatibel : ProjectAutoNumConfigPage - + Numérotation auto Automatisch nummering - + Management Beheer - - + + Conducteurs Geleiders - - - Eléments - Elementen - - - - - Folios - Schema bladzijden - - - - Numérotation auto des folios - Automatisch nummering scshema bladzijden - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Naam + + + + Folio - - - - - - - - Sans nom - Zonder naam + + Élément + Element - - Importer les numérotations d'un projet + + Figé + + + + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Elementen + + + + + Folios + Schema bladzijden + + + + Numérotation auto des folios + Automatisch nummering scshema bladzijden + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Verwijder de nummering + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Sans nom + Zonder naam + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Project QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Naam van de nieuwe nummering + Naam van de nieuwe nummering ProjectDBModel - + Position Positie - + Position du folio Positie van een schema bladzijde @@ -7461,50 +8872,134 @@ De volgende items zijn niet compatibel : ProjectMainConfigPage - + Général configuration page title Algemeen - + Titre du projet : label when configuring Titel van het project : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Deze titel i beschikbaar op alle schema bladzijden van het project bij gebruik van %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label U kan hier uw persoonlijke eigenschappen definieren welke beschikbaar zijn voor alle schema bladzijden in het project (enkel beschikbaar voor de titelhoekken). - + Temps passé sur ce projet : label when configuring Tijd besteed aan dit project: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Houd bij hoeveel tijd aan dit project is besteed (deze tijd wordt alleen lokaal in dit bestand opgeslagen) - + Réinitialiser button label Reset - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project %1 uur en %2 minuten @@ -7548,137 +9043,137 @@ De volgende items zijn niet compatibel : Tot datum : - + Option de rendu Render opties - + Dessiner le cadre Teken rand - + Dessiner le cartouche Teken titelblok - + Conserver les couleurs des conducteurs Behoud de kleuren van de geleiders - + Dessiner les bornes Teken de klemmen - + Dessiner les noms des bornes Teken de namen van de klemmen - + Inscrire les informations des composants Voer de component informatie in. - + Option d'impression Afdruk opties - + Adapter le folio à la page Aanpassenschema bladzijde aan papier formaat - + Utiliser toute la feuille Gebruik de volledige bladzijde - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Als deze optie is aangevinkt, wordt het folio vergroot of verkleind om het volledige afdrukbare oppervlak van één en slechts één pagina te vullen. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Als deze optie is aangevinkt, worden de marges van het vel genegeerd en wordt het volledige oppervlak gebruikt voor afdrukken. Dit wordt mogelijk niet ondersteund door uw printer. - + toolBar Werkbalk - + Ajuster la largeur Pas de breedte aan - + Ajuster la page Pas de pagina aan - + Zoom arrière Uitzoomen - + Zoom avant Inzo0men - + Paysage Landschap - + Portrait Portret - + Première page Eerste pagina - + Page précédente Vorige pagina - + Page suivante Volgende pagina - + Dernière page Laatste pagina - + Afficher une seule page Toon 1 bladzijde - + Afficher deux pages Toon twee pagina's - + Afficher un aperçu de toutes les pages Toon afdrukvoorbeeld van alle pagina's - + mise en page Bladzijde indeling @@ -7857,139 +9352,187 @@ Wilt u wijzigingen bewaren? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET titel blok sjablonen - + Cartouches company title of the company's title block templates collection Bedrijfs etiketten - + Cartouches utilisateur title of the user's title block templates collection Gebruiker titel blok sjabloon - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Fout + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Afsluiten - + &Masquer &Verbergen - + &Restaurer &Herstellen - + &Masquer tous les éditeurs de schéma &Verberg alle bewerkingen van het schema - + &Restaurer tous les éditeurs de schéma &Herstellen alle bewerkingen van het schema - + &Masquer tous les éditeurs d'élément &Verberg alle bewerkingen van dit element - + &Restaurer tous les éditeurs d'élément &Herstel alle bewerkingen van dit element - + &Masquer tous les éditeurs de cartouche systray submenu entry &Verberg alle bewerkingen van dit titel blok sjabloon - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Herstel alle bewerkingen van dit titel blok sjabloon - + &Nouvel éditeur de schéma &Nieuwe uitgever van het schema - + &Nouvel éditeur d'élément &Nieuwe uitgever van het element - + Ferme l'application QElectroTech Sluit QElectroTech programma - + Réduire QElectroTech dans le systray Verklein QElectroTech naar systray - + Restaurer QElectroTech Vergroot QElectroTech - + Éditeurs de schémas Bewerk de schema's - + Éditeurs d'élément Bewerk het element - + Éditeurs de cartouche systray menu entry Bewerk het titel blok sjabloon - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b> Het volgende herstelbestand is gevonden, <br> Wilt u het openen? </ b> <br> + <b> Het volgende herstelbestand is gevonden, <br> Wilt u het openen? </ b> <br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b> De volgende herstelbestanden zijn gevonden, <br> Wilt u ze openen? </ b> <br> + <b> De volgende herstelbestanden zijn gevonden, <br> Wilt u ze openen? </ b> <br> - Fichier de restauration - Herstelde schema's + Herstelde schema's - + Rapport de plantage Rapporteer de fouten - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech is tijdens de laatste uitvoering niet correct afgesloten. @@ -7997,22 +9540,22 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les Hieronder vindt u de laatste berichten die zijn vastgelegd vóór de afsluiting. U kunt deze opslaan om ze in een bugrapport op te nemen. - + Rapport de diagnostic Diagnostisch rapport - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Dit bevat de meest recente logberichten voor deze sessie. Controleer de inhoud voordat u deze toevoegt aan een openbaar bugrapport. - + Usage : Gebruik: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8029,7 +9572,7 @@ Beschikbare opties: - + [options] [fichier]... @@ -8038,114 +9581,114 @@ Beschikbare opties: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --gemeenschappelijke-map voor elementen-=MAP definieer de elementen collectie map - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --gemeenschappelijke-tbt-map=MAP Definieer de titel blok sjablonen collectie map - + --config-dir=DIR Definir le dossier de configuration --config-map=MAP Definieer configuratie map - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Stel de gegevensmap in - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --ltaal map=MAP Definieer de taalbestanden map - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Laden... initialiseer elementen collectie cache - + Chargement... Éditeur de schéma splash screen caption Opladen... schema beheer - + Chargement... Ouverture des fichiers splash screen caption Laden... Openen van bestanden - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schema - + Electrique Normal example text - translate length, not meaning Electrisch - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech instellen - + Chargement... splash screen caption splash screen onderschrift Laden ... - + Chargement... icône du systray splash screen caption Laden... Systray icon - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8154,102 +9697,103 @@ Beschikbare opties: QETDiagramEditor - + Afficha&ge Weer&gave - + Affiche ou non le panel d'appareils Weergeven of verbergen het elementen paneel - + Ajouter une colonne Kolom toevoegen - + &Cascade &Trapsgewijs - + C&oller &Plakken - + Cop&ier Kop&ieren - + Co&uper Kn&ippen - + Désélectionner tout Selecteer niets - + &Édition &Bewerken - + Enlever une colonne Kolom verwijderen - + &Enregistrer B&ewaren - + Enregistrer sous Bewaren als - + E&xporter E&xporteer - + Fe&nêtres Ve&nsters - + + &Fermer &Sluiten - + &Fichier &Bestand - + Imprimer Afdrukken - + Inverser la sélection Selectie omkeren - + Mode Selection Selectie modus - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Dit paneel bevat de verschillende acties welke toegpast zij op de huidige schema bladzijde. Klikken op één van deze acties brengt het schema terug naar de inhoud juist na het toepassen van deze actie. @@ -8265,989 +9809,1213 @@ Beschikbare opties: Geef de achtergrond kleur van het schema weer in wit of grijs - + Afficher la grille Geef rooster weer - + Affiche ou masque la grille des folios Verbergen of weergeven raster op de bladzijden - + Propriétés du folio Schema eigenschappen - + Ajouter un folio Schema bladzijde toevoegen - - - + + + Supprimer le folio Schema baldzijde verwijderen - + Mode Visualisation Verplaatsen modus - + &Mosaïque &Mozaïek - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Diagram editor - + Exporter en pdf Exporteer in pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Exporteer een of meer folio's van het huidige project - + Afficher les guides Geef de hulp lijnen weer - + Affiche ou masque les guides Weergeven of verbergen van de hulp lijnen - + Exporter au format CSV Exporteren in CSV-indeling - + Gestionnaire de borniers (DEV) Klemmen beheerder (DEV) - + Lancer le plugin de création de borniers Start de creatie van klemmen - + Exporter la liste des noms de conducteurs Exporteer de lijst met bestuurdersnamen - + Exporter le plan de câblage Exporteer het bedradingsschema - + Numérotation automatique des bornes Automatische klem nummering - + Exporter la base de donnée interne du projet Exporteer de interne projectdatabase - + &Nouveau &Nieuw - + Crée un nouveau projet status bar tip Nieuw project aanmaken - + Ouvre un projet existant status bar tip Bestaand project openen - + Ferme le projet courant status bar tip Het huidige project sluiten - + Enregistre le projet courant et tous ses folios status bar tip Bewaar het huidige project en al zijn schema bladzijden - + Enregistre le projet courant avec un autre nom de fichier status bar tip Bewaar het huidige project met een andere naam - + Ajouter une ligne Add row Een rij toevoegen - + Enlever une ligne Remove row Verwijderen van een rij - + Ajoute une colonne au folio status bar tip Voeg een kolom toe - + Enlève une colonne au folio status bar tip Verwijder een kolom - + Agrandit le folio en hauteur status bar tip Vergroot het schema in de hoogte - + Rétrécit le folio en hauteur status bar tip Verklein het schema in de hoogte - + Enlève les éléments sélectionnés du folio status bar tip Verwijder de geselecteerde elementen van het schema - + Sélectionne tous les éléments du folio status bar tip Selecteer alle elementen op deze schema bladzijde - + Désélectionne tous les éléments du folio status bar tip Selecteer niets op deze schema bladzijde - + Agrandit le folio status bar tip Vergroot deze schema bladzijde - + Rétrécit le folio status bar tip Verklein deze schema bladzijde - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Uitzomen toegestaan buiten het schema kader - + Adapte le zoom exactement sur le cadre du folio status bar tip Pas de zoom waarde aan aan de exacte afmetingen van het schema kader - + Ajouter une ligne Draw line Teken een lijn - + Ajouter un rectangle Rechthoek toevoegen - + Ajouter une ellipse Voeg ellipse toe - + Ajouter une polyligne Polylijn toevoegen - + Exporte le folio courant dans un autre format status bar tip Exporteer de huidige schemabladzijde naar een ander formaat - + Imprime un ou plusieurs folios du projet courant status bar tip Afdrukken van één of meerdere schema bladzijden van het huidige project - + Profondeur toolbar title Diepte - + Groupe Groep - + Place les éléments du presse-papier sur le folio status bar tip Plaat elementen op het klembord - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Bewerk de bladzijde eigenschappen (afmetingen, informatie op de etiket, eigenschappen van de geleiders...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip U kan deze bladzijde alleen lezen en niet wijzigen - + Outils Gereedschappen - + &Ouvrir &Open - + Ouvrir un fichier Bestand openen - + Pas de zoom Zoom 1:1 - + Pivoter Draaien - + &Quitter &Verlaten - + Supprimer Verwijderen - + Tout sélectionner Selecteer alles - + Zoom adapté Passend maken - + Zoom arrière Zoom Uit - + Zoom avant Zoom In - + Annuler Annuleer - + Refaire Herdoen - + Réinitialiser les conducteurs Reset geleiders - + Affiche ou non la barre d'outils principale Weergeven of verbergen van de hoofdwerkbalk - + Affiche ou non la barre d'outils Affichage Tonen of verbergen van de weergave werkbalk - + Affiche ou non la barre d'outils Schéma Tonen of verbergen van de schema werkbalk - + Affichage Weergave - + Schéma Schema - + Ajouter un champ de texte Toevoegen een tekstveld - + Aucune modification Geen wijzigingen - + Affiche ou non la liste des modifications Tonen of verbergen van de lijst met wijzigingen - + Éditer l'item sélectionné Bewerk het geselecteerde item - + Grouper les textes sélectionnés Groep van geslecteerde teksten - + Pivote les éléments et textes sélectionnés status bar tip Draai de geselecteerde elementen en teksten - + Pivote les textes sélectionnés à un angle précis status bar tip Draai de geselecteerde teksten met specifieke hoek - + Chercher/remplacer Zoeken/vervangen - + &Projet &Project - + &Récemment ouverts &Onlangs geopende projecten - - + + Projet %1 enregistré dans le repertoire: %2. Project %1 bewaard in map %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Het lijkt erop dat het bestand dat u probeert te openen niet leesbaar is. Het is dus onmogelijk om het te openen. Controleer de bestandsrechten. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Het lijkt erop dat het project dat u probeert te openen niet leesbaar is. Het zal geopend worden als alleen-lezen. - + en utilisant des onglets Gebruik tabs - + en utilisant des fenêtres Gebruik vensters - + Afficher les projets Weergeven projecten - + Propriétés du projet Project eigenschappen - + Nettoyer le projet Reinig het project - - + + Échec de l'ouverture du projet message box title Project openen mislukt - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Het lijkt erop dat het bestand %1 geen QElectroTech project is. Het kan niet worden geopend. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Annuleringen - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klik op een actie om terug te gaan in de bewerkingen van uw schema - + Orienter les textes Kies tekst orientatie - + Retrouver dans le panel Zoeken in paneel - + Ajouter une image Afbeelding toevoegen - + Ajouter un sommaire Samenvatting toevoegen - + Zoom sur le contenu Zoom op de inhoud - + Ferme l'application QElectroTech status bar tip Afsluiten QElectroTech - + Annule l'action précédente status bar tip Annuleer de vorige actie - + Restaure l'action annulée status bar tip Herstel de geannuleerde actie - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Verplaats de geselecteerde elementen naar het klembord - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopieert de geselecteerde elementen naar het klembord - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deselecteert alle geselecteerde elementen en selecteert de niet-geselecteerde elementen - + Retrouve l'élément sélectionné dans le panel status bar tip Vind het geselecteerde element in het paneel - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Herberekent de paden van geleiders, ongeacht de veranderingen - + Création automatique de conducteur(s) Tool tip of auto conductor Automatisch creatie van geleiders - + Projets dock title Projecten - + Collections Collectie - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Maak gebruik van automatische creatie van geleider(s) indien mogelijk - + Restaure le zoom par défaut status bar tip Herstel naar de standaard zoom instelling - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Toont de verschillende geopende projecten in vensters - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Autoamtisch snijden van een geleider - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Automatisch de bestaande geleiders snijden bij het plaatsen van een element. - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + Weergeven + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Kruisverwijzing + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature Nomenclatuur toevoegen - + Liste de câblage (base de données) - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Présente les différents projets ouverts des onglets status bar tip Toont de verschillende geopende projecten in tabs - + Permet de sélectionner les éléments status bar tip Selecteert elementen - + Pivoter le groupe Draai de groep - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Draai de selectie als groep rondom het middelpunt, in plaats van elk element afzonderlijk - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF Voeg een PDF toe - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Voeg een klemmen plan toe - + Ajoute un champ de texte sur le folio actuel Voeg een tekstveld bij op de huidige schema bladzijde - + Ajoute une image sur le folio actuel Voeg een afbeelding bij op de huidige schema bladzijde - + Ajoute une page PDF sur le folio actuel Voeg een PDF-pagina toe aan het huidige folio. - + Ajoute une ligne sur le folio actuel Voeg een lijn toe aan de huidige schema bladzijde - + Ajoute un rectangle sur le folio actuel Voeg een recthoek toe aan de huidige schema bladzijde - + Ajoute une ellipse sur le folio actuel Voeg een elpis toe aan de huidige schema bladzijde - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Voeg een polygoon toe aan de huidige schema bladzijde - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Voeg een klemmen plan toe op de huidige pagina - + Atteindre un élément Een element bereiken - + Recherche et sélectionne rapidement un élément du folio status bar tip Zoek en selecteer snel een item in de pagina - + Ajouter toevoegen - + + Scripts + toolbar title + + + + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Project QElectroTech (*.qet);;Bestand XML (*.xml);;Alle bestanden (*) - - + + Impossible d'ouvrir le fichier message box title Kan het bestand niet openen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Het lijkt erop dat het bestand %1 dat u probeert te openen niet bestaat. - + Ouverture du projet en lecture seule message box title Open het bestand als alleen lezen - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9256,7 +11024,7 @@ Het lijkt erop dat het bestand %1 dat u probeert te openen niet bestaat. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9265,18 +11033,40 @@ Het lijkt erop dat het bestand %1 dat u probeert te openen niet bestaat. - + Polices du projet message box title Project eigenschappen - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + Suppression de borne impossible Klem kan niet worden verwijderd - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer De verwijdering kan niet worden uitgevoerd omdat de selectie een of meer gekoppelde terminals en/of terminals bevat die tot een terminal met meerdere niveaus behoren. @@ -9284,20 +11074,38 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s Ontkoppel en/of verwijder de niveaus van de betreffende terminals om ze te kunnen verwijderen. - + %n objet(s) remis sur la grille + + + %n objet(s) aligné(s) + + + + + - + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9305,100 +11113,100 @@ Ontkoppel en/of verwijder de niveaus van de betreffende terminals om ze te kunne - + Éditer l'élement edit element Element bewerken - + Éditer le champ de texte edit text field Tekst veld bewerken - + Éditer l'image edit image Afbeelding bewerken - + Éditer le conducteur edit conductor Bewerk geleiders - + Éditer l'objet sélectionné edit selected item Het geselecteerde object bewerken - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Een fout heeft zich voorgedaan bij het open vanbestand %1. - + Active le projet « %1 » Activeer project " %1 " - + Êtes-vous sûr de vouloir supprimer ce folio ? Weet je zeker dat je deze pagina wilt verwijderen? - + Supprimer les folios Verwijder de paginas - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Weet u zeker dat u de geselecteerde %1 paginas wilt verwijderen? - + Supprimer %1 folios Verwijder %1 paginas - - - - - - - + + + + + + + Déplacer les folios Verplaats de paginas - + Erreur message box title Fout - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9406,7 +11214,7 @@ Ontkoppel en/of verwijder de niveaus van de betreffende terminals om ze te kunne - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9414,7 +11222,7 @@ Ontkoppel en/of verwijder de niveaus van de betreffende terminals om ze te kunne - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9422,18 +11230,18 @@ Ontkoppel en/of verwijder de niveaus van de betreffende terminals om ze te kunne - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9442,46 +11250,144 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Dispose les fenêtres en mosaïque status bar tip Zet vensters in tegelpatroon - + Dispose les fenêtres en cascade status bar tip Zet vensters achter elkaar - + Projet suivant Volgende project - + Projet précédent Vorige project - + Active le projet suivant status bar tip Activeert volgende project - + Active le projet précédent status bar tip Activeert vorige project @@ -9490,27 +11396,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Nieuw - + &Ouvrir &Openen - + &Enregistrer B&ewaren - + Enregistrer sous Bewaren als - + Tout sélectionner Selecteer alles @@ -9520,334 +11426,334 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Element bewerker - + &Aide &Help - + Annulations Annuleren - + Parties Delen - + Informations Informatie - + Outils Gereedschappen - + Affichage Weergave - + Élément Element - + Annulation Annuleren - + Exporter en SVG Exporteren naar SVG - + &Fermer cet éditeur &Sluit deze editor - + Fermer cet éditeur Sluit deze editor - + Désélectionner tout Deselecteer alles - + C&oller dans la zone P&lakken in de zone - + Un fichier Een bestand - + Un élément Een element - + Inverser la sélection Inverteer selectie - + &Supprimer &Verwijderen - + À &propos de QElectroTech O&ver QElectroTech - + Affiche des informations sur QElectroTech Toont informatie over QElectroTech - + Manuel en ligne Online handleiding - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Start internet browser voor de online handleiding van QElectroTEch - + Chaine Youtube Youtube kanaal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Start internet browser voor Youtube kanaal van QElectroTEch - + Soutenir le projet par un don Steun het project met een donatie - + Soutenir le projet QElectroTech par un don Steun het project QElectroTech met een donatie - + À propos de &Qt Over &Qt - + Affiche des informations sur la bibliothèque Qt Toont informatie over Qt bibliotheek - + Rotation Rotatie - + Fine-Rotation Fijne rotatie - + Mirror Spiegelen - + Flip Omdraaien - + Importer un dxf Importeer een dxf bestand - + importer un élément à redimensionner importeer een element om de grootte te wijzigen - + Ajouter une ligne Voeg lijn toe - + Ajouter une ellipse Voeg ellipse toe - + Ajouter un polygone Voeg polygoon toe - + Ajouter du texte Voeg tekst toe - + Ajouter un arc de cercle Voeg boog toe - + Ajouter une borne Voeg een klem toe - + Annuler Anuleer - + Refaire Herstel - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Bij de afwezigheid van contact klem, is het niet mogelijk het element te verbinden met andere element door middel van geleiders. - + Aucune modification Geen wijzigingen - + Recharger Herladen - + Zoom avant Zoom In - + Zoom arrière Zoom Uit - + Zoom adapté Pas in venster - + Pas de zoom Herstel zoom - + &Ouvrir depuis un fichier &Openen van een bestand - + Enregistrer dans un fichier Bewaar naar een bestand - + Éditer les informations sur l'auteur Bewerk auteur informatie - + Parties toolbar title Delen - + Profondeur toolbar title Diepte - + Éditer le nom et les traductions de l'élément Bewerk de naam en de vertaling het element - + Éditer les propriétés de l'élément Bewerk de eigenschappen van het element - + Ajouter un champ texte dynamique Voeg dynamisch tekstveld toe - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dubbelklik om het formulier te voltooien, klik met de rechtermuisknop om het laatste punt ongedaan te maken - + &Fichier &Bestand - + &Édition B&ewerken - + Afficha&ge Weer&gave - + Coller depuis... Plakken van... - + [Modifié] window title tag [Gewijzigd] - + [lecture seule] window title tag [Alleen lezen] - + Éditeur d'éléments status bar message Element bewerker - - + + %n partie(s) sélectionnée(s). %n geselecteerd onderdeel. @@ -9855,24 +11761,24 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Geen verbindings punt aanwezig - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Fout</b>:<br>de schema bladzijde moet minstens 1 verbindingscontact bevatten.<br><b>Oplossing</b>:<br>Zie het element na of het minstens 1 verbindingscontact bevat - + La vérification de cet élément a généré message box content De controle van dit element is gebeurd - + %n erreur(s) errors foutmelding @@ -9882,32 +11788,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et en - + Erreurs Fouten - + Absence de borne Terminal object ontbreekt - + Ajouter un texte d'élément non éditable dans les schémas Voeg een niet-bewerkbare tekst element toe in de schema bladzijden - + Ajouter un texte d'élément pouvant être édité dans les schémas Voeg tekstveld toe die in schema's kan worden bewerkt - + %n avertissement(s) warnings waarschuwingen @@ -9917,292 +11823,348 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Le fichier %1 n'existe pas. message box content Bestand %1 bestaat niet. - + Afficher menu entry Weergeven - - + + Impossible d'ouvrir le fichier %1. message box content Onmogelijk om bestand %1 te openen. - - + + Ce fichier n'est pas un document XML valide message box content Dit bestand is geen geldig XML document - - + + Erreur toolbar title Fout - - + + Édition en lecture seule message box title Alleen lezen versie - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content U beschikt niet over de nodige rechten om dit element te wijzigen. Het zal geopend worden als alleen-lezen. - - + + Erreur message box title Fout - + Impossible d'écrire dans ce fichier message box content Onmogelijk om naar het bestand te schrijven - + Impossible d'enregistrer l'élément message box content Onmogelijk om element te bewaren - + Trop de primitives, liste non générée: %1 Te veel primitieven, lijst niet gegenereerd: %1 - + Nombre de bornes incorrect Onjuist aantal klemmen - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Fout</b>:<br>Geleiderdefinities kunnen slechts één aansluiting hebben.<br><b>Oplossing</b>:<br>Controleer of het element slechts één aansluiting heeft - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Element editor - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + Hoogte + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Exporteren naar SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG SVG-afbeelding (*.svg) - + Échec de l'export Export mislukt - + Impossible d'écrire dans le fichier « %1 ». Kan niet naar bestand "%1" schrijven. - + Avertissement Aankondiging - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Het importeren van een groot dxf-bestand kan tijd kosten Even geduld terwijl het importeren bezig is... - + Importer un élément à redimensionner Importeer een item om het formaat te wijzigen - + Éléments QElectroTech (*.elmt) QElectroTech elementen (*.elmt) - + Impossible d'ouvrir le fichier message box title Onmogelijk om bestand te openen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Het lijkt erop dat het bestand %1 dat u probeert te openen niet bestaat. - - - + + + Echec de l'enregistrement Bewaren mislukt - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Bewaren mislukt, de benodigde voorwaarden zijn niet voldaan - + Ouvrir un fichier dialog title Open een bestand - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech elementen (*.elmt);;XML files (*.xml);;All files (*) - + Recharger l'élément dialog title Herlaad elementen - + Avertissements Waarschuwingen - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Je hebt veranderingen op dit element gemaakt. Als u herlaadt, zullen deze wijzigingen verloren. Wil je echt herladen van het item? - + Enregistrer sous dialog title Bewaren als - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech elementen (*.elmt) - + Enregistrer l'élément en cours ? dialog title Bewaren actief element? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Wilt u het element %1 bewaren ? - - - - + + + + Élément inexistant. message box title Element bestaat niet. - - + + L'élément n'existe pas. message box content Het element bestaat niet. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Het gekozen virtuele pad correspondeert niet met een element. - + Co&uper K&nippen - + Cop&ier Kop&ieer - + C&oller P&lakken - + Ajouter un rectangle Rechthoek toevoegen @@ -10210,137 +12172,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech &Instellen QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Verschillende parameters instellen van QElectroTech - + À &propos de QElectroTech O&ver QElectroTech - + Affiche des informations sur QElectroTech status bar tip Toont informatie over QElectroTech - + Manuel en ligne Online handleiding - + Chaine Youtube Youtube kanaal - - + + Télécharger une nouvelle version (dev) Nieuwste versie downloaden (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Start internet browser voor de online handleiding van QElectroTEch - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général Algemeen - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Start internet browser voor Youtube kanaal van QElectroTEch - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Start internet browser voor de online depot Nightly van QElectroTEch - + Soutenir le projet par un don Steun het project met een donatie - + Soutenir le projet QElectroTech par un don status bar tip Steun het project QElectroTech met een donatie - + À propos de &Qt Over &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Toont informatie over Qt bibliotheek - + Enregistrer un rapport de diagnostic... Stel een diagnostisch rapport op... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Genereert een rapport met de meest recente logberichten, dat in een bugrapport kan worden opgenomen - + &Configuration window menu &Instellingen - + &Aide window menu &Help - + Sortir du &mode plein écran Verlaat de volledige scherm &modus - + Affiche QElectroTech en mode fenêtré status bar tip ToontQElectroTech in venster modus - + Passer en &mode plein écran Schakel over naar de volledig scherm &modus - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech weergegeven in de volledig scherm modus - + Afficher menu entry Weergeven @@ -10349,58 +12346,58 @@ les conditions requises ne sont pas valides QETProject - + Avertissement message box title Aankondiging - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Project « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projectbestandsnaam %1 - + Projet sans titre displayed title for a project-less, file-less project Naamloos project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [alleen lezen] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [gewijzigd] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié Gewijzigd contactsysteem - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10412,13 +12409,13 @@ Bestaande ondergeschikte elementen worden niet automatisch toegewezen. U moet de Wilt u doorgaan? - + Une erreur s'est produite durant l'intégration du modèle. error message Fout bij invoegen van het sjabloon. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10427,7 +12424,7 @@ Vous utilisez actuellement QElectroTech en version %2 U gebruikt momenteel QElectroTech versie %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10436,31 +12433,31 @@ Que désirez vous faire ? Wat wil je doen? - + Avertissement message box title Waarschuwing - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Het project dat u probeert te openen is gedeeltelijk compatibel met uw versie %1 van QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Om het volledig compatibel te maken, opent u hetzelfde project met versie 0.8 of 0.80 van QElectroTech, slaat u het project op en opent u het opnieuw met deze versie. Wat wil je doen? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align = "center"> <b> Open het huidige project ... </ b> <br/> Aanmaken van schema bladzijden </ p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align = "center"> <b> Het lopende project openen ... </ b> <br/> Kruisverwijzingen instellen </ p> @@ -10829,23 +12826,23 @@ Wat wil je doen? QObject - + Exporter vers le presse-papier Exporter naar prikbord - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Het tekstbestand met de GNU / GPL licentie kan niet worden gevonden - goed, maar hoe dan ook, u kent deze toch van buiten (uit het hoofd)? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Het tekstbestand met de GNU / GPL licentie bestaat, maar kan niet worden geopend - goed, maar hoe dan ook, u kent deze toch van buiten (uit het hoofd)? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Waarschuwing: het element is bewaard in een nieuwere versie van QElectroTech. @@ -10865,44 +12862,44 @@ Wat wil je doen? een grafisch element - + supprimer %1 undo caption - %1 is a sentence listing the removed content Verwijder %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste Plak %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut Knip %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content Verplaats %1 - + modifier le texte undo caption Wijzig tekst - + modifier un conducteur undo caption Wijzig een geleider - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Resetten %1 @@ -10914,7 +12911,7 @@ Wat wil je doen? Titel blok wijzigen - + modifier les dimensions du folio undo caption Wijzig de afmetingen van het schema kader @@ -11017,7 +13014,7 @@ Wat wil je doen? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11026,7 +13023,7 @@ Wat wil je doen? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11035,7 +13032,7 @@ Wat wil je doen? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11044,7 +13041,7 @@ Wat wil je doen? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11053,7 +13050,7 @@ Wat wil je doen? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11062,7 +13059,7 @@ Wat wil je doen? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11071,7 +13068,7 @@ Wat wil je doen? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11080,7 +13077,7 @@ Wat wil je doen? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11089,8 +13086,8 @@ Wat wil je doen? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file @@ -11098,61 +13095,61 @@ Wat wil je doen? >Onmogelijk om bestand %1 met schrijf te openen, gevonden fout: %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Er is een fout opgetreden tijdens het schrijven van bestand %1, fout %2 is opgetreden. - + Amener au premier plan Breng naar de voorgrond - + Rapprocher Omhoog - + Éloigner Omlaag - + Envoyer au fond Naar achter plaatsen - + Ramène la ou les sélections au premier plan Zet het geselecteerde op de voorgrond - + Rapproche la ou les sélections Nader de geselecteerden - + Éloigne la ou les sélections Uitlijnen van geselecteerde - + Envoie en arrière plan la ou les sélections Verplaatst het geselecteerde naar deachtergrond - - - - + + + + Profondeur Diepte - + Borne tooltip Klem @@ -11254,27 +13251,27 @@ Wat wil je doen? Rechthoek - + Folio sans titre Schema/bladzijde zonder titel - + schema Schema - + Conserver les proportions Behoud de verhoudingen - + Réinitialiser les dimensions Opnieuw instellen van de afmetingen - + Aperçu Overzicht @@ -11429,6 +13426,7 @@ Wat wil je doen? + Titre Titel @@ -11511,6 +13509,7 @@ Wat wil je doen? Tekst + Modifier les informations de l'élément : %1 Wijzigen informatie van element %1 @@ -11600,22 +13599,22 @@ Wat wil je doen? Nummer van een schema bladzijde - + Collection QET QET Collectie - + Collection Company Bedrijfs verzameling - + Collection utilisateur Gebruikers collectie - + Macros @@ -11624,12 +13623,12 @@ Wat wil je doen? Macros - + Collection inconnue Collectie onbekent - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. Het bestand "%1" ontbreekt of is onleesbaar: de vertaalde naam van deze map kon niet worden gelezen, in plaats daarvan wordt de mapnaam weergegeven. @@ -11643,8 +13642,13 @@ Wat wil je doen? Collection Collectie + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11716,7 +13720,7 @@ Wat wil je doen? %1 tekst groepen - + %n texte(s) @@ -11724,13 +13728,13 @@ Wat wil je doen? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orientatie van geselecteerde tekst @@ -11779,13 +13783,13 @@ Wilt u deze vervangen? Importeer de tekst configuratie : %1 - + %p% effectué (%v sur %m) %p% gedaan (%v van %m) - - + + chargement %p% (%v sur %m) opladen %p% (%v van %m) @@ -11795,22 +13799,22 @@ Wilt u deze vervangen? Zoek/vervang eigenschappen schema baldzijde - + Chercher/remplacer les propriétés d'éléments. Zoek/vervang element eigenschappen. - + Chercher/remplacer les propriétés de conducteurs. Zoek/vervang geleider eigenschappen. - + Rechercher / remplacer avancé Geavanceerd zoeken/vervangen - + Chercher/remplacer des textes independants Zoek/vervang losse teksten @@ -11907,35 +13911,35 @@ Wilt u deze vervangen? - - - + + + Type Type - - - + + + Adresse Adres - - - + + + Commentaire Commentaar - - - + + + Réf. croisée Kruis verwijzing @@ -11943,9 +13947,9 @@ Wilt u deze vervangen? - - - + + + Fonction Functie @@ -12275,27 +14279,27 @@ Wilt u deze vervangen? Pad van het bewaarde bestand - + Création de conducteurs Creatie van geleiders - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> De plug-in qet_tb_generator installeren <br> Bezoek: <a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator </a> - vereist python 3.5 of hoger. <br> <B> <U> Eerste installatie op Windows </ U> <br> 1. Installeer, indien nodig, python 3.5 of hoger <br> Bezoek: <a href='https://www.python.org/downloads/'> python.org </a> <br> 2. pip install qet_tb_generator <br> <B> <U> Update voor Windows </ U> <br> python -m pip install - upgrade qet_tb_generator <br> directory <br> C: \ gebruikers \ XXXX \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Om de plugin qet_tb_generator te installeren<br>Ga naar:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>< B><U>Eerste installatie op macOSX</B></U><br>1. Installeer, indien nodig, alleen de python 3.11-bundel, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2- macos11.pkg</a><br>2 Voer het script Profile.command uit<br>omdat het programma een hardgecodeerd PATH gebruikt om de qet-tb-generator-plug-in te lokaliseren <br> Bezoek:<br><a href='https://qelectrotech .org/forum/viewtopic.php?pid=5674#p5674'>hoe</a><br>2. pip3 installeer qet_tb_generator<br><B><U> Update op macOSX</B></U><br> pip3 installeer --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Om de plug-in qet_tb_generator te installeren <br> Bezoek: <br> <a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator </a> <br> < br> Python 3.5 of hoger vereist. <br> <br> <B> <U> Eerste installatie op Linux </B> </U> <br> 1. controleer of u pip3 hebt geïnstalleerd: pip3 --version <br> Indien niet installeren met: sudo apt-get install python3-pip <br> 2. Installeer het programma: sudo pip3 install qet_tb_generator <br> 3. Start het programma: qet_tb_generator <br> <br> <B> <U> Update op Linux </B> </U> <br> sudo pip3 install --upgrade qet_tb_generator <br> - + Error launching qet_tb_generator plugin Fout bij opstarten qet_tb_generator toepassing @@ -12315,15 +14319,15 @@ Wilt u deze vervangen? Plakken - - + + - - - - - - + + + + + + this is an error in the code dit is een fout in de code @@ -12480,12 +14484,12 @@ Wilt u deze vervangen? Universele uitgang - + Importer un fichier dxf Importeer een dxf file - + Ouvrir un element Open een element @@ -12616,7 +14620,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Download deze door de onderstaande link te volgen en pak het uit in de installatiemap - + Automatic terminal numbering Autmatische klem nummering @@ -12699,7 +14703,7 @@ Download deze door de onderstaande link te volgen en pak het uit in de installat - + %n groupe(s) de textes @@ -12708,8 +14712,8 @@ Download deze door de onderstaande link te volgen en pak het uit in de installat - - + + Déplacer %1 @@ -12838,98 +14842,111 @@ Download deze door de onderstaande link te volgen en pak het uit in de installat - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Toevoegen %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Bewerken tekst kleur - + Pivoter un texte - + Modifier le trait d'une forme Wijzig de eigenschappen van een vorm - + Modifier le remplissage d'une forme Wijzig en vervang de eigenschappen van een vorm - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Wijzig een symbool tekst - + Numéroter automatiquement un élément Een element automatisch nummeren - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12937,6 +14954,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12956,371 +15014,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. De weer te geven informatie is groter dan de maximale hoeveelheid die door de tabellen kan worden weergegeven. Voeg een nieuwe tabel toe of pas de bestaande tabellen aan om alle informatie te tonen. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. De weer te geven informatie is groter dan de maximale hoeveelheid die door de tabel kan worden weergegeven. Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer te geven. - + Limitation de tableau Tabel limieten - + Modifier la géometrie d'un tableau Wijzig de geometrie van een tabel + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape een vorm - + une ligne een lijn - - + + Ajouter un point Voeg een punt toe - + Supprimer ce point Verwijder een punt - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Dikte - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Voeg een punt op het polygoon toe - + Supprimer un point d'un polygone Verwijder een punt op het polygoon - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Wijzigen %1 - + un rectangle een rechthoek - + une éllipse een elipse - + un arc - + une polyligne een polugoon - + une courbe @@ -13402,7 +15521,7 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer Tekst veld - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Het element " %1 " bestaat reeds. Wat wilt u doen ? @@ -13410,31 +15529,75 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + Element + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13458,9 +15621,9 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer - - - + + + Ne pas modifier Niet aangepast @@ -13580,97 +15743,97 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer Fase - - + + Nombre de phase Aantal fase geleiders - + Neutre Nul geleider - + neutre Nul - + Terre Aarding - + terre Aarde - + TextLabel Tekst etiket - + PushButton Drukknop - + Apparence Weergave - + Taille : Hoogte: - - + + Couleur : Kleur: - + Style : Stijl: - - + + Modifier Wijzig - + Couleur secondaire : Secundaire kleur: - + Taille de trait : Lijn dikte: - + px px - + Trait plein conductor style: solid line Volle lijn - + Trait en pointillés conductor style: dashed line Streep lijn - + Traits et points conductor style: dashed and dotted line Puntjes lijn @@ -13679,7 +15842,7 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer ReplaceElementDialog - + Ne pas modifier Niet aangepast @@ -13721,10 +15884,10 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer - - - - + + + + Ne pas modifier Niet aangepast @@ -13784,12 +15947,12 @@ Voeg een nieuwe tafel toe of pas de bestaande tabel aan om alle informatie weer Breng de huidige datum aan - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html> <head /> <body> <p> Beschikbaar als% plant voor etiket sjablonen </ p> </ body> </ html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13802,33 +15965,33 @@ De volgende variabelen kunnen gebruikt worden: - %autonum : automatische nummering voor schema bladzijden - + Disponible en tant que %locmach pour les modèles de cartouches Beschikbaar als %locmach in de diverse titelhoeken te gebruiken - + Titre : Titel : - - - - - - - + + + + + + + Supprimer ce texte Verwijder de tekst - + Personnalisées Gebruiker - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. U kan hier uw eigen namen/verwijzingen / waarden voor de titelhoek definiëren. Voorbeeld: associëren de naam "volta" en de waarde "1745" vervangt % {volta} door 1745 in de titelhoek. @@ -13866,6 +16029,185 @@ Maak uw eigen tekst met behulp van de volgende variabelen: % c: het kolomnummer + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nieuw + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Naam: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + B&ewaren + + + + Ouvrir le &dossier + + + + + &Fermer + &Sluiten + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13879,42 +16221,42 @@ Maak uw eigen tekst met behulp van de volgende variabelen: Ga naar de volgende correspondentie - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html> <head /> <body> <p> Geavanceerde opties weergeven </ p> </ body> </ html> - + Aller à la correspondance précédente Ga naar de vorige correspondentie - + Quitter Afsluiten - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html> <head /> <body> <p> Definieer eigenschappen om te vervangen in elementen </ p> </ body> </ html> - + Champ texte de folio Tekst veld van schema bladzijde - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html> <head /> <body> <p> Definieer eigenschappen om te vervangen in folio's </ p> </ body> </ html> - + Folio Schema bladzijde @@ -13939,42 +16281,42 @@ Maak uw eigen tekst met behulp van de volgende variabelen: Hoofdletter gevoelig - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html> <head /> <body> <p> Vervang de geselecteerde match </ p> </ body> </ html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html> <head /> <body> <p> Vink de overeenkomende overeenkomsten aan </ p> </ body> </ html> - + avancé Naar voor - + Élément Element - + Conducteur Geleider - + Remplacer : Vervang : - + Remplacer Vervang - + Tout remplacer Alles vervangen @@ -13984,105 +16326,105 @@ Maak uw eigen tekst met behulp van de volgende variabelen: Zoeken : - + Actualiser Actualiseren - + Correspondance : Corrspondentie : - + Folios Schema baldzijden - + Champs texte Tekst veld - + Eléments Elementen - + Eléments simple Simpel element - + Eléments maître Master element - + Eléments esclave Slave element - + Eléments report de folio Schema rapport element - + Eléments bornier Klem element - + Sélectionner les éléments de ce folio Selecteere de lementen op deze bladzijde - + Sélectionner les conducteurs de ce folio Selecteer de geleiders op deze baladzijde - + Sélectionner les textes de ce folio Selecteer de teksten op deze baladzijde - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [bewerken] - + Conducteurs Geleiders - + Inconnue Onbekend @@ -14095,17 +16437,17 @@ Maak uw eigen tekst met behulp van de volgende variabelen: Formulier - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Verwijder een nummering</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>toevoegen van een nummering</p></body></html> - + Définition Definitie @@ -14125,38 +16467,66 @@ Maak uw eigen tekst met behulp van de volgende variabelen: Verwijder de nummering - Précédent - Vorige + Vorige - Suivant - Volgende + Volgende - + Type Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Waarde - + Incrémentation Optellend - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Automatisch bladzijde nummering - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14184,7 +16554,7 @@ Het veld "Verhoging" wordt niet gebruikt. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14222,13 +16592,13 @@ De andere velden worden niet gebruikt. De andere velden worden niet gebruikt. - + Element Autonumérotation title window Automatisch nummering vand e elementen - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14266,7 +16636,17 @@ De overige velden worden niet gebruikt. De overige velden worden niet gebruikt. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Automatisch nummering geleider @@ -16660,12 +19040,12 @@ De overige velden worden niet gebruikt. Informatie om weer te geven - + Configuration Instellingen - + Requête SQL : SQL-verzoek: @@ -16675,6 +19055,18 @@ De overige velden worden niet gebruikt. Positie + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -17004,27 +19396,27 @@ De overige velden worden niet gebruikt. TerminalStripEditor - + Propriétés Eigenschappen - + Nom : Naam: - + Commentaire : Opmerking : - + Installation : Installatie : - + Type : Type: @@ -17054,98 +19446,98 @@ De overige velden worden niet gebruikt. Doede verplaatsing - + Étage : Verdieping : - + Couleur pont : Brug kleur : - - + + Générique Algemeen - + Fusible Samenvoegen - + Sectionnable Verdelen - + Diode Diode - + Terre Aarding - + LED : LED : - + Déplacer dans : Verplaats in : - + Phase Fase - + Neutre Nul geleider - + Position automatique Automatisch positie - + Grouper les bornes Klemmen groeperen - + Degrouper les bornes Klemmen groep opheffen - + Ponter les bornes Plaats een brug op de klemmen - + Déponter les bornes Verwijder brug van de klemmen - + Localisation : - + Description - + Fonction : Functie : @@ -17173,32 +19565,32 @@ De overige velden worden niet gebruikt. Werkbalk - + Ajouter un bornier Een klem toevoegen - + Ajouter un bornier au projet Voeg een klem toe aan het project - + Supprimer le bornier Verwijder een klem - + Supprimer le bornier du projet Verwijder een klem uit het project - + Recharger Herladen - + Recharger les borniers Herlaad de klemmen @@ -17423,12 +19815,12 @@ De overige velden worden niet gebruikt. TerminalStripTreeDockWidget - + Projet sans titre Naamloos project - + Bornes indépendante Onafhankelijke klemmen @@ -17536,7 +19928,7 @@ De overige velden worden niet gebruikt. Downloaden - + Dossier installation Installeer de software @@ -17544,37 +19936,37 @@ De overige velden worden niet gebruikt. TitleBlockDimensionWidget - + Largeur : default dialog label Breedte: - + Absolu a traditional, absolute measure Absolut - + Relatif au total a percentage of the total width Relatief naar totaal - + Relatif au restant a percentage of what remains from the total width Relatief naar overblijvend - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column Px @@ -17583,30 +19975,31 @@ De overige velden worden niet gebruikt. TitleBlockPropertiesWidget - + Modèle par défaut Standaard sjabloon - + Éditer ce modèle menu entry Wijzig dit sjabloon - + Dupliquer et éditer ce modèle menu entry Copieren en bewerken model - + Title block templates actions Titel blok sjablonen acties - - + + + Créer un Folio Numérotation Auto Maak bladzijden aan met automatisch nummering @@ -17621,47 +20014,47 @@ De overige velden worden niet gebruikt. Vorm - + Folio : Pagina : - + Auteur : Auteur : - + Indice Rev: Revitie: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html> <head /> <body> <p> Beschikbaar als% plant voor etiket sjablonen </ p> </ body> </ html> - + Disponible en tant que %filename pour les modèles de cartouches Beschikbaar als %filename in de diversde titelhoeken bebruikt wordt - + Pas de date Zonder datum - + Date courante Huidige datum - + Appliquer la date actuelle Breng de huidige datum aan - + Principales Voornaamste @@ -17671,22 +20064,22 @@ De overige velden worden niet gebruikt. Etiket informatie - + Disponible en tant que %locmach pour les modèles de cartouches Beschikbaar als %locmach in de diverse titelhoeken te gebruiken - + Disponible en tant que %date pour les modèles de cartouches Beschikbaar als %date in de diverse titelhoeken te gebruiken - + Date fixe : Vaste datum : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17699,7 +20092,7 @@ De volgende variabelen kunnen gebruikt worden: - %autonum : automatische nummering voor schema bladzijden - + Titre : Titel : @@ -17709,52 +20102,52 @@ De volgende variabelen kunnen gebruikt worden: <html><head/><body><p>Titelhoek onderaan de bladzijde (horizontaal) of aan de rechter zijkant (vertikaal) van de schema bladzijde.</p></body></html> - + Fichier : Bestand : - + Date : Datum : - + Disponible en tant que %author pour les modèles de cartouches Beschikbaar als %author in de diversde titelhoeken bebruikt wordt - + Disponible en tant que %title pour les modèles de cartouches Beschikbaar als %title in de diversde titelhoeken bebruikt wordt - + Page Num: Bladzijde nummer: - + Installation : Installatie : - + Disponible en tant que %indexrev pour les modèles de cartouches Beschikbaar als %indexrev in de diverse titelhoeken te gebruiken - + Localisation: Locatie : - + Personnalisées Gebruiker - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. U kan hier uw eigen namen/verwijzingen / waarden voor de titelhoek definiëren. Voorbeeld: associëren de naam "volta" en de waarde "1745" vervangt % {volta} door 1745 in de titelhoek. @@ -17763,13 +20156,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18273,50 +20666,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title Onderdeel 1 - + Borne 1 column title Klem 1 - + Composant 2 column title Onderdeel 2 - + Borne 2 column title Klem 2 - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18325,7 +20718,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18337,96 +20730,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Fout - + Impossible de lire la structure en mémoire du projet. Het is niet mogelijk om de geheugenstructuur van het project te lezen. - + Exporter le plan de câblage Exporteer het bedradingsschema - + Fichiers CSV (*.csv) CSV-bestanden (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Het bestand kan niet worden geopend om erin te schrijven. - + Page Wiring list CSV header Pagina - + Composant 1 Wiring list CSV header Onderdeel 1 - + Borne 1 Wiring list CSV header Klem 1 - + Composant 2 Wiring list CSV header Onderdeel 2 - + Borne 2 Wiring list CSV header Klem 2 - + Tension / Protocole Wiring list CSV header Spanning / regels - + Couleur du fil Wiring list CSV header Kleur geleider - + Section du fil Wiring list CSV header Sectie van de geleider - + Fonction Wiring list CSV header Functie - + + Câble + Wiring list CSV header + Kabel + + + Export réussi Succesvolle export - + Le plan de câblage a été exporté avec succès ! Het bedradingsschema is succesvol geëxporteerd! + + WiringRulesWarning + + + Avertissement + Aankondiging + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18641,27 +21053,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Exporteer de interne projectdatabase - + sans_nom Zonder naam @@ -18669,7 +21081,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Tekst Kleur @@ -18677,7 +21089,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Invoegen HTML entitieit @@ -18685,27 +21097,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Bewerk tekst - + Rich Text Tekst met opmaak - + Source Bron - + &OK &OK - + &Cancel &Afbreken @@ -18713,69 +21125,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Dik - - - + + + Éditeur de texte Teksteditor - + Texte en italique Cursief - + Texte souligé Onderstreep - + Left Align Links lijnen - + Center Midden lijnen - + Right Align Rechts lijnen - + Justify Lijnen - + Superscript Superscript (hoog) - + Subscript Subscript(laag) - + Insérer un lien Toevoegen lijn - + Insert &Image Toevoegen afbeelding &i - + Simplify Rich Text Vereenvoudig "Rich" tekst diff --git a/lang/qet_nl_NL.ts b/lang/qet_nl_NL.ts index 6614d4f5a..36b52affe 100644 --- a/lang/qet_nl_NL.ts +++ b/lang/qet_nl_NL.ts @@ -2951,7 +2951,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément diff --git a/lang/qet_no.ts b/lang/qet_no.ts index e308d461f..d4fa320cd 100644 --- a/lang/qet_no.ts +++ b/lang/qet_no.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1026,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1107,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1174,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1205,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1214,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1229,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -994,7 +1304,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1012,13 +1322,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1027,24 +1337,33 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1063,6 +1382,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte @@ -1138,27 +1458,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : - + cable - + bus - + Apparence - + Taille : @@ -1169,6 +1489,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1183,114 +1504,131 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Unifilaire - - + + Nombre de phase - + Neutre - + neutre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Terre - + terre - + TextLabel - - + + Style du conducteur - + Couleur du conducteur - + Couleur secondaire : - + Taille de trait : - + px - - + + Couleur : - + Style : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1312,128 +1650,152 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1463,27 +1825,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1491,7 +1853,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1631,7 +1993,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1648,262 +2010,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1911,7 +2341,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1920,12 +2350,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1934,78 +2364,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur @@ -2023,7 +2459,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2031,42 +2467,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2074,17 +2510,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2103,30 +2539,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2338,21 +2774,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2451,64 +2887,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2516,32 +2952,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2549,12 +2985,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2595,153 +3031,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content - + Sélection inexistante message box title - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content @@ -2765,12 +3274,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2788,104 +3303,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2901,8 +3526,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2985,8 +3610,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3016,302 +3641,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3325,7 +3950,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3452,249 +4077,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3702,29 +4327,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3732,101 +4357,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3835,122 +4460,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3966,43 +4591,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4010,7 +4635,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4018,32 +4643,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4113,124 +4738,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4276,7 +4901,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4285,102 +4910,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4644,63 +5269,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4708,27 +5343,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4751,22 +5386,22 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets @@ -4781,74 +5416,75 @@ that you create. Text and number inputs are - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company @@ -4863,485 +5499,698 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - - Répertoire des cartouches company + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) - - Répertoire de la collection utilisateur + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. - - Répertoire des Macros utilisateur + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection - - Répertoire des cartouches utilisateur - - - - - (Recharger les collections d'éléments pour appliquer les changements) - - - - - Gestion des éléments - - - - - Mettre en valeur dans le panel les éléments fraîchement intégrés + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Répertoire des cartouches company + + + + + Répertoire de la collection utilisateur + + + + + Répertoire des Macros utilisateur + + + + + Répertoire des cartouches utilisateur + + + + + (Recharger les collections d'éléments pour appliquer les changements) + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + + Gestion des éléments + + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés + + + + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + min: - + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + max: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5396,7 +6245,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5629,42 +6478,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour choisir une couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. @@ -5835,28 +6684,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6099,6 +6948,96 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6140,7 +7079,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6250,7 +7189,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6260,6 +7199,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6309,10 +7400,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6322,7 +7418,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6350,7 +7446,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6408,13 +7504,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6689,13 +7785,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6755,25 +7851,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6781,32 +7895,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6912,12 +8026,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6969,54 +8083,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7024,23 +8138,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7048,10 +8162,107 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7060,142 +8271,334 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7203,12 +8606,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7216,50 +8619,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7303,137 +8790,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7610,245 +9097,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7859,31 +9382,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7892,1114 +9415,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Imprimer - + &Quitter - + Annuler - + Refaire - + Co&uper - + Cop&ier - + C&oller - + Réinitialiser les conducteurs - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher les guides - + Affiche ou masque les guides - + Propriétés du folio - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Ajouter un sommaire - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - + en utilisant des onglets - + en utilisant des fenêtres - + Mode Selection - + Mode Visualisation - + &Mosaïque - + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + &Cascade - + Projet suivant - + Projet précédent - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter une polyligne - + Exporte le folio courant dans un autre format status bar tip - + Imprime un ou plusieurs folios du projet courant status bar tip - + Ferme l'application QElectroTech status bar tip - + Annule l'action précédente status bar tip - + Restaure l'action annulée status bar tip - + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + Présente les différents projets ouverts des onglets status bar tip - + Permet de sélectionner les éléments status bar tip - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Dispose les fenêtres en mosaïque status bar tip - + Projets dock title - + Collections - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Exporter au format CSV - + Ajouter une nomenclature - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Dispose les fenêtres en cascade status bar tip - + Active le projet suivant status bar tip - + Active le projet précédent status bar tip - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter une ligne Draw line - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9008,7 +10756,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9017,42 +10765,82 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9060,100 +10848,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9161,7 +10949,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9169,7 +10957,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9177,18 +10965,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9197,13 +10985,111 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 @@ -9211,47 +11097,47 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Exporter en SVG - + Recharger - + Tout sélectionner @@ -9261,350 +11147,352 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + importer un élément à redimensionner - + Importer un dxf - + Inverser la sélection - + &Fermer cet éditeur - + Fermer cet éditeur - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Annuler - + Refaire - + Profondeur toolbar title - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Parties toolbar title - + &Fichier - + &Édition - + Afficha&ge - + Coller depuis... - + [Modifié] window title tag - + [lecture seule] window title tag - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + Aucune modification - + Éditeur d'éléments status bar message - - + + %n partie(s) sélectionnée(s). @@ -9612,35 +11500,35 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9649,109 +11537,132 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Le fichier %1 n'existe pas. message box content - + Afficher menu entry - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - + Impossible d'enregistrer l'élément message box content - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne + + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + - + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + %n avertissement(s) warnings @@ -9760,166 +11671,197 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - - - - + + + + Élément inexistant. message box title - - + + L'élément n'existe pas. message box content - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content @@ -9928,137 +11870,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10067,52 +12044,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10120,55 +12097,55 @@ Voulez-vous continuer ? - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> - + Une erreur s'est produite durant l'intégration du modèle. error message - + Avertissement message box title @@ -10549,44 +12526,44 @@ Que désirez vous faire ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content @@ -10598,7 +12575,7 @@ Que désirez vous faire ? - + modifier les dimensions du folio undo caption @@ -10615,6 +12592,7 @@ Que désirez vous faire ? + Titre @@ -10911,35 +12889,35 @@ Que désirez vous faire ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -10947,9 +12925,9 @@ Que désirez vous faire ? - - - + + + Fonction @@ -11310,37 +13288,37 @@ Que désirez vous faire ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11349,7 +13327,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11358,7 +13336,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11367,7 +13345,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11376,7 +13354,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11385,7 +13363,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11394,7 +13372,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11403,7 +13381,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11412,85 +13390,85 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. - + Borne tooltip @@ -11646,6 +13624,7 @@ Que désirez vous faire ? + Modifier les informations de l'élément : %1 @@ -11675,15 +13654,15 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code @@ -11694,12 +13673,12 @@ Que désirez vous faire ? - + Importer un fichier dxf - + Ouvrir un element @@ -11709,38 +13688,38 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11754,8 +13733,13 @@ Que désirez vous faire ? Collection + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11907,22 +13891,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin @@ -11932,22 +13916,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -11992,7 +13976,7 @@ Voulez-vous la remplacer ? - + %p% effectué (%v sur %m) @@ -12054,7 +14038,7 @@ Voulez-vous la remplacer ? - + %n texte(s) @@ -12062,19 +14046,19 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs @@ -12191,7 +14175,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12238,7 +14222,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12247,8 +14231,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12377,98 +14361,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12476,6 +14473,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12495,369 +14533,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape - + une ligne - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en courbe de Bézier - + Convertir en polyligne - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe @@ -12939,7 +15038,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -12947,31 +15046,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -12995,9 +15138,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13117,97 +15260,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13216,7 +15359,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13258,10 +15401,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13321,7 +15464,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13330,38 +15473,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13392,6 +15535,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13430,185 +15752,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13636,53 +15958,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13699,13 +16041,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13727,13 +16069,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13754,6 +16096,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16143,12 +18495,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16158,6 +18510,18 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16512,123 +18876,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Type : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16656,32 +19020,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16911,12 +19275,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17019,7 +19383,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17027,37 +19391,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17081,57 +19445,57 @@ Les autres champs ne sont pas utilisés. - + Principales - + Auteur : - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Date : - + Fichier : - + Disponible en tant que %title pour les modèles de cartouches - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17140,57 +19504,57 @@ Les variables suivantes sont utilisables : - + Titre : - + Disponible en tant que %author pour les modèles de cartouches - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Folio : - + Disponible en tant que %filename pour les modèles de cartouches - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: @@ -17200,41 +19564,42 @@ Les variables suivantes sont utilisables : - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Dupliquer et éditer ce modèle menu entry - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut - + Éditer ce modèle menu entry - + Title block templates actions @@ -17242,13 +19607,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17745,50 +20110,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17797,7 +20162,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17809,95 +20174,114 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Export réussi - + Le plan de câblage a été exporté avec succès ! - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header + + + Câble + Wiring list CSV header + + + + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + XRefPropertiesWidget @@ -18106,27 +20490,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18134,7 +20518,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18142,7 +20526,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18150,27 +20534,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18178,69 +20562,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - + Texte en italique - + Texte souligé - - - + + + Éditeur de texte - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_pl.ts b/lang/qet_pl.ts index 1cd5b743a..827d0c394 100644 --- a/lang/qet_pl.ts +++ b/lang/qet_pl.ts @@ -54,272 +54,272 @@ log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, aplikacja do tworzenia schematów elektrycznych. - + Les développeurs de QElectroTech about tab, developers line Programiści QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kontakt: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Pomysłodawca - - + - - + + + Développement Rozwój - + Convertisseur DXF Konwersja do DXF - + Plugin Bornier Wtyczka listw zaciskowych - + Collection Kolekcja - + Traduction en espagnol Tłumaczenie na hiszpański - + Traduction en russe Tłumaczenie na rosyjski - + Traduction en portugais Tłumaczenie na portugalski - + Traduction en tchèque Tłumaczenie na czeski - + Traduction en polonais Tłumaczenie na polski - + Traduction en allemand Tłumaczenie na niemiecki - + Traduction en roumain Tłumaczenie na rumuński - + Traduction en italien Tłumaczenie na włoski - + Traduction en arabe Tłumaczenie na arabski - + Traduction en croate Tłumaczenie na chorwacki - + Traduction en catalan Tłumaczenie na kataloński - + Traduction en grec Tłumaczenie na grecki - + Traduction en néerlandais Tłumaczenie na holenderski - + Traduction en flamand Tłumaczenie na flamandzki - + Traduction en danois Tłumaczenie na duński - + Traduction en brézilien Tłumaczenie na brazylijski - + Traduction en Turc Tłumaczenie na turecki - + Traduction en hongrois Tłumaczenie na węgierski - + Traduction en serbe Tłumaczenie na serbski - + Traduction en japonais Tłumaczenie na japoński - + Traduction en coréen Tłumaczenie na koreański - + Traduction en mongol Tłumaczenie na mongolski - + Paquets Fedora et Red Hat Pakiety dla Fedory i Red Hata - + Paquets Mageia Pakiety dla Mageia - + Paquets Debian Pakiety dla Debiana - + Paquets Gentoo Pakiety dla Gentoo - + Paquets OS/2 Pakiety dla OS/2 - + Paquets FreeBSD Pakiety dla FreeBSD - + Paquets MAC OS X Pakiety dla MAC OS X - + Paquets Archlinux AUR Pakiety dla Archlinux AUR - + Icônes Ikony - + Documentation Dokumentacja - + Collection d'éléments Kolekcja elementów - + Redimensionneur d'éléments Element scaler Zmiana rozmiaru elementu - + Convertisseur d'élément DXF Dxf2elmt Konwersja elementu do DXF - + Outil de traduction d'éléments Qet_translate Narzędzie do tłumaczenia nazw elementów - + Paquets Snap Pakiety Snap - + Traduction en ukrainien Tłumaczenie na ukraiński - + Traduction en norvégien Tłumaczenie na norweski - + Traduction en slovène Tłumaczenie na słoweński - + Générateur d'élément lambda Lambda element generator Generator elementów lambda @@ -428,18 +428,18 @@ Konfiguracja - + Contenu Zawartość - + Sélectionner la police des en tête du tableau niepewne Wybierz atrybuty nagłówka tabeli - + Sélectionner la police des cellules du tableau niepewne Wybierz atrybuty komórek tabeli @@ -458,6 +458,134 @@ Dodaj następujący plan listw zaciskowych: + + AiAssistantDialog + + + Connecter un assistant IA + Połącz asystenta AI + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + Asystent AI (Claude, GitHub Copilot, Gemini…) może otwierać, sprawdzać i modyfikować Twoje schematy dzięki serwerowi MCP programu QElectroTech, który działa na tym komputerze. Skopiuj poniższy tekst do konfiguracji swojego asystenta. <a href="%1">Szczegółowy przewodnik</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>Serwer MCP nie jest zainstalowany w tej wersji QElectroTech.</b> Przewodnik wyjaśnia, jak go uzyskać. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>Python może nie być zainstalowany.</b> Znaleziono tylko skrót „python” ze sklepu Microsoft Store: bez Pythona otwiera on sklep zamiast uruchomić serwer. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>Nie znaleziono Pythona na tym komputerze</b> (polecenie „%1”). Serwer go potrzebuje. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Uruchom ponownie instalator QElectroTech i zaznacz „Python dla asystenta AI” lub zainstaluj Pythona ze strony python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Zainstaluj Pythona 3 za pomocą menedżera pakietów swojego systemu. + + + + Assistant : + Asystent: + + + + Le dossier de vos schémas + Folder Twoich schematów + + + + Parcourir… + Przeglądaj… + + + + Dossier accessible : + Dostępny folder: + + + + Autoriser l'assistant à modifier les schémas + Zezwól asystentowi na modyfikowanie schematów + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + Asystent może czytać i zapisywać tylko w tym folderze. Bez zezwolenia na modyfikacje może jedynie czytać, porównywać i eksportować. Asystent czyta tekst projektów (oznaczenia, notatki…): tekst napisany jak instrukcja może na niego wpłynąć. Pozostaw modyfikacje wyłączone dla schematów otrzymanych od innych osób. + + + + Copier + Kopiuj + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + Jeśli plik zawiera już inne serwery, dodaj tylko wpis „qet”. + + + + Choisissez d'abord le dossier de vos schémas. + Najpierw wybierz folder swoich schematów. + + + + Dossier accessible à l'assistant + Folder dostępny dla asystenta + + + + Copié + Skopiowano + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + W Claude Desktop: Ustawienia → Deweloper → Edytuj konfigurację. Następnie zamknij i uruchom ponownie Claude. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Zapisz go pod nazwą .mcp.json w folderze swoich schematów. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Zapisz go pod nazwą .vscode/mcp.json w folderze otwartym w VS Code. Copilot używa narzędzi w trybie agenta. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Dodaj go do pliku .cursor/mcp.json w swoim folderze domowym. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Dodaj go do pliku .gemini/settings.json w swoim folderze domowym. Gemini CLI przy pierwszym uruchomieniu prosi o zaufanie folderowi. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Dodaj go do pliku .codex/config.toml w swoim folderze domowym. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + W LM Studio: zakładka Program → Install → Edit mcp.json. + + AlignmentTextDialog @@ -499,6 +627,39 @@ Kąt: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Nazwa numeracji nie może być pusta. + + + + Une numérotation nommée « %1 » existe déjà. + Numeracja o nazwie „%1” już istnieje. + + + + Créer la numérotation %1 + Utwórz numerację %1 + + + + Renommer la numérotation %1 en %2 + Zmień nazwę numeracji %1 na %2 + + + + Modifier la numérotation %1 + Zmień numerację %1 + + + + Supprimer la numérotation %1 + Usuń numerację %1 + + AutoNumberingDockWidget @@ -523,49 +684,49 @@ - - + + Réinitialiser à la valeur de départ Przywróć wartość początkową - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Aktualna wartość licznika. Wprowadź nową wartość i zatwierdź aby ją zmienić. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Inkrementacja: wartość dodawana do licznika przy każdym nowym numerze - - - + + + Prochaine valeur qui sera appliquée avec cet incrément Następna wartość, która zostanie zastosowana z tym przyrostem - + Element Element - + Conducteur Przewód - + Configurer les règles d'auto numérotation Konfiguracja automatycznej numeracji - + Configurer Konfiguracja @@ -575,10 +736,92 @@ Arkusz - + + + Appliquer cette numérotation aux éléments sélectionnés + Zastosuj tę numerację do zaznaczonych elementów + + + + Appliquer la numérotation + Zastosuj numerację + + + + Choisissez une numérotation d'éléments du projet. + Wybierz numerację elementów projektu. + + + + Sélectionnez d'abord des éléments dans le folio. + Najpierw zaznacz elementy na arkuszu. + + + + (figé) + (zablokowany) + + + + (autre numérotation) + (inna numeracja) + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + Nic do zastosowania: zaznaczone elementy już stosują numerację „%1” lub biorą nazwę od innego elementu. + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + %n element otrzyma numerację „%1”, w kolejności arkuszy i pozycji. + %n elementy otrzymają numerację „%1”, w kolejności arkuszy i pozycji. + %n elementów otrzyma numerację „%1”, w kolejności arkuszy i pozycji. + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + Żaden element nie może otrzymać numeracji „%1” bez zastąpienia tego, co już ma. + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + Zastąp także %n element pozostawiony bez zmian + Zastąp także %n elementy pozostawione bez zmian + Zastąp także %n elementów pozostawionych bez zmian + + + + + %n élément(s) numérotés. + + Ponumerowano %n element. + Ponumerowano %n elementy. + Ponumerowano %n elementów. + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + %n zaznaczony element pozostał bez zmian. + %n zaznaczone elementy pozostały bez zmian. + %n zaznaczonych elementów pozostało bez zmian. + + + + Autonumérotation Automatyczna numeracja + + + Sélectionnez d'abord des éléments dans le folio + Najpierw zaznacz elementy na arkuszu + AutoNumberingManagementW @@ -667,7 +910,7 @@ Renumber element(s)… - + Przenumeruj elementy… @@ -680,28 +923,82 @@ Istniejące - + Under Development Projektowany - + Installing Wykonawczy - + Built Powykonawczy - + + + + + Renuméroter les éléments + Przenumeruj elementy + + + + Renuméroter les éléments (%1) + Przenumeruj elementy (%1) + + + + Aucun élément ne suit cette numérotation. + Żaden element nie stosuje tej numeracji. + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + %n element stosujący tę numerację ma zablokowaną nazwę: nic nie zostało przenumerowane. + %n elementy stosujące tę numerację mają zablokowane nazwy: nic nie zostało przenumerowane. + %n elementów stosujących tę numerację ma zablokowane nazwy: nic nie zostało przenumerowane. + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + %n element zostanie przenumerowany od pierwszego numeru, w kolejności arkuszy i pozycji. + %n elementy zostaną przenumerowane od pierwszego numeru, w kolejności arkuszy i pozycji. + %n elementów zostanie przenumerowanych od pierwszego numeru, w kolejności arkuszy i pozycji. + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + Przenumerowano %n element, w tym %1 z nową nazwą. + Przenumerowano %n elementy, w tym %1 z nową nazwą. + Przenumerowano %n elementów, w tym %1 z nową nazwą. + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + %n element z zablokowaną nazwą nie został zmieniony, a jego numer nie został przydzielony ponownie. + %n elementy z zablokowaną nazwą nie zostały zmienione, a ich numery nie zostały przydzielone ponownie. + %n elementów z zablokowaną nazwą nie zostało zmienionych, a ich numery nie zostały przydzielone ponownie. + + + + Auto Numbering Management title window Zarządzanie automatyczną numeracją - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -739,47 +1036,59 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Formatuj jako listę materiałów - + + Bornes sans repère, désignation, fabricant ni référence fabricant + Zaciski bez oznaczenia, opisu, producenta i numeru katalogowego producenta + + + + Laisser de côté les jonctions + Pomiń węzły połączeń + + + Aperçu Podgląd - + nomenclature_ oznaczenia_ - + Enregister sous... Zapisz jako... - + Fichiers csv (*.csv) Plik csv (*.csv) - - + + Erreur Błąd - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Nie można zapisać spisu elementów w %1. +%2 - + Requête refusée - + Zapytanie odrzucone - + Erreur dans la requête : %1 - + Błąd w zapytaniu: +%1 Impossible de remplacer le fichier! @@ -790,17 +1099,17 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust - + Position Pozycja - + Position du folio Pozycja arkusza - + Quantité numéro d'article Special field with name : designation quantity tłumaczenie niepewne @@ -834,6 +1143,27 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Nie + + BackupRestoreDialog + + + Fichiers de restauration + window title + Pliki odzyskiwania + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Znaleziono pliki odzyskiwania,<br>czy chcesz je otworzyć?</b><br>Dla projektu z kilkoma wersjami odzyskiwania domyślnie wybrana jest najnowsza. + + + + %1 (la plus récente) + recovery generation label + %1 (najnowsza) + + BorderPropertiesWidget @@ -855,6 +1185,16 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Colonnes : Kolumny: + + + Format : + Format: + + + + Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF. + Ustawia kolumny i wiersze tak, aby arkusz wraz z tabliczką rysunkową miał rozmiar tego formatu papieru, przy 96 punktach na cal, jak przy eksporcie PDF. + @@ -876,11 +1216,26 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Dimensions du folio Rozmiar arkusza + + + Personnalisé + Niestandardowy + + + + Paysage + Poziomo + + + + Portrait + Pionowo + ClickableImageLabel - + Cliquez pour choisir une couleur Kliknij, aby wybrać kolor @@ -890,12 +1245,12 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Rechercher une commande… - + Szukaj polecenia… Entrée pour lancer · Échap pour fermer - + Enter, aby uruchomić · Esc, aby zamknąć @@ -911,8 +1266,8 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Wstaw zmienną: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Wprowadź swój zestawiony tekst tutaj, udostępniając zmienne @@ -920,13 +1275,13 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Conductor - + Modifier les propriétés d'un conducteur undo caption zmiana właściwości przewodu - + Modifier les propriétés de plusieurs conducteurs undo caption zmiana właściwości wielu przewodów @@ -935,85 +1290,85 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust ConductorColorToolButton - + Noir - + Czarny - + Marron Brązowy - + Gris Szary - - - Bleu - - - Vert - + Bleu + Niebieski - Rouge - + Vert + Zielony + Rouge + Czerwony + + + Orange Pomarańczowy - + Violet Fioletowy - + Blanc - - - - - Couleur de conducteur - + Biały + Couleur de conducteur + Kolor przewodu + + + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Stosuje kolor do zaznaczonych przewodów i używa go dla kolejnych rysowanych przewodów - + Récemment utilisées - + Ostatnio używane - + Autre couleur… - + Inny kolor… - + Modifier la couleur de %n conducteur(s) undo caption - - - - + + Zmiana koloru %n przewodu + Zmiana koloru %n przewodów + Zmiana koloru %n przewodów - + Choisir une couleur de conducteur - + Wybierz kolor przewodu @@ -1029,13 +1384,13 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Zastosuj właściwości do wszystkich połączeń tego potencjału - + Modifier les propriétés d'un conducteur undo caption zmiana właściwości jednego przewodu - + Modifier les propriétés de plusieurs conducteurs undo caption zmiana właściwości wielu przewodów @@ -1044,24 +1399,34 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Zastosuj właściwości do wszystkich połączeń tego potencjału - - - Modifier les propriétés d'un conducteur - undo caption - + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + Zaznaczono %n przewód: zastosowane zostaną tylko zmienione pola. + Zaznaczono %n przewody: zastosowane zostaną tylko zmienione pola. + Zaznaczono %n przewodów: zastosowane zostaną tylko zmienione pola. + - + + Modifier les propriétés d'un conducteur + undo caption + Zmiana właściwości przewodu + + + Modifier les propriétés de plusieurs conducteurs undo caption zmiana właściwości wielu przewodów - + Conducteur Przewód @@ -1090,12 +1455,13 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust + Texte Tekst - - + + Unifilaire Jednoliniowy @@ -1111,6 +1477,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust + Texte visible Tekst widoczny @@ -1150,35 +1517,53 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Położenie i obrót tekstu przewodu: - + phase fazowy - + + Plusieurs valeurs + several conductors, different values + Różne wartości + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Zaznaczono kilka przewodów: tekst można zmieniać tylko w jednym przewodzie naraz. + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Tekst widoczny +Zablokowane przez opcję „Pokaż jeden tekst potencjału na arkusz” tego arkusza, we właściwościach arkusza. + + + Trait plein conductor style: solid line Ciągła - + Trait en pointillés conductor style: dashed line Kreskowa - + Traits et points conductor style: dashed and dotted line Kreskowo-kropkowa - + terre ochronny - + neutre neutralny @@ -1188,7 +1573,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Forma - + Formule du texte : Formuła tekstu: @@ -1219,96 +1604,96 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Przekrój przewodu - + cable Przewód - + bus Szyna - - + + Nombre de phase Ilość przewodów fazowych - + Neutre Neutralny - + Phase Fazowy - + Protective Earth Neutral Ochronno-neutralny - + PEN PEN - + Terre Ochronny - + TextLabel Etykieta - + Taille : Rozmiar: - - + + Style du conducteur Typ przewodu - + Couleur secondaire : Drugi kolor: - + px px - + Taille de trait : Rozmiar linii: - + Couleur du conducteur Kolor przewodu - + Apparence Wygląd - - + + Couleur : Kolor: - + Style : Typ: @@ -1329,130 +1714,158 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Wybierz grupę zestyków - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Wybierz grupę zestyków, którą chcesz przypisać do tego elementu podrzędnego: - + # # - + Type Typ - + Sous-type Podtyp - + Contacts Zestyki - + Bornes Zaciski - - + + T%1 T%1 - + (déjà assigné) niepewne (już przypisany) - + (état ne correspond pas) (stan jest niezgodny) - + (sous-type ne correspond pas) (podtyp jest niezgodny) - + (nombre de contacts ne correspond pas) (liczba zestyków jest niezgodna) - + OK OK - + Annuler Cofnij - + Normalement ouvert Zwierny - + Normalement fermé Rozwierny - + Inverseur Przełączny - + Autre niepewne Inny - - + + Inconnu Nieznany - + Simple Nieokreślona - + Puissance Obwody główne - + Temporisé travail Opóźnienie przy wzbudzeniu - + Temporisé repos Opóźnienie przy odwzbudzeniu - + Temporisé travail & repos Opuźnienie przy wzbudzeniu & i odwzbudzeniu + + CounterWarning + + + Compteur de la numérotation + Licznik numeracji + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + Następnym numerem byłby %1, ale %n element numeracji „%2” ma już numer równy lub wyższy (do %3). + Następnym numerem byłby %1, ale %n elementy numeracji „%2” mają już numer równy lub wyższy (do %3). + Następnym numerem byłby %1, ale %n elementów numeracji „%2” ma już numer równy lub wyższy (do %3). + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + +Nowe elementy pominą zajęte numery: niekoniecznie otrzymają numery począwszy od %1. + +Kontynuować? + + CustomElementGraphicPart @@ -1479,30 +1892,39 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Usuń właściwości + + CustomizeDialog + + + Personnaliser + window title + Dostosuj + + DiagnosticsReportDialog - + Enregistrer... Zapisz... - + Enregistrer le rapport de diagnostic Zapisz raport diagnostyczny - + Fichiers texte (*.txt);;Tous les fichiers (*) Pliki tekstowe (*.txt);;Wszystkie pliki (*) - + Erreur Błąd - + Impossible d'écrire dans le fichier « %1 ». Nie można zapisać pliku « %1 ». @@ -1510,7 +1932,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Diagram - + Modifier la profondeur Zmiana głębokości @@ -1520,12 +1942,12 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Blanc - + Biały Blanc cassé - + Złamana biel @@ -1540,43 +1962,44 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Gris foncé - + Ciemnoszary Noir - + Czarny + Couleur de fond du folio - + Kolor tła arkusza Choisir la couleur de fond du folio status bar tip - + Wybierz kolor tła arkusza Couleur système - + Kolor systemowy Récemment utilisées - + Ostatnio używane Autre couleur… - + Inny kolor… Choisir une couleur de fond - + Wybierz kolor tła @@ -1650,10 +2073,10 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste - + Kliknij, aby umieścić wklejane obiekty, Esc lub prawy przycisk, aby anulować @@ -1667,222 +2090,290 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Kliknięcie lewym przyciskiem myszy: ustaw punkt początkowy (Ctrl = pozycja swobodna) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Lewy przycisk: ustaw jeden koniec łuku (Ctrl = pozycja swobodna) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) niepewne Kliknięcie lewym przyciskiem myszy: umieść pierwszy narożnik (Ctrl = punkt środkowy, pozycja swobodna) - + Clic gauche : positionner le premier point (Ctrl = position libre) Kliknięcie lewym przyciskiem myszy: ustaw pierwszy punkt (Ctrl = pozycja swobodna) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Kliknięcie lewym przyciskiem myszy: ustaw punkt końcowy (Ctrl = pozycja swobodna); kliknięcie prawym przyciskiem myszy: anuluj - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Kliknięcie lewym przyciskiem myszy: umieść przeciwległy narożnik (Shift = kwadrat, Ctrl = od środka + pozycja swobodna, Ctrl+Shift = kwadrat wycentrowany); kliknięcie prawym przyciskiem myszy: anuluj - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Lewy przycisk: ustaw drugi koniec i wysokość łuku (Shift = półokrąg, Ctrl = pozycja swobodna); prawy przycisk: anuluj + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Kliknięcie lewym przyciskiem myszy: umieść przeciwległy narożnik (Shift = okrąg, Ctrl = od środka + pozycja swobodna, Ctrl+Shift = okrąg wycentrowany); kliknięcie prawym przyciskiem myszy: anuluj - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Kliknięcie lewym przyciskiem myszy: następny punkt; dwukrotne kliknięcie lub Enter: zakończ; kliknięcie prawym przyciskiem myszy: anuluj ostatni punkt + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + Brak linii w tym miejscu: kliknij linię narysowaną na arkuszu + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Kliknij drugą linię; prawy przycisk: anuluj + + + + Cliquez sur une autre ligne ; clic droit : annuler + Kliknij inną linię; prawy przycisk: anuluj + + + + Ces deux lignes sont parallèles : pas de congé possible + Te dwie linie są równoległe: zaokrąglenie niemożliwe + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + Jedna z linii kończy się w narożniku: nie ma czego zaokrąglać z tej strony + + + + Ces deux lignes sont presque alignées : pas de congé possible + Te dwie linie są prawie współliniowe: zaokrąglenie niemożliwe + + + + Congé + Zaokrąglenie + + + + Rayon : + Promień: + + + + Rayon trop grand pour ces lignes (%1 au plus) + Promień za duży dla tych linii (najwyżej %1) + + + + Ajouter un congé + Dodaj zaokrąglenie + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Zaokrąglenie: kliknij dwie linie lub raz w miejscu, gdzie się łączą; Esc lub prawy przycisk: zakończ + + DiagramImageItem - + redimensionner niepewne zmiana rozmiaru - + pivoter/incliner obrót/pochylenie - + Cliquer : mode %1 Kliknięcie: tryb %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Przeciągnij narożnik/krawędź: zmień rozmiar (Ctrl = od środka, Shift = zachowaj proporcje) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Przeciągnij narożnik: obróć (Shift = co 15°); przeciągnij krawędź: nachyl (Shift = co 15°); czerwony punkt: przesuń środek obrotu - + -- %1 : mode %2 -- %1: tryb %2 - + Cliquer Kliknięcie - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Przeciągnij: zmień rozmiar (Shift = zachowaj proporcje, Ctrl = od środka) - + Glisser : pivoter (Maj = par pas de 15°) Przeciągnij: obróć (Shift = co 15°) - + Glisser : incliner (Maj = par pas de 15°) Przeciągnij: nachyl (Shift = co 15°) - + Glisser : déplacer le centre de rotation Przeciągnij: przesuń środek obrotu - + Redimensionner une image - + Zmiana rozmiaru obrazu - + Faire pivoter une image - + Obrót obrazu - + Incliner une image - + Pochylenie obrazu - + Déplacer le centre de rotation d'une image Przesuń środek obrotu obrazu - + Modifier une image niepewne Zmiana obrazu - + Restaurer les proportions d'une image Przywróć proporcje obrazu - - + + Enregistrer l'image sous... - + Zapisz obraz jako... - - + + Enregistrer l'image d'origine sous... - + Zapisz oryginalny obraz jako... - + Image PNG (*.png) - + Obraz PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Obraz JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Obraz BMP (*.bmp) - + Image SVG (*.svg) Obraz SVG (*.svg) - + Tous les fichiers (*) - + Wszystkie pliki (*) - + Transparence non conservée - + Przezroczystość nie zostanie zachowana - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Ten format nie obsługuje przezroczystości: obraz zostanie zapisany w postaci sprzed zastosowania koloru przezroczystego. Kontynuować? - + Échec de l'enregistrement - + Zapis nie powiódł się - + Impossible d'enregistrer l'image à cet emplacement. - + Nie można zapisać obrazu w tej lokalizacji. - + une image obraz - + Remplacer l'image... niepewne Zastąp obraz... - + Couleur transparente... Kolor przezroczysty... - + Rogner... niepewne Przytnij... - + Miroir horizontal Odbij poziomo - + Miroir vertical Odbij pionowo - + Restaurer les proportions Przywróć właściwości @@ -1891,47 +2382,47 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Właściwości... - + Selectionner une image... Wybierz obraz... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Pliki obrazów (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Błąd - + Impossible de charger l'image. Nie można załadować obrazu. - + Remplacer une image Zastąp obraz - + Miroir horizontal d'une image Odbicie poziome obrazu - + Miroir vertical d'une image Odbicie pionowe obrazu - + Définir une couleur transparente Ustaw kolor przezroczysty - + Rogner une image Przytnij obraz @@ -1939,7 +2430,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DiagramPropertiesDialog - + Propriétés du folio window title Właściwości arkusza @@ -1948,73 +2439,102 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DiagramTextItem - + Maintenir ctrl pour un déplacement libre Przytrzymaj Ctrl aby dowolnie zmieniać pozycję - + <Shift> to move <Shift> przesuń + + DiagramToolbarSettings + + + Taille des poignées + Rozmiar uchwytów + + + + Grille des textes + Siatka tekstów + + + + Couleur de fond du folio + Kolor tła arkusza + + + + Couleur des conducteurs + Kolor przewodów + + DiagramView - + Coller ici context menu action Wklej tutaj - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Obszar do tworzenia schematów, poprzez wstawienie elementów i przyłączenie przewodów. Możliwe jest również niezależne wstawianie tekstów. - + Collage multiple niepewne Kopiuj wielokrotnie - + Créer un template context menu action Utwórz szablon - - Renvoi de folio - + + Générer une vignette d'armoire + context menu action + Generuj miniaturę szafy - + + Renvoi de folio + Odsyłacz arkusza + + + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Połącz wybrane zaciski - + Sans titre what to display for untitled diagrams Bez tytułu - + Modèle enregistré niepewne Zapisz szablon - + Le modèle a été enregistré avec succès sous : %1 niepewne @@ -2022,22 +2542,22 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust %1 - + Erreur Błąd - + Le fichier n'a pas pu être écrit. Nie można zapisać pliku. - + Choisir la nouvelle couleur de ce conducteur Wybierz nowy kolor przewodu - + Modifier les propriétés d'un conducteur undo caption zmiana właściwości przewodu @@ -2056,7 +2576,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Tytuł - + TextLabel Etykieta @@ -2064,62 +2584,62 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DuplicateOffsetDialog - + Dupliquer - - - - - pas de grille - + Powiel - Espacement : - + pas de grille + kroków siatki - + + Espacement : + Odstęp: + + + Haut Góra - + Bas Dół - + Gauche Lewo - + Droite Prawo - + Direction : - + Kierunek: DynamicElementTextItem - + Texte Tekst - + Éditer un texte d'élément Edytuj tekst elementu - + Redimensionner un texte d'élément - + Zmiana rozmiaru tekstu elementu @@ -2136,30 +2656,30 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust - - - - + + + + ... ... - + Importer une configuration de texte Importuj konfigurację tekstów - + Ajouter un texte Wstaw tekst - + Ajouter un groupe de textes Wstaw grupę tekstów - + Supprimer la sélection Usuń zaznaczone @@ -2331,21 +2851,21 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust - + Gauche Lewo - + Droite Prawo - + Centre Środek @@ -2413,7 +2933,7 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Forma - + Source du texte Żródło tekstu @@ -2438,23 +2958,23 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Informacja o elemencie - + Encadrer le texte Obramowanie tekstu - + Texte composé Tekst zestawiony - + Police Atrybuty - + X X @@ -2469,80 +2989,90 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Obrót wokół własnego środka - + + Auto + Auto + + + + px + px + + + Y Y - + Alignement Wyrównanie - + Rotation Obrót - - + + Déplacer un champ texte Przesunięcie pola tekstowego - + Pivoter un champ texte Obrót pola tekstowego - + Modifier le texte d'un champ texte Zmiana tekstu pola tekstowego - - + + Modifier la police d'un champ texte Zmiana atrybutów pola tekstowego - + Modifier la couleur d'un champ texte Zmiana koloru pola tekstowego - + Modifier la conservation de l'angle niepewne Zmiana zachowania kąta - + Modifier le point de rotation d'un champ texte Zmiana punktu obrotu pola tekstowego - + Modifier le cadre d'un champ texte Zmiana obramowania pola tekstowego - + Modifier la largeur d'un texte Zmiana szerokości tekstu elementu - + Modifier l'information d'un texte Zmiana informacji tekstu - + Modifier la source de texte, d'un texte Zmiana żródła tekstu dla tekstu - + Modifier l'alignement d'un champ texte Zmiana wyrównania pola tekstowego @@ -2550,32 +3080,32 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust DynamicTextItemDelegate - + Texte utilisateur Tekst użytkownika - + Information de l'élément Informacje o elemencie - + Texte composé Zestawienie tekstu - + Gauche Lewo - + Centre Środek - + Droite Prawo @@ -2583,14 +3113,14 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust EditorDelegate - + ex. 80.5 - + np. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) - + Liczba dziesiętna z kropką jako separatorem (np. 80.5) @@ -2630,123 +3160,196 @@ Uwaga: te opcje nie pozwalają na zablokowanie automatycznej numeracji tylko ust Element - + Numéroter automatiquement un élément undo caption niepewne Automatyczne numerowanie elementu + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + Nazwa numeracji nie może być pusta. + + + + Une numérotation nommée « %1 » existe déjà. + Numeracja o nazwie „%1” już istnieje. + + + + Cet élément n'est dans aucun folio. + Ten element nie znajduje się na żadnym arkuszu. + + + + Cet élément ne suit aucune numérotation. + Ten element nie stosuje żadnej numeracji. + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + Numeracja „%1” nie ma pojedynczego numeru: nie można wybrać go ręcznie. + + + + Le numéro doit être au moins 1. + Numer musi wynosić co najmniej 1. + + + + Le numéro %1 n'est pas libre. + Numer %1 nie jest wolny. + + + + Attribuer le numéro %1 + Przydziel numer %1 + + + + Appliquer la numérotation %1 + Zastosuj numerację %1 + + + + Numéroter les éléments collés (%1) + Numeruj wklejone elementy (%1) + + + + Créer la numérotation d'éléments %1 + Utwórz numerację elementów %1 + + + + Renommer la numérotation d'éléments %1 en %2 + Zmień nazwę numeracji elementów %1 na %2 + + + + Modifier la numérotation d'éléments %1 + Zmień numerację elementów %1 + + + + Supprimer la numérotation d'éléments %1 + Usuń numerację elementów %1 + + ElementDialog - + Ouvrir un élément dialog title Otwórz element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Wybierz element, który chcesz otworzyć. - + Enregistrer un élément dialog title Zapisz element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Wybierz element, który chcesz zdefiniować. - + Ouvrir une catégorie dialog title Otwórz kategorię - - + + Choisissez une catégorie. dialog content Wybierz kategorię. - + Enregistrer une catégorie dialog title Zapisz kategorię - + Enregistrer un template dialog title Zapisz szablon - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Wybierz lokalizację, w której chcesz zapisać szablon. - + Titre Tytuł - + Label Etykieta - + Nom du nouveau dossier Nazwa nowego katalogu - + Nom du nouveau template Nazwa nowego szablonu - + Écraser le template ? message box title Zastąpić szablon? - + Le template existe déjà. Voulez-vous l'écraser ? message box content Szablon już istnieje. Chcesz go zastąpić? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content niepewne Musisz wybrać element lub kategorię i nazwę dla elementu. - + Sélection inexistante message box title Zaznaczenie nieistniejącego elementu - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Nazwa pliku elementu - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2754,32 +3357,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elementu. - + La sélection n'existe pas. message box content Nie zaznaczono. - - + + Sélection incorrecte message box title Zaznaczenie nieprawidłowe - + La sélection n'est pas un élément. message box content Zaznaczenie nie jest elementem. - + Écraser l'élément ? message box title Zastąpić element? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Element już istnieje. Czy chcesz go zastąpić? @@ -2803,14 +3406,20 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Usuń tekst - - ex. 80.5 - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Wybierz artykuł z listy materiałów - + + ex. 80.5 + np. 80.5 + + + Nombre décimal avec un point comme séparateur (ex. 80.5) - + Liczba dziesiętna z kropką jako separatorem (np. 80.5) @@ -2826,106 +3435,224 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Wyklucz z automatycznego numerowania - + Informations Informacje - + Ajouter une propriété personnalisée Dodawanie właściwości niestandardowej - + Séparation de potentiel Separacja potencjałów - + Exclure de la nomenclature Wyklucz ze spisu elementów + + + Liste de matériaux absente + Brak listy materiałów + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + W tej lokalizacji nie ma pliku listy materiałów: +%1 + +Utworzyć go? + + + + Création impossible + Nie można utworzyć + + + + Impossible de créer le fichier : +%1 +%2 + Nie można utworzyć pliku: +%1 +%2 + + + + Numérotation automatique + Automatyczna numeracja + + + + … + … + + + + Ouvrir les numérotations d'éléments du projet + Otwórz numeracje elementów projektu + + + + Figer le nom + Zablokuj nazwę + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + Zablokowana nazwa nie jest zmieniana przez automatyczną numerację, a jej numer nie jest przydzielany innemu elementowi. + + + + Numéro + Numer + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + Proponowane są tylko wolne numery: element, który ma zachować swój rzeczywisty numer, może go odzyskać, jeśli nikt go nie ma. + + + + %1 (actuel) + %1 (bieżący) + + + + — (numéro inconnu) + — (numer nieznany) + + + + %1 → %2 + %1 → %2 + + + + Le nom est figé : dégelez-le pour changer son numéro. + Nazwa jest zablokowana: odblokuj ją, aby zmienić numer. + + + + Le numéro se choisit quand l'élément garde sa numérotation. + Numer można wybrać, gdy element zachowuje swoją numerację. + + + + Aucune (nom saisi à la main) + Brak (nazwa wpisana ręcznie) + + + + Formule propre : %1 + Własna formuła: %1 + + + + Nom figé + Zablokowana nazwa + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + Nazwa tego elementu jest zablokowana. +Zmiana jego numeracji zastąpi ją lub usunie. + +Kontynuować? + ElementPickerPopup - - + + Personnaliser la barre… - + Dostosuj pasek… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - - - - - Rechercher un élément… - - - - - Éléments : - + Przeciągaj polecenia i elementy do paska, poza pasek lub z miejsca na miejsce. Podwójne kliknięcie przenosi polecenie lub element z jednej listy do drugiej. + + Rechercher un élément… + Szukaj elementu… + + + + Éléments : + Elementy: + + + Valeurs par défaut - + Wartości domyślne - + Annuler - + Anuluj - + Terminé - + Gotowe - + Dans la barre : - + Na pasku: - + Autres commandes : - + Inne polecenia: - - - + + + Entrée pour insérer · Échap pour fermer - + Enter, aby wstawić · Esc, aby zamknąć - + Glisser pour changer la largeur de la barre - + Przeciągnij, aby zmienić szerokość paska - + Personnaliser la barre de raccourcis : %1 - + Dostosuj pasek skrótów: %1 - + Aucun résultat - + Brak wyników - + Tapez pour rechercher un élément · Échap pour fermer - + Wpisz, aby wyszukać element · Esc, aby zamknąć - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher - + Paleta pusta — przeciągnij elementy do swojej kolekcji osobistej lub wpisz, aby wyszukać @@ -2939,8 +3666,8 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen - - + + Type Typ @@ -2954,7 +3681,7 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen margin: 5px; font-weight: bold; - + margin: 5px; font-weight: bold; @@ -3023,15 +3750,15 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen - - + + Fonction Funkcja Verrouiller la numérotation automatique - + Zablokuj automatyczną numerację @@ -3054,310 +3781,310 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Wartość - - - + + + Simple Nieokreślona - + Maître Nadrzędny - + Esclave Podrzędny - + Renvoi de folio suivant Odsyłacz do następnego arkusza - + Renvoi de folio précédent Odsyłacz do poprzedniego arkusza - + Bornier Zacisk - + Vignette Etykieta - + Définition de conducteur Zdefiniuj przewód - - + + Normalement ouvert Zwierny - - + + Normalement fermé Rozwierny - - + + Inverseur Przełączny - + Other Inny - + Esclave PLC PLC podrzędny - - + + Puissance Obwody główne - - + + Temporisé travail Opóźnienie przy wzbudzeniu - - + + Temporisé repos Opóźnienie przy odwzbudzeniu - - + + Temporisé travail & repos Opuźnienie przy wzbudzeniu & i odwzbudzeniu - + Bobine Cewka - + Organe de protection Zabezpieczenie - + Commutateur / bouton łącznik pokrętny/przyciskowy - + Module PLC Moduł PLC - - + + Générique Standardowy - + Fusible Bezpiecznikowy - + Séctionnable tłumaczenie niepewne Odłącznikowy - + Diode Diodowy - + Phase Fazowy - + Neutre Neutralny - - - - - + + + + + T%1 T%1 - + Autre Inne - + Configuration PLC Konfiguracja PLC - + + + - + - - - - + + Adresse niepewne Adres - - + + Commentaire Komentarz - + Réf. croisée niepewne Odsyłacz - - + + Nb. niepewne Nr - + T1 T1 - + Police des en-têtes Czcionka nagłówka - + Configurer la police des en-têtes de colonnes Skonfiguruj czcionkę nagłówków kolumn - + Police du texte Czcionka tekstu - + Configurer la police du texte dans les cellules Skonfiguruj czcionkę tekstu w komórkach - + Afficher les en-têtes sur la feuille Pokaż nagłówki na arkuszu - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Pokaż lub ukryj nagłówki kolumn tabeli PLC na arkuszu - + Saut %1 après: Odstęp %1 po: - + Aucun Brak - + H. ligne: niepewne Wysokość linii: - - + + mm mm - + Réf. niepewne Odsył. - + Nom personnalisé de la colonne (vide = par défaut) Niestandardowa nazwa kolumny (puste = domyślna) - + Visible niepewne Widoczny - + Coller depuis le presse-papiers Wklej ze schowka - - + + Police des en-têtes: %1 %2pt niepewne Czcionka nagłówków: %1 %2 pkt - - + + Police du texte: %1 %2pt Czcionka tekstu: %1 %2 pkt - + Police des en-têtes de colonnes Czcionka nagłówków kolumn - + Police du texte des cellules Czcionka tekstu w komórkach - + Terre Ochronny @@ -3371,7 +4098,7 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen - Élement + Élément Element @@ -3436,7 +4163,8 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Nombre maximum de contacts esclaves définis : non défini - + Maksymalna liczba zdefiniowanych zestyków podrzędnych: nie zdefiniowano + @@ -3456,13 +4184,15 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Contacts : NO : %1/%2, NC : %3/%4, inverseurs : %5/%6, autres : %7/%8 - + Zestyki: NO: %1/%2, NC: %3/%4, przełączne: %5/%6, inne: %7/%8 + Contacts : NO : %1, NC : %2, inverseurs : %3, autres : %4 - + Zestyki: NO: %1, NC: %2, przełączne: %3, inne: %4 + @@ -3510,278 +4240,283 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen Przesuń w górę - + Ajouter la sélection Dodać zaznaczenie - + Supprimer la sélection Usuń zaznaczone - + Descendre la sélection Przesuń w dół - + Pas de filtre Bez filtra - + N'est pas vide Nie jest pusty - + Est vide Jest pusty - + Contient Zawiera - + Ne contient pas Nie zawiera - + Est égal à Jest równy - + N'est pas égale à Nie jest równy - + Filtre : Filtr: - + Type d'éléments Typ elementów - + Simples Proste - + Tous Wszystko - + Vignettes Etykieta - + Contacteurs et relais Styczniki i przekaźniki - + Boutons et commutateurs Przyciski i przełączniki - + Borniers Zaciski - + Organes de protection Narzędzie ochrony - + Automates (MAE/SPS) Sterowniki (PLC) - + + Contacts esclaves + Zestyki podrzędne + + + Configuration Konfiguracja - + Ouvrir la configuration sélectionné Otwórz konfigurację - + Sauvegarder la configuration actuelle Zapisz bieżącą konfigurację - + Importer des rapports depuis un fichier - + Importuj raporty z pliku - + Importer... - + Importuj... - + Exporter tous les rapports enregistrés vers un fichier - + Eksportuj wszystkie zapisane raporty do pliku - + Exporter... - + Eksportuj... - + Requête SQL personnalisée Niestandardowe zapytanie SQL - + Requête SQL : Zapytanie SQL: - + Position Pozycja - + Titre du folio Tytuł arkusza - + Position du folio Pozycja arkusza - + Numéro du folio Numer arkusza - - + + Exporter Eksport - - + + Aucun rapport enregistré à exporter. - + Brak zapisanych raportów do wyeksportowania. - + Exporter les rapports - + Eksportuj raporty - - - Fichiers JSON (*.json) - - - - - - + + Fichiers JSON (*.json) + Pliki JSON (*.json) + + + + + + Erreur Błąd - + Impossible d'écrire dans %1. - + Nie można zapisać do %1. - + Importer des rapports - + Importuj raporty - + Impossible de lire %1. - + Nie można odczytać %1. - + %1 ne contient pas des rapports QElectroTech valides. - + %1 nie zawiera prawidłowych raportów QElectroTech. - - + + Importer Importuj - + Ce fichier ne contient aucun rapport. - + Ten plik nie zawiera żadnych raportów. - + Rapport déjà existant - + Raport już istnieje - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Raport o nazwie „%1” już istnieje. Zastąpić go? - + Impossible d'écrire la configuration locale. - + Nie można zapisać konfiguracji lokalnej. - + %1 rapport(s) importé(s), %2 ignoré(s). - + Zaimportowano raportów: %1, pominięto: %2. ElementScene - + Déplacer une primitive Przesunięcie figury - + Éditer les informations sur l'auteur window title Edycja informacji autora - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Możesz wykorzystać to puste pole na informacje o autorze, licencji i inne przydatne informacje. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Można podać nazwę elementu w kilku językach. - + Éditer les noms window title Edytuj nazwę @@ -3790,102 +4525,102 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Możesz dodać nazwę kategorii w innym języku. - + Nom interne : Nazwa wewnętrzna: - + L'item n'est pas une catégorie message box title niepewne To nie jest kategoria - + L'item demandé n'est pas une categrie. Abandon. message box content Żadna pozycja nie jest kategorią, Zaniechanie. - + Catégorie inexistante message box title Kategoria nie istnieje - + La catégorie demandée n'existe pas. Abandon. message box content Podana kategoria nie istnieje. Zaniechanie. - + Éditer une catégorie window title Edytuj kategorię - + Créer une nouvelle catégorie window title Utwórz nową kategorię - + Nom de la nouvelle catégorie default name when creating a new category Nazwa nowej kategorii - + Édition en lecture seule message box title Edycja w trybie tylko do odczytu - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nie masz uprawnień do modyfikacji tej kategorii. Edycja w trybie tylko do odczytu. - + Nom interne manquant message box title Brak nazwy wewnętrznej - + Vous devez spécifier un nom interne. message box content Musisz podać nazwę wewnętrzną. - + Nom interne déjà utilisé message box title Nazwa wewnętrzna jest już używana - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Wybrana nazwa wewnętrzna jest już używana w tej kategorii. Proszę wybrać inną. - + Erreur message box title Błąd - + Impossible de créer la catégorie message box content Nie można utworzyć kategorii @@ -3894,73 +4629,73 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen ElementsCollectionWidget - + Ouvrir le dossier correspondant Otwórz odpowiedni katalog - + Éditer l'élément Edytuj element - + Supprimer l'élément Usuń element - + Supprimer le dossier Usuń katalog - + Recharger les collections Odśwież kolekcję - + Éditer le dossier Edytuj katalog - + Nouveau dossier Nowy katalog - + Nouvel élément Nowy element - + Importer une pièce EPLAN (.edz)… Importuj element EPLAN (.edz)… - + Afficher uniquement ce dossier Pokaż tylko ten folder - + Afficher tous les dossiers Pokaż wszystkie foldery - + Propriété du dossier Właściwości katalogu - + Supprimer l'élément ? message box title Usunąć element? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3968,25 +4703,25 @@ Nazwę wyświetlaną elementu można zmienić osobno we właściwościach elemen - + Suppression de l'élément message box title Usuwanie elementu - + La suppression de l'élément a échoué. message box content Usuwanie elementu nie powiodło się. - + Supprimer le dossier? message box title Usunąć katalog? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3994,24 +4729,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Usunięcie katalogu - + La suppression du dossier a échoué. message box content Usuwanie katalogu nie powiodło się. - + Avertissement — Importation d'un fichier EPLAN (.edz) Uwaga — Import pliku EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4036,45 +4771,45 @@ Importując ten plik, potwierdzasz, że: • ani QElectroTech, ani jego autorzy, ani współtwórcy nie ponoszą odpowiedzialności za jakiekolwiek niezgodne z przeznaczeniem wykorzystanie tych danych. - + J'ai lu et j'accepte ces conditions. Zapoznałem się z niniejszymi warunkami i akceptuję je. - + Importer niepewne Importuj - + Importer une pièce EPLAN Importuj element EPLAN - + Pièces EPLAN (*.edz) Element EPLAN (*.edz) - + Import EPLAN Import EPLAN - + Impossible d'importer cette pièce : %1 Nie można importować tego elementu: %1 - + Le dossier %1 contient Katalog %1 zawiera - + %n élément(s), répartie(s) do zrobienia @@ -4084,7 +4819,7 @@ Importując ten plik, potwierdzasz, że: - + dans %n dossier(s). w %n katalogu. @@ -4093,32 +4828,32 @@ Importując ten plik, potwierdzasz, że: - + Chemin de la collection : %1 Ścieżka do kolekcji: %1 - + Chemin dans le système de fichiers : %1 Ścieżka do plików systemowych: %1 - + Rechercher... Szukaj… - + Collections Kolekcje - + Modèles Szablony - + Propriété du dossier %1 Właściwości katalogu %1 @@ -4189,124 +4924,124 @@ Importując ten plik, potwierdzasz, że: ElementsPanelWidget - + Ouvrir le dossier correspondant Otwórz odpowiedni katalog - + Copier le chemin Kopiuj ścieżkę - + Basculer vers ce projet Przejdź do tego projektu - + Éditer ce modèle Edytuj szablon - + Supprimer ce modèle Usuń szablon - + Fermer ce projet Zamknij projekt - + Propriétés du projet Właściwości projektu - + Propriétés du folio Właściwości arkusza - + Ajouter un folio Powiększ arkusz - + Insérer un folio au-dessus Wstaw arkusz powyżej - + Insérer un folio en dessous Wstaw arkusz poniżej - + Copier et coller Kopiuj i wklej - + Supprimer ce folio Usuń arkusz - + Remonter ce folio Przenieś arkusz w górę - + Abaisser ce folio Przenieś arkusz w dół - + Remonter ce folio x10 Przenieś arkusz w górę o 10 - + Remonter ce folio x100 Przenieś arkusz w górę o 100 - + Remonter ce folio au debut Przenieś arkusz na początek - + Abaisser ce folio x10 Przenieś arkusz w dół o 10 - + Abaisser ce folio x100 Przenieś arkusz w dół o 100 - + Nouveau modèle Nowy szablon - - + + Panneau des éléments Panel elementów - + Filtrer Filtruj @@ -4352,7 +5087,7 @@ Importując ten plik, potwierdzasz, że: ExportConfigPage - + Export configuration page title Eksport @@ -4361,101 +5096,101 @@ Importując ten plik, potwierdzasz, że: ExportDialog - + Aperçu Podgląd - + Dimensions Wymiary - + Impossible d'écrire dans ce fichier message box title Nie można zapisać do tego pliku - + Exporter Eksport - + Nom de fichier Nazwa pliku - - + + px px - + Noms des fichiers cibles message box title Nazwy plików docelowych - + Exporter les folios du projet window title Eksportowanie arkuszy projektu - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Wybierz arkusze do wyeksportowania i ich rozmiar: - + Tout cocher Zaznacz wszystkie - + Tout décocher Odznacz wszystkie - + Titre du folio Tytuł arkusza - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Musisz podać nieużywaną nazwę pliku dla eksportowanych arkuszy. - + Dossier non spécifié message box title Brak katalogu - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Musisz podać ścieżkę do katalogu, w którym są zapisywane pliki obrazów. - + Images non incluses dans l'export DXF message box title - + Obrazy nie są uwzględniane w eksporcie DXF - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Używany tu format DXF (AC1006) nie pozwala na dołączanie obrazów. Obrazy będą reprezentowane wyłącznie przez prostokąt obrysu (pozycja, rozmiar, obrót i pochylenie zachowane), bez zawartości obrazu. - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Wydaje się, że nie masz uprawnień wymaganych do zapisu pliku %1. @@ -4464,102 +5199,122 @@ Importując ten plik, potwierdzasz, że: ExportPropertiesWidget - + Exporter dans le dossier dialog title Eksport do katalogu - + Dossier cible : Katalog docelowy: - + Parcourir Przeglądaj - + Format : Format: - + PNG (*.png) PNG (*.png) - + JPEG (*.jpg) JPEG (*.jpg) - + Bitmap (*.bmp) Bitmapa (*.bmp) - + SVG (*.svg) SVG (*.svg) - + DXF (*.dxf) DXF (*.dxf) - + Options de rendu groupbox title Opcje renderowania - + Exporter entièrement le folio Eksport kompletnego arkusza - + Exporter seulement les éléments Eksport elementów - + Dessiner la grille Rysuj siatkę - + Dessiner le cadre Rysuj obramowanie - + Dessiner le cartouche Rysuj tabliczkę rysunkową - + Dessiner les bornes Rysuj terminale - + Dessiner les noms des bornes Pokaż nazwy zacisków - + Conserver les couleurs des conducteurs Zachowaj kolory przewodów - + SVG: fond transparent SVG: przeźroczysty + + + DXF : symboles en blocs + DXF: symbole jako bloki + + + + Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO + Każdy symbol staje się blokiem DXF, który można zaznaczyć jednym kliknięciem w programie CAD + + + + DXF : textes des symboles en attributs + DXF: teksty symboli jako atrybuty + + + + Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs. + Teksty symbolu (oznaczenie, funkcja...) stają się atrybutami jego bloku. LibreCAD nie wyświetla atrybutów. + FolioAutonumberingW @@ -4743,95 +5498,105 @@ Litery i cyfry mogą być używane. Zastosuj przemieszczenie - - + + Générique Standardowy - + Fusible niepewne Bezpiecznikowy - + Sectionnable niepewne Odłącznikowy - + Diode niepewne Diodowy - + Terre niepewne Uziemiający - + Phase Fazowy - + Neutre Neutralny - + Sans Brak - + Avec Obecny - + Modifier des propriétés de borniers Zmiana właściwości zacisków - - Appliquez ou annulez les modifications en cours avant de déplacer - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + Projekt nie ma żadnej listwy zaciskowej: utwórz ją przyciskiem + - + + Appliquez ou annulez les modifications en cours avant de déplacer + Zastosuj lub anuluj bieżące zmiany przed przeniesieniem + + + + Sélectionnez dans le tableau les bornes à déplacer + Zaznacz w tabeli zaciski do przeniesienia + + + Déplacer les bornes sélectionnées vers le bornier choisi - + Przenieś zaznaczone zaciski do wybranej listwy zaciskowej FreeTerminalModel - + Label Etykieta - + Référence croisé Odsyłacz - + Type Typ - + Fonction Funkcja - + led led @@ -4849,47 +5614,48 @@ Litery i cyfry mogą być używane. Użyj kolorów systemu - + Chemin de la collection utilisateur Ścieżka do kolekcji użytkownika - + Chemin des cartouches utilisateur Ścieżka do tabliczek rysunkowych użytkownika - + Chemin de la collection commune Ścieżka do kolekcji wspólnej - - - - - - + + + + + + Par defaut Domyślne - - - - - - + + + + + + + Parcourir... Przeglądaj... - + (Recharger les collections d'éléments pour appliquer les changements) (ponownie załaduj kolekcję elementów aby wprowadzić zmainy) - + Projets Projekty @@ -4899,101 +5665,101 @@ Litery i cyfry mogą być używane. Użyj gestów gładzika - + Utiliser les numéros de folio à la place de leur position dans le projet Użyj numerów arkuszy zamiast ich pozycji w projekcie - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Numeruj kolumny tabliczki rysunkowej zaczynając od 0 (1 przy braku zaznaczenia) - + Désactivé Dezaktywuj - + min minute min - + Mettre en valeur dans le panel les éléments fraîchement intégrés Wyróżnij w panelu elementy wstawiane jako nowe - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Każdy element posiada puste pole, przeznaczone na informacje o autorze, licencji i inne informacje, które uznasza za istotne Tutaj możesz określić domyślną zawartość tego pola: - + Appliqué au prochain lancement de QElectroTech Zmiany zostaną wdrożone przy kolejnym uruchomieniu QElectroTech - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatyczne tworzenie kopii zapasowych projektu (zmiany zostaną wdrożone przy kolejnym uruchomieniu QElectroTech) - + Collections Kolekcje - + Accès aux collections Dostęp do kolekcji - + Répertoire de la collection commune Katalog kolekcji wspólnej - + Répertoire de la collection utilisateur Katalog kolekcji użytkownika - + Répertoire des cartouches utilisateur Katalog tabliczek rysunkowych użytkownika - + Gestion des éléments Zarządzanie elementami - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Tutaj możesz zdefiniować domyślny wygląd tekstów w QElectroTech - + Grille + Clavier Siatka + klawiatura - + Grille : 1 - 30 Siatka: 1 - 30 - + DiagramEditor xGrid Edytor schematów xGrid - + DiagramEditor yGrid Edytor schematów yGrid @@ -5005,227 +5771,342 @@ Tutaj możesz określić domyślną zawartość tego pola: Couleur de l'application - + Kolor aplikacji Afficher les propriétés d'un conducteur sélectionné dans le panneau Propriétés de la sélection - + Pokaż właściwości zaznaczonego przewodu w panelu Właściwości zaznaczenia - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + Gdy odznaczone, żadna reguła liczby przewodów na zacisk nie jest stosowana, niezależnie od ustawień projektów. + + + + Appliquer les règles de conducteurs par borne des projets + Stosuj reguły projektów dotyczące liczby przewodów na zacisk + + + + Nombre maximal de conducteurs par borne : + Maksymalna liczba przewodów na zacisk: + + + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Dla wszystkich projektów oprócz tych z własnymi ustawieniami. Nowy przewód, który przekroczyłby tę liczbę na zacisku, jest odrzucany; już narysowane przewody nie są zmieniane. 4 odpowiada dwóm podwójnym tulejkom, po jednej z każdej strony śruby. + + + + Sans limite + Bez ograniczeń + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + Odsyłacz arkusza jest punktem wirtualnym: przyjmuje tylko jeden przewód, ten, który jest kontynuowany na drugim arkuszu. + + + + Un seul conducteur par renvoi de folio + Tylko jeden przewód na odsyłacz arkusza + + + Afficher la grille par défaut (appliqué au prochain lancement) Pokaż domyślną siatkę (zmiany zostaną zastosowane przy kolejnym uruchomieniu QElecteoTech) - + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. - + Domyślnie podwójne kliknięcie wstawia element do arkusza; edycja pozostaje dostępna z menu kontekstowego. - + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer - + Podwójne kliknięcie w kolekcji otwiera edytor elementu zamiast go wstawiać - + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Zaznaczone: jedna lista, najlepsze dopasowanie na początku. Odznaczone: drzewo kolekcji przefiltrowane według wyszukiwania. + + + + Afficher les résultats de recherche sous forme de liste triée + Pokaż wyniki wyszukiwania jako posortowaną listę + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - + Po kliknięciu zaznaczającym element lub przewód polecenia paska skrótów pojawiają się obok kursora i znikają, gdy mysz się oddali. - + Afficher les commandes près de la sélection - + Pokazuj polecenia obok zaznaczenia - + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Przytrzymanie prawego przycisku i przeciągnięcie w jakimś kierunku uruchamia polecenie z paska skrótów. Zwykłe kliknięcie prawym przyciskiem nadal otwiera menu kontekstowe po zwolnieniu przycisku. - + Gestes de la souris avec le bouton droit - + Gesty myszy prawym przyciskiem - + Afficher les guides par défaut (appliqué au prochain lancement) Pokaż domyślne prowadnice (zmiany zostaną zastosowane przy kolejnym uruchomieniu QElecteoTech) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Użyj oki&en (zmiany zostaną zastosowane przy kolejnym uruchomieniu QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Użyj zakładek (zmiany zostaną zastosowane przy kolejnym urucho&mieniu QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Metoda skalowania dla wyświetlaczy o wysokiej rozdzielczości (hdpi) (zastosowanie po następnym uruchomieniu QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + Automatycznie numeruj wklejone lub powielone elementy, które stosują numerację + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + Wklejony element otrzymuje kolejny numer swojej numeracji zamiast nazwy skopiowanego elementu, a numeracja postępuje. + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Zezwól na wykonywanie skryptów JavaScript (Projekt > Wykonaj skrypt oraz --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + Skrypt działa z Twoimi uprawnieniami: może czytać i modyfikować otwarty projekt oraz zapisywać pliki. Domyślnie wyłączone; wykonuj tylko skrypty, których pochodzenie znasz. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Zezwól asystentowi AI na działanie na otwartym projekcie (tryb bezpośredni) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + Asystent połączony przez serwer MCP może wtedy wykonywać skrypty na otwartym projekcie, na Twoich oczach. Dopóki to ustawienie jest włączone, przy każdym uruchomieniu wyświetlane jest ostrzeżenie. Działa od następnego uruchomienia; odznaczenie natychmiast przerywa połączenie. + + + Répertoire de la collection company Katalog kolekcji firmowej - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Utwórz lub zmień prefiksy folderów kolekcji użytkownika (plik qet_labels.xml) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Konfiguruj prefiksy… + + + Répertoire des cartouches company Katalog firmowych tabliczek rysunkowych - + Répertoire des Macros utilisateur Katalog makr użytkownika - + + Fichier de la liste de matériaux + Plik listy materiałów + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Katalog materiałów używany do uzupełniania artykułów elementu + + + + Non configuré + hint shown when no material file is configured yet + Nie skonfigurowano + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + Utwórz plik listy z nagłówkami + + + + Créer... + Utwórz... + + + Langues Język - + Textes Tekst - + Textes d'éléments Tekst elemenu - - - + + + Police : Atrybuty: - - + + ° ° - + Longueur : Rozmiar: - - + + Rotation : Obrót: - + Textes indépendants Teksty niezależne - + Autres textes Inne teksty - + La Grille doite etre active pour pouvoir voir les modifications. Siatka musi być aktywna aby móc wprowadzać zmiany. - + Grille des textes déplacés à la souris - + Siatka tekstów przesuwanych myszą - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Ułamek siatki arkuszy. Przytrzymaj Ctrl podczas przesuwania, aby umieścić swobodnie. - + Déplacement au clavier : 1 - 30 Przesunięcie klawiszem: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Edytor schematów (klawisz: lewo/prawo) xGrid - + DiagramEditor (touche : haut / bas) yGrid Edytor schematów (klawisz: góra/dół) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 Przesunięcie za pomocą klawisza Alt: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Edytor schematów (klawisz: lewo/prawo) xGrid - + DiagramEditor (touche : haut / bas) yGrid Edytor schematów (klawisz: góra/dół) yGrid - + Affichage Grille Wyświetlanie siatki - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + Przy zapisie elementu: odrzuć dwa zaciski o tej samej nazwie i zgłoś zaciski bez nazwy (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Sprawdzaj nazwy zacisków przy zapisie + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Rozmiar punktów siatki: 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Rozmiar punktów siatki edytora elementów: 1 - 5 - + Editor niepewne Edytor - + Max. parts in Element Editor List Maksymalna ilość na liście Edytora Elementów - + Ne pas conserver les labels des éléments lors des copier coller Nie przechowuj etykiet elementów podczas wklejania kopii @@ -5235,221 +6116,330 @@ Tutaj możesz określić domyślną zawartość tego pola: Pozwól na powiększenie poza arkusz - + Arrondi supérieur pour 0.5 et plus niepewne Zaokrąglij do 0,5 i więcej - + Toujours arrondi supérieur Zawsze zaokrąglaj w górę - + Toujours arrondi inférieur Zawsze zaokrąglaj w dół - + Arrondi supérieur pour 0.75 et plus Zaokrąglij do 0,75 i więcej - + Pas d'arrondi Bez zaokrąglenia - + Désactivée - + Wyłączona - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + Włączone przez zmienną środowiskową QET_ENABLE_SCRIPTING; to ustawienie nie ma wpływu, dopóki jest ona zdefiniowana. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + Nie skonfigurowano (domyślnie: %1) + + + Général configuration page title Ogólne - + Système Systemowy - + Arabe Arabski - + Brézilien Brazylijski - + Catalan Kataloński - + Tchèque Czeski - + Allemand Niemiecki - + Danois Duński - + Grec Grecki - + Anglais Angielski - + Espagnol Hiszpański - + Français Francuski - + Croate Chorwacki - + Italien Włoski - + Japonais Japoński - + Coréen Koreański - + Polonais Polski - + Portugais Portugalski - + Roumains Rumuński - + Russe Rosyjski - + Slovène Soweński - + Pays-Bas Holenderski - + Norvege Norweski - + Belgique-Flemish Belgijski-Flamandzki - + Turc Turecki - + Hongrois Węgierski - + Mongol Mongolski - + Ukrainien Ukraiński - + Chinois Chiński - + Suédois Szwedzki - + Chemin de la collection company niepewne Ścieżka do kolekcji firmowej - + Chemin des cartouches company niepewne Ścieżka do firmowych tabliczek rysunkowych - + Chemin des macros utilisateur Ścieżka do makr użytkownika - + + Répertoire introuvable + Nie znaleziono katalogu + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + Katalog kolekcji użytkownika: +%1 +nie istnieje i nie mógł zostać utworzony. + + + + Aucun sous-dossier + Brak podfolderów + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + Kolekcja użytkownika: +%1 +nie zawiera żadnego podfolderu: nie ma więc żadnego prefiksu do skonfigurowania. + + + + Fichier de préfixes illisible + Nie można odczytać pliku prefiksów + + + + Fichier de préfixes endommagé + Plik prefiksów jest uszkodzony + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + Plik %1 nie jest prawidłowym plikiem XML: +%2 + + + + Corriger le fichier + Popraw plik + + + + Reconstruire + Odbuduj + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Nic jeszcze nie zostało zmienione. + +„Popraw plik”: to okno zamyka się bez żadnych zmian. Otwórz plik w edytorze tekstu we wskazanym miejscu, popraw go i uruchom to polecenie ponownie. + +„Odbuduj”: drzewo folderów jest tworzone na nowo, ale wszystkie bieżące prefiksy zostaną utracone. Bieżący plik jest zachowywany pod nazwą qet_labels.xml.bak przed zastąpieniem. + + + + Fichier : %1 + Plik: %1 + + + + Sélectionner le fichier de la liste de matériaux + Wybierz plik listy materiałów + + + + + Fichiers csv (*.csv) + Plik csv (*.csv) + + + + Créer le fichier de la liste de matériaux + Utwórz plik listy materiałów + + + + Création impossible + Nie można utworzyć + + + + Impossible de créer le fichier : +%1 +%2 + Nie można utworzyć pliku: +%1 +%2 + + + To high values might lead to crashes of the application. Zbyt wysokie wartość mogą spowodować przeciążenie oprogramowania. - + Fonctionnalité expérimental Funkcjonalność eksperymentalna - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5509,113 +6499,217 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r Szablony tabliczek rysunkowych, które mogą być zastosowane w schemacie. - + %1 [non utilisé dans le projet] %1 [nieużywany w projekcie] + + GesturesConfigPage + + + Faites glisser avec le bouton droit sur un folio : un anneau de commandes s'ouvre, relâchez vers celle à lancer. Tant que vous ne changez pas l'anneau d'un contexte, il montre les commandes de la barre de raccourcis. Les gestes s'activent ou se désactivent dans la page Général. + Przeciągnij prawym przyciskiem po arkuszu: otworzy się pierścień poleceń, zwolnij przycisk w kierunku polecenia do uruchomienia. Dopóki nie zmienisz pierścienia danego kontekstu, pokazuje on polecenia paska skrótów. Gesty włącza się i wyłącza na stronie Ogólne. + + + + 8 directions + 8 kierunków + + + + 4 directions + 4 kierunki + + + + Placer → + Umieść → + + + + Vider la direction + Wyczyść kierunek + + + + Comme la barre de raccourcis + Jak pasek skrótów + + + + Commandes disponibles + Dostępne polecenia + + + + Anneau, la direction choisie en surbrillance + Pierścień, wybrany kierunek podświetlony + + + + Directions : + Kierunki: + + + + Contexte : + Kontekst: + + + + Gestes de la souris + configuration page title + Gesty myszy + + + + (direction vide) + (pusty kierunek) + + + + Anneau personnalisé pour ce contexte. + Własny pierścień dla tego kontekstu. + + + + Cet anneau suit la barre de raccourcis. + Ten pierścień podąża za paskiem skrótów. + + GraphicsTablePropertiesEditor + Form - Z + Z + Affichage - Widok + Widok + Nom du tableau - Nazwa tabeli + Nazwa tabeli + Aucun Brak + Toutes - Wszystkie + Wszystkie + Lignes à afficher : - Liczba wyświetlanych wierszy : + Liczba wyświetlanych wierszy : + Y : - Y: + Y: + Tableau suivant - Następna tabela + Następna tabela + X : - X: + X: + Tableau précédent - Poprzednia tabela + Poprzednia tabela + Tableau précédent : - Poprzednia tabela : + Poprzednia tabela : + Géometrie et lignes - Geometria i linie + Geometria i linie + Appliquer la géometrie à tous les tableaux liée à celui-ci - Zastosuj geometrię do wszystkich powiązanych tabel + Zastosuj geometrię do wszystkich powiązanych tabel + Ajuster le tableau au folio - Dopasuj tabelę do arkusza + Dopasuj tabelę do arkusza + TextLabel - Etykieta + Etykieta + En tête - Nagłówek + Nagłówek + + Marge - Marginesy + Marginesy + Aligement : - Wyrównanie : + Wyrównanie : + + Gauche - Lewo + Lewo + + Centré - Środek + Środek + + Droite - Prawo + Prawo + + Police - Czcionka + Czcionka + Tableau - Tabela + Tabela + Alignement : - Wyrównanie: + Wyrównanie: + Contenu - Zawartość + Zawartość @@ -5754,7 +6848,7 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r - + Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. Zablokowane: zmiana szerokości lub wysokości dostosowuje drugą wartość w celu zachowania proporcji. Kliknij, aby odblokować. @@ -5793,12 +6887,12 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r Libellé - + Podpis Texte affiché sous l'image. Il suit l'image quand elle est déplacée, copiée ou tournée. - + Tekst wyświetlany pod obrazem. Podąża za obrazem, gdy jest on przesuwany, kopiowany lub obracany. @@ -5806,33 +6900,48 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r Zablokuj położenie - + + Adapter l’image au thème sombre + Dopasuj obraz do ciemnego motywu + + + + Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés. + Dostosowuje kolory tylko do ciemnego wyświetlania. Oryginalny obraz, eksporty i wydruki pozostają bez zmian. + + + Modifier la largeur d'une image Zmiana szerokości obrazu - + Modifier la hauteur d'une image Zmiana wysokości obrazu - + Modifier l'angle d'une image Zmiana kąta obrazu - - + + Modifier l'inclinaison d'une image Zmiana nachylenia obrazu - + Modifier le libellé d'une image - + Zmiana podpisu obrazu - + + Modifier l'adaptation d'une image au thème sombre + Zmiana dopasowania obrazu do ciemnego motywu + + + Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. Odblokowane: szerokość i wysokość mogą być modyfikowane niezależnie. Kliknij, aby zablokować. @@ -5840,42 +6949,42 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r ImageTransparentColorDialog - + Couleur transparente Kolor przeźroczysty - + Image source Źródło obrazu - + Aperçu Podgląd - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Tolerancja koloru - + Retirer cette couleur Usuń ten kolor - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Kliknij na obraz, aby dodać kolor. Dopasuj tolerancję każdego koloru za pomocą suwaka lub kliknij ×, aby go usunąć. - + Cliquez sur l'image pour choisir une couleur Kliknij na obraz, aby wybrać kolor. @@ -5934,101 +7043,140 @@ Wszelkie wartości inne niż „Brak zaokrąglenia” mogą powodować błędy r IndiTextPropertiesWidget + Form - Formuła + Formuła + X : - X: + X: + Éditeur avancé - Zaawansowany edytor + Zaawansowany edytor + Taille : - Rozmiar: + Rozmiar: + Angle : - Kąt: + Kąt: + + + px - px + px + ° - ° + ° + Y : - Y: + Y: + + Largeur : + Szerokość: + + + + Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique + Szerokość tekstu, tekst jest zawijany. Auto: bez automatycznego zawijania wierszy + + + + Auto + Auto + + + Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html. Veuillez utiliser l'éditeur avancé pour cela. - Zawartość, rozmiar i atrybuty tekstu nie mogą być modyfikowane, ponieważ są sformatowane w html. + Zawartość, rozmiar i atrybuty tekstu nie mogą być modyfikowane, ponieważ są sformatowane w html. Użyj do tego zaawansowanego edytora. + Texte - Tekst + Tekst - - - + + + + Police Atrybuty + Cliquez ici pour annuler le formatage html - Kliknij tutaj aby anulować formatowanie html + Kliknij tutaj aby anulować formatowanie html - - + + Déplacer un champ texte Przesunięcie pola tekstowego - + Pivoter un champ texte Obrót pola tekstowego - + Modifier un champ texte Zmiana pola tekstowego - + Modifier la taille d'un champ texte Zmiana rozmiaru pola tekstowego - + Modifier la police d'un champ texte Zmiana atrybutów pola tekstowego - + + Modifier la largeur d'un champ texte + Zmiana szerokości pola tekstowego + + + Pivoter plusieurs champs texte Obrót wielu pól tekstowych - + Modifier la taille de plusieurs champs texte Zmiana rozmiaru wielu pól tekstowych - + Modifier la police de plusieurs champs texte Zmiana atrybutów wielu pól tekstowych - + + Modifier la largeur de plusieurs champs texte + Zmiana szerokości kilku pól tekstowych + + + Modifier les propriétés d'un texte Zmiana właściwości tekstu @@ -6092,30 +7240,30 @@ Użyj do tego zaawansowanego edytora. JumpToElementDialog - + Atteindre un élément window title Przejście do elementu - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Nazwa, etykieta lub informacja elementu albo pole (np. B13 lub 3-B13)… - + Case %1 - + Pole %1 - + Folio %1, case %2 - + Arkusz %1, pole %2 - + Folio %1 (%2), case %3 - + Arkusz %1 (%2), pole %3 Nom, label ou information de l'élément… @@ -6227,7 +7375,7 @@ Użyj do tego zaawansowanego edytora. Masquer les éléments maîtres pleins - + Ukryj pełne elementy główne Remarque : les éléments maîtres ayant atteint leur nombre maximal d'esclaves sont masqués. @@ -6364,6 +7512,143 @@ Użyj do tego zaawansowanego edytora. Rozłącz + + LiveServer + + + Mode direct + Tryb bezpośredni + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + Tryb bezpośredni jest włączony: połączony asystent AI będzie mógł wykonywać skrypty na otwartym projekcie. + +Każdą akcję można cofnąć za pomocą Ctrl+Z, a przycisk „Zatrzymaj” na pasku stanu przerywa połączenie. + +To ustawienie znajduje się w Konfiguracja QElectroTech > Ogólne > Projekty. + + + + &Continuer + &Kontynuuj + + + + &Pas pour cette session + &Nie w tej sesji + + + + &Désactiver + &Wyłącz + + + + Ne plus demander au démarrage + Nie pytaj więcej przy uruchomieniu + + + + Le mode direct s'ouvrira à chaque démarrage. Pour être de nouveau averti, désactivez-le puis réactivez-le dans Configurer QElectroTech > Général > Projets. + Tryb bezpośredni będzie otwierany przy każdym uruchomieniu. Aby znów otrzymywać ostrzeżenie, wyłącz go i włącz ponownie w Konfiguracja QElectroTech > Ogólne > Projekty. + + + + + script + skrypt + + + + Impression + Drukowanie + + + + L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ». + + Asystent chce wydrukować %n arkusz z „%1” na „%2”. + Asystent chce wydrukować %n arkusze z „%1” na „%2”. + Asystent chce wydrukować %n arkuszy z „%1” na „%2”. + + + + + &Imprimer + &Drukuj + + + + &Annuler + &Anuluj + + + + + Assistant : %1 + Asystent: %1 + + + + L'assistant veut exécuter un script + Asystent chce wykonać skrypt + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + „%1” na otwartym projekcie. Po wykonaniu Ctrl+Z go cofa. + + + + &Exécuter + &Wykonaj + + + + &Refuser + &Odrzuć + + + + &Toujours + &Zawsze + + + &Toujours pour cette session + &Zawsze w tej sesji + + + + MacroRecorder + + + Macro du %1 + Makro z %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + projekt zamknięty podczas nagrywania: brak after.qet + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + Nagrałem makro w QElectroTech: „%1”, %n krok (identyfikator %2, folder %3). +Za pomocą serwera MCP qet: odczytaj je przez qet_recording_read, napisz skrypt, który robi to samo w sposób ogólny (na przykład na zaznaczonych elementach, a nie dokładnie na tych), sprawdź go przez qet_recording_check, aż będzie zgodny, a następnie zaproponuj go jako przycisk przez qet_script_install. + Nagrałem makro w QElectroTech: „%1”, %n kroki (identyfikator %2, folder %3). +Za pomocą serwera MCP qet: odczytaj je przez qet_recording_read, napisz skrypt, który robi to samo w sposób ogólny (na przykład na zaznaczonych elementach, a nie dokładnie na tych), sprawdź go przez qet_recording_check, aż będzie zgodny, a następnie zaproponuj go jako przycisk przez qet_script_install. + Nagrałem makro w QElectroTech: „%1”, %n kroków (identyfikator %2, folder %3). +Za pomocą serwera MCP qet: odczytaj je przez qet_recording_read, napisz skrypt, który robi to samo w sposób ogólny (na przykład na zaznaczonych elementach, a nie dokładnie na tych), sprawdź go przez qet_recording_check, aż będzie zgodny, a następnie zaproponuj go jako przycisk przez qet_script_install. + + + MarginsEditDialog @@ -6405,7 +7690,7 @@ Użyj do tego zaawansowanego edytora. <html><head/><body><p>Usuń połączenia zaznaczonego elementu</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Połącz zaznaczone elementy</p></body></html> @@ -6486,7 +7771,9 @@ Użyj do tego zaawansowanego edytora. La limite fixée pour cet élément maître est atteinte (Limite: %1). Voulez-vous tout de même lier ce contact esclave ? - + Osiągnięto limit ustalony dla tego elementu głównego (limit: %1). + +Czy mimo to chcesz powiązać ten zestyk podrzędny? @@ -6519,7 +7806,7 @@ Voulez-vous tout de même lier ce contact esclave ? Zaciski - + Coller depuis le presse-papiers Wklej ze schowka @@ -6529,6 +7816,162 @@ Voulez-vous tout de même lier ce contact esclave ? Odsyłacz (nadrzędny) + + MaterialEntryDialog + + + Nouvelle entrée + Nowy wpis + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Podaj dane artykułu do dodania. Pola pozostawione puste pozostaną puste w pliku. + + + + Enregistrer + Zapisz + + + + Annuler + Anuluj + + + + Aucun renseignement + Brak danych + + + + Saisissez au moins un renseignement pour créer une entrée. + Wpisz co najmniej jedną informację, aby utworzyć wpis. + + + + MaterialList + + + + Bloc auxiliaire + Blok pomocniczy + + + + Aucun récepteur pour le répertoire de matériaux. + Brak odbiorcy dla katalogu materiałów. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + Plik nie zawiera nagłówka: brak kolumn. + + + + Le fichier existe déjà et n'est pas vide. + Plik już istnieje i nie jest pusty. + + + + MaterialSelectionDialog + + + Liste de matériaux + Lista materiałów + + + + Rechercher : + Szukaj: + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + Wszystkie wpisane słowa muszą wystąpić gdzieś w wierszu + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + Szukaj we wszystkich kolumnach + + + + Entrées : 0 + Wpisy: 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + Dodaj nowy artykuł do listy + + + + Nouvelle entrée + Nowy wpis + + + + Appliquer + Zastosuj + + + + Annuler + Anuluj + + + + Lecture impossible + Nie można odczytać + + + + Impossible de lire le fichier : +%1 +%2 + Nie można odczytać pliku: +%1 +%2 + + + + Entrées : %1 + Wpisy: %1 + + + + Entrées : %1 sur %2 + Wpisy: %1 z %2 + + + + Aucune sélection + Brak zaznaczenia + + + + Sélectionnez d'abord un article dans la liste. + Najpierw wybierz artykuł z listy. + + + + Écriture impossible + Nie można zapisać + + + + Impossible d'écrire dans le fichier : +%1 +%2 + Nie można zapisać do pliku: +%1 +%2 + + MultiPasteDialog @@ -6580,10 +8023,15 @@ Voulez-vous tout de même lier ce contact esclave ? Automatyczna numeracja przewodów - + Multi-collage Kolaż wielokrotny + + + Numéroter les éléments collés + Numeruj wklejone elementy + NameListDialog @@ -6593,7 +8041,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialog - + Variables de cartouche Zmienne tabliczki rysunkowej @@ -6621,7 +8069,7 @@ Voulez-vous tout de même lier ce contact esclave ? Wstaw linię - + Copier dans le presse papier Kopiuj do schowka @@ -6629,63 +8077,63 @@ Voulez-vous tout de même lier ce contact esclave ? NewDiagramPage - + Folio Arkusz - + Conducteur Przewód - + Reports de folio Odsyłacze do arkuszy - + Références croisées Oznaczenia referencyjne - + Guides Pomoc - + Définir les règles de numérotation automatique par défaut pour les nouveaux projets : - + Zdefiniuj domyślne reguły automatycznej numeracji dla nowych projektów: - + Conducteurs Przewody - + Eléments Elementy - + Folios Arkusze - + Numérotation auto Automatyczna numeracja - + Nouveau folio configuration page title Nowy arkusz - + Nouveau projet configuration page title Nowy projekt @@ -6694,90 +8142,90 @@ Voulez-vous tout de même lier ce contact esclave ? NewElementWizard - + Vous n'êtes pas obligé de préciser l'extension *.elmt. Elle sera ajoutée automatiquement. Nie musisz podawać rozszerzenia *.elmt. Będzie ono dodane automtycznie. - + nouvel_element nowy_element - + &Suivant > &Następny > - + Créer un nouvel élément : Assistant window title Utwórz nowy element: Asystent - + Étape 1/3 : Catégorie parente wizard page title Krok 1/3: Kategoria powiązana - + Sélectionnez une catégorie dans laquelle enregistrer le nouvel élément. wizard page subtitle Wybierz kategorię, do której chcesz zapisać nowy element. - + Étape 2/3 : Nom du fichier wizard page title Krok 2/3: Nazwa pliku - + Indiquez le nom du fichier dans lequel enregistrer le nouvel élément. wizard page subtitle Podaj nazwę pliku dla nowego elementu. - + Étape 3/3 : Noms de l'élément wizard page title Krok 3/3: Nazwa elementu - + Indiquez le ou les noms de l'élément. wizard page subtitle Wprowadź jedną lub więcej nazw dla elementu. - + Nom du nouvel élément default name when creating a new element Nazwa nowego elementu - - - + + + Erreur message box title Błąd - + Vous devez sélectionner une catégorie. message box content Musisz wybrać kategorię. - + Vous devez entrer un nom de fichier message box content Musisz podać nazwę pliku - + Un élément portant le même nom existe déjà Element o tej nazwie już istnieje @@ -6963,13 +8411,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamiczne pole tekstowe - + Déplacer un champ texte Przesunięcie pola tekstowego @@ -7029,59 +8477,84 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Przesunięcie tekstu - + Modifier un champ texte Zmiana pola tekstowego + + PasteNumberingImport + + + Numérotation absente de ce projet + Numeracja nieobecna w tym projekcie + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + Wklejone elementy stosują %n numerację, która nie istnieje w tym projekcie: %1. + +Zaimportować ją? Elementy otrzymają wtedy kolejne numery, począwszy od 1. W przeciwnym razie zostaną wklejone bez numeracji. + Wklejone elementy stosują %n numeracje, które nie istnieją w tym projekcie: %1. + +Zaimportować je? Elementy otrzymają wtedy kolejne numery, począwszy od 1. W przeciwnym razie zostaną wklejone bez numeracji. + Wklejone elementy stosują %n numeracji, które nie istnieją w tym projekcie: %1. + +Zaimportować je? Elementy otrzymają wtedy kolejne numery, począwszy od 1. W przeciwnym razie zostaną wklejone bez numeracji. + + + PdfPagesDialog - + Sélectionner une page Wybierz stronę - + Ce document PDF contient %n page(s) - Ten dokument PDF zawiera %n stronę(n) - - + Ten dokument PDF zawiera %n stronę + Ten dokument PDF zawiera %n strony + Ten dokument PDF zawiera %n stron - + Page à importer : Importuj stronę: - + Résolution : Rozdzielczość: - + 150 DPI (écran) 150 DPI (ekran) - + 300 DPI (impression) 300 DPI (wydruk) - + 600 DPI (haute qualité) 600 DPI (wysoka jakość) - + Aperçu : Podgląd: @@ -7106,7 +8579,7 @@ Voulez-vous tout de même lier ce contact esclave ? Masquer les éléments connectés - + Ukryj połączone elementy @@ -7187,12 +8660,12 @@ Voulez-vous tout de même lier ce contact esclave ? Wielokąt zamknięty - + Ajouter un point Wstaw punkt - + Supprimer ce point Usuń punkt @@ -7245,26 +8718,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Wybierz właściwości i zastosuj nowy potencjał.. - - - + + + Fonction : %1 Funkcja: %1 - - - + + + Tension/protocole : %1 Napięcie/protokół: %1 - - + + %n conducteurs composent le potentiel suivant : %n przewód ma następujący potencjał: @@ -7273,57 +8746,57 @@ Napięcie/protokół: %1 - - - + + + Numéro : %1 Numer: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Wybierz potencjał elektryczny z listy aby używać nowy potencjał - - - + + + Couleur du conducteur : %1 Kolor przewodu: %1 - - - + + + Section du conducteur : %1 Przekrój przewodu: %1 - + Ajouter au câble: %1 Wstaw przewód: %1 - + Ajouter au bus: %1 Wstaw szynę: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption zmiana właściwości wielu przewodów - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7334,10 +8807,115 @@ Poniższe zmienne są zgodne: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + Prefiksy kolekcji użytkownika + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Każdy folder kolekcji ma prefiks: jest on dodawany przed etykietą elementów z tego folderu. +Puste pole oznacza, że folder przejmuje prefiks folderu nadrzędnego. + + + + Dossier + column header of the folder tree + Folder + + + + Préfixe + column header of the prefix column + Prefiks + + + + Tout déplier + Rozwiń wszystko + + + + Tout replier + Zwiń wszystko + + + + Entrées sans dossier + Wpisy bez folderu + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n wpis z qet_labels.xml nie odpowiada żadnemu folderowi kolekcji: +zachować go czy usunąć? + %n wpisy z qet_labels.xml nie odpowiadają żadnemu folderowi kolekcji: +zachować je czy usunąć? + %n wpisów z qet_labels.xml nie odpowiada żadnemu folderowi kolekcji: +zachować je czy usunąć? + + + + + Conserver + Zachowaj + + + + Supprimer + Usuń + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + brak prefiksu: nie dziedziczy po folderze nadrzędnym + + + + + hériter du dossier parent + placeholder of an empty prefix field + dziedzicz po folderze nadrzędnym + + + + Enregistrement impossible + Nie można zapisać + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + Nie można zapisać pliku %1: +%2 + + + + Fichier endommagé remplacé + Zastąpiono uszkodzony plik + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + Plik %1 był nieczytelny: został zastąpiony. +Jego kopia została zachowana jako: +%2 + + PrintConfigPage - + Impression configuration page title Drukowanie @@ -7346,155 +8924,374 @@ Poniższe zmienne są zgodne: ProjectAutoNumConfigPage - + Numérotation auto Automatyczna numeracja - + Management Zarządzanie - - + + Conducteurs Przewody - - + + N° + Nr + + + + Nom + Nazwa + + + + Folio + Arkusz + + + + Élément + Element + + + + Figé + Zablokowany + + + + Attribuer un numéro libre… + Przydziel wolny numer… + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + Nadaj zaznaczonemu elementowi numer, którego nikt nie ma: zachowuje on swoją numerację, zmienia się tylko numer. + + + + Eléments Elementy - - + + Folios Arkusze - + Numérotation auto des folios Automatyczna numeracja arkuszy - + Importer depuis un autre projet... - + Importuj z innego projektu... - + Reprendre les numérotations automatiques enregistrées dans un autre projet - + Przejmij automatyczne numeracje zapisane w innym projekcie + + + + figé + zablokowany + + + + — libre — + — wolny — + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + żaden element nie ma tego numeru (usunięty lub przenumerowany) - - - - - - + Aucun élément ne suit cette numérotation + Żaden element nie stosuje tej numeracji + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + %n element stosuje tę numerację, w tym %1 z zablokowaną nazwą + %n elementy stosują tę numerację, w tym %1 z zablokowaną nazwą + %n elementów stosuje tę numerację, w tym %1 z zablokowaną nazwą + + + + + ; %n numéro(s) sans élément + + ; %n numer bez elementu + ; %n numery bez elementu + ; %n numerów bez elementu + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + Ta numeracja ma kilka numerów (lub jeden numer na arkusz): nie można wybrać go ręcznie. + + + + Attribuer un numéro libre + Przydziel wolny numer + + + + Le nom de cet élément est figé : dégelez-le d'abord. + Nazwa tego elementu jest zablokowana: najpierw ją odblokuj. + + + + Aucun numéro n'est libre. + Żaden numer nie jest wolny. + + + + %1 → %2 + %1 → %2 + + + + Numéro libre pour l'élément « %1 » (%2) : + Wolny numer dla elementu „%1” (%2): + + + + + Nom de la numérotation : + Nazwa numeracji: + + + + + Modifier la numérotation + Zmień numerację + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + %n element stosuje tę numerację i zmieni formułę oraz nazwę. + %n elementy stosują tę numerację i zmienią formułę oraz nazwę. + %n elementów stosuje tę numerację i zmieni formułę oraz nazwę. + + + + + + + + Nouvelle numérotation + Nowa numeracja + + + + + Renommer la numérotation + Zmień nazwę numeracji + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + Numeracji „%1” nie można zmienić: stosuje ją %n element z zablokowaną nazwą. +Najpierw go odblokuj (zobacz listę) lub tylko zmień nazwę numeracji. + Numeracji „%1” nie można zmienić: stosują ją %n elementy z zablokowaną nazwą. +Najpierw je odblokuj (zobacz listę) lub tylko zmień nazwę numeracji. + Numeracji „%1” nie można zmienić: stosuje ją %n elementów z zablokowaną nazwą. +Najpierw je odblokuj (zobacz listę) lub tylko zmień nazwę numeracji. + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + %n numeracja stosowana przez elementy z zablokowaną nazwą nie została zastąpiona. + %n numeracje stosowane przez elementy z zablokowaną nazwą nie zostały zastąpione. + %n numeracji stosowanych przez elementy z zablokowaną nazwą nie zostało zastąpionych. + + + + + %n élément(s) ont changé de formule. + + %n element zmienił formułę. + %n elementy zmieniły formułę. + %n elementów zmieniło formułę. + + + + + + Supprimer la numérotation + Usuń numerację + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + %n element stosuje numerację „%1”, nie można jej usunąć. +Najpierw nadaj mu inną numerację lub stałą nazwę. + %n elementy stosują numerację „%1”, nie można jej usunąć. +Najpierw nadaj im inną numerację lub stałą nazwę. + %n elementów stosuje numerację „%1”, nie można jej usunąć. +Najpierw nadaj im inną numerację lub stałą nazwę. + + + + + Aucun folio ne nomme cette numérotation + Żaden arkusz nie wskazuje tej numeracji + + + + %n folio(s) nomment cette numérotation + + %n arkusz wskazuje tę numerację + %n arkusze wskazują tę numerację + %n arkuszy wskazuje tę numerację + + + + + Aucun folio ne suit cette numérotation + Żaden arkusz nie stosuje tej numeracji + + + + %n folio(s) suivent cette numérotation + + %n arkusz stosuje tę numerację + %n arkusze stosują tę numerację + %n arkuszy stosuje tę numerację + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + %n arkusz stosuje numerację „%1”, nie można jej usunąć. +Najpierw nadaj mu inną numerację. + %n arkusze stosują numerację „%1”, nie można jej usunąć. +Najpierw nadaj im inną numerację. + %n arkuszy stosuje numerację „%1”, nie można jej usunąć. +Najpierw nadaj im inną numerację. + + + Sans nom - Bez nazwy + Bez nazwy - + Importer les numérotations d'un projet - + Importuj numeracje z projektu - + Projet QElectroTech (*.qet) Projekt QElectroTech (*.qet) - - + + Import impossible - + Import niemożliwy - + Impossible d'ouvrir %1 - + Nie można otworzyć %1 - + %1 n'est pas un projet QElectroTech valide. - + %1 nie jest prawidłowym projektem QElectroTech. - - + + Aucune numérotation - + Brak numeracji - - + + Ce projet ne contient aucune numérotation automatique. - + Ten projekt nie zawiera żadnej automatycznej numeracji. - + Numérotations à importer - + Numeracje do zaimportowania - + Numérotations trouvées dans %1 : - + Numeracje znalezione w %1: - + %1 : %2 (existe déjà) - + %1: %2 (już istnieje) - + Remplacer les numérotations de même nom - + Zastąp numeracje o tej samej nazwie - + + Importer des numérotations + Importuj numeracje + + + Import terminé - + Import zakończony - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + Zaimportowano numeracji: %1, pozostawiono bez zmian: %2. - + %1 numérotation(s) importée(s). - + Zaimportowano numeracji: %1. - - - - - - - - - Nom de la nouvelle numérotation - Nazwa nowej numeracji + Nazwa nowej numeracji ProjectDBModel - + Position Pozycja - + Position du folio Pozycja arkusza @@ -7502,66 +9299,153 @@ Poniższe zmienne są zgodne: ProjectDBModelPropertiesWidget + Form - Forma + Forma + Requête - Konfiguruj + Konfiguruj + Recharger - Odśwież + Odśwież ProjectMainConfigPage - + Général configuration page title Ogólne - + Titre du projet : label when configuring Tytuł projektu: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Ten tytuł będzie dostępny dla wszystkich arkuszy projektu jako %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Tutaj możesz zdefiniować właściwości niestandardowe, które będą dostępne we wszystkich arkuszach tego projektu (zwykle w tabliczkach rysunkowych). - + Temps passé sur ce projet : label when configuring Czas poświęcony na ten projekt: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Śledź czas spędzony nad tym projektem (zapisywany tylko lokalnie w tym pliku) - + Réinitialiser button label Przywróć - - + + Croisements de conducteurs : + label when configuring + Skrzyżowania przewodów: + + + + Sans saut + wire crossings + Bez przeskoku + + + + Saut sur les conducteurs horizontaux + wire crossings + Przeskok na przewodach poziomych + + + + Saut sur les conducteurs verticaux + wire crossings + Przeskok na przewodach pionowych + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Rysuje mały łuk tam, gdzie dwa przewody krzyżują się bez połączenia. Zmienia się tylko rysunek: żaden element nie jest dodawany i żaden przewód nie jest przecinany. + + + + Conducteurs par borne + group box title + Przewody na zacisk + + + + Utiliser les réglages de l'application + checkbox label + Użyj ustawień aplikacji + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + Obowiązują ustawienia z Konfiguracja QElectroTech > Ogólne. Odznacz, aby nadać temu projektowi własne ustawienia, zapisywane w projekcie. + + + + Nombre maximal de conducteurs par borne : + label when configuring + Maksymalna liczba przewodów na zacisk: + + + + Sans limite + wires per terminal + Bez ograniczeń + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + Nowy przewód, który przekroczyłby tę liczbę na zacisku, jest odrzucany. Już narysowane przewody nie są zmieniane. 4 odpowiada dwóm podwójnym tulejkom, po jednej z każdej strony śruby. + + + + Un seul conducteur par renvoi de folio + checkbox label + Tylko jeden przewód na odsyłacz arkusza + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + Odsyłacz arkusza jest punktem wirtualnym: przyjmuje tylko jeden przewód, ten, który jest kontynuowany na drugim arkuszu. + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + Te reguły są wyłączone dla wszystkich projektów (Konfiguracja QElectroTech > Ogólne). + + + + %1 h %2 min hours and minutes of time spent on a project %1 h %2 min @@ -7605,138 +9489,138 @@ Poniższe zmienne są zgodne: W dniu: - + Option de rendu Opcje rendrowania - + Dessiner le cadre Rysuj obramowanie - + Dessiner le cartouche Rysuj tabliczkę rysunkową - + Conserver les couleurs des conducteurs Zachowaj kolory przewodów - + Dessiner les bornes Rysuj terminale - + Dessiner les noms des bornes niepewne Pokaż nazwy zacisków - + Inscrire les informations des composants Wprowadź informacje o komponencie - + Option d'impression Opcje drukowania - + Adapter le folio à la page Dostosuj arkusz do strony - + Utiliser toute la feuille Wykorzystaj całą stroną - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Jeżeli ta opcja jest zaznaczona, arkusz zostanie powiększony lub pomniejszony aby wypełniś cały obszar drukowania na stronie." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Jeżeli ta opcja jest zaznaczona, marginesy arkusza zostaną zignorowane, a cała jego powierzchnia zostanie wykorzystana do drukowania. Może to nie być obsługiwane przez Twoją drukarkę. - + toolBar Pasek narzędzi - + Ajuster la largeur Dostosuj do szerokości - + Ajuster la page Dostosuj do arkusza - + Zoom arrière Pomniejsz - + Zoom avant Powiększ - + Paysage Poziomo - + Portrait Pionowo - + Première page Pierwsza strona - + Page précédente Poprzedna strona - + Page suivante Następna strona - + Dernière page Ostatnia strona - + Afficher une seule page Podgląd pojedynczej strony - + Afficher deux pages Podgląd dwóch stron - + Afficher un aperçu de toutes les pages Podgląd wszystkich stron - + mise en page układ strony @@ -7914,162 +9798,214 @@ Czy chcesz zapisać zmiany? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Tabliczki rysunkowe QET - + Cartouches company title of the company's title block templates collection niepewne Firmowe tabliczki rysunkowe - + Cartouches utilisateur title of the user's title block templates collection Tabliczki rysunkowe użytkownika - + + Enregistrer la configuration sous... + dialog title + Zapisz konfigurację jako... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + Konfiguracje QElectroTech (*.conf) + + + + + Erreur + message box title + Błąd + + + + Impossible d'enregistrer la configuration dans « %1 ». + Nie można zapisać konfiguracji w „%1”. + + + + Charger une configuration... + dialog title + Wczytaj konfigurację... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + „%1” nie jest konfiguracją zapisaną przez QElectroTech. + + + + Charger une configuration + message box title + Wczytaj konfigurację + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + Ta konfiguracja zastąpi Twoje bieżące ustawienia, z wyjątkiem układu okien i listy ostatnich plików. + +QElectroTech zostanie następnie zamknięty. Uruchom go ponownie, aby użyć nowej konfiguracji. + +Czy chcesz kontynuować? + + + &Quitter &Zakończ - + &Masquer &Ukryj - + &Restaurer &Pokaż - + &Masquer tous les éditeurs de schéma &Ukryj wszystkie edytory schematów - + &Restaurer tous les éditeurs de schéma &Pokaż wszystkie edytory schematów - + &Masquer tous les éditeurs d'élément &Ukryj wszystkie edytory elementów - + &Restaurer tous les éditeurs d'élément &Pokaż wszystkie edytory elementów - + &Masquer tous les éditeurs de cartouche systray submenu entry &Ukryj wszystkie edytory tabliczek rysunkowych - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Pokaż wszystkie edytory tabliczek rysunkowych - + &Nouvel éditeur de schéma &Nowy edytor schematów - + &Nouvel éditeur d'élément &Nowy edytor elementów - + Ferme l'application QElectroTech Zamknij QElectroTech - + Réduire QElectroTech dans le systray Zminimalizuj QElectroTech do systemowego zasobnika - + Restaurer QElectroTech Pokaż QElectroTech - + Éditeurs de schémas Edytory schematów - + Éditeurs d'élément Edytory elementów - + Éditeurs de cartouche systray menu entry Edytory tabliczek rysunkowych - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Znaleziono następujący plik przywracania,<br>Czy chcesz go otworzyć?</b><br> + <b>Znaleziono następujący plik przywracania,<br>Czy chcesz go otworzyć?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Znaleziono następujące pliki przywracania,<br>Czy chcesz je otworzyć?</b><br> + <b>Znaleziono następujące pliki przywracania,<br>Czy chcesz je otworzyć?</b><br> - Fichier de restauration - Przywróć plik + Przywróć plik - + Rapport de plantage Raport o awarii - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. Podczas ostatniego uruchomienia QElectroTech nie wyłączył się poprawnie. Oto ostatnie komunikaty zarejestrowane przed wyłączeniem -- możesz je zapisać i uwzględnić w raporcie o błędzie. - + Rapport de diagnostic Raport diagnostyczny - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Zawartość najnowszych komunikatów dziennika dla tej sesji. Prosimy o zapoznanie się z treścią przed dołączeniem jej do publicznego zgłoszenia błędu. - + Usage : Użyć: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8086,7 +10022,7 @@ Dostępne opcje: - + [options] [fichier]... @@ -8095,113 +10031,113 @@ Dostępne opcje: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Określ katalog elementów - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches -common-tbt-dir=DIR Określ katalog kolekcji szablonów tabliczek rysunkowych - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Określ konfigurację katalogu - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Zdefiniuj folder data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Określ katalog zawierający pliki językowe - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Ładowanie... Inicjowanie pamięci podręcznej kolekcji elementów - + Chargement... Éditeur de schéma splash screen caption Ładowanie... Edytor schematów - + Chargement... Ouverture des fichiers splash screen caption Ładowanie ... Otwieranie plików - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schemat - + Electrique Normal example text - translate length, not meaning Elektryczny - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Konfiguracja QElectroTech - + Chargement... splash screen caption Ładowanie ... - + Chargement... icône du systray splash screen caption Ładowanie ... Ikona w zasobniku systemowym - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8210,102 +10146,103 @@ Dostępne opcje: QETDiagramEditor - + Afficha&ge &Widok - + Affiche ou non le panel d'appareils Pokazuje lub ukrywa panel elementów - + Ajouter une colonne Wstaw kolumnę - + &Cascade &Kaskada - + C&oller &Wklej - + Cop&ier &Kopiuj - + Co&uper &Wytnij - + Désélectionner tout Odznacz - + &Édition &Edycja - + Enlever une colonne Usuń kolumnę - + &Enregistrer &Zapisz - + Enregistrer sous Zapisz jako - + E&xporter &Eksportuj - + Fe&nêtres &Okna - + + &Fermer &Zamknij - + &Fichier &Plik - + Imprimer Drukuj - + Inverser la sélection Odwróć zaznaczenie - + Mode Selection Tryb edycji - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Ten panel zawiera listę czynności wykonanych w bieżącym arkuszu. Kliknij wykonaną czynność z listy aby powrócić do etapu edycji schematu po jej zastosowaniu. @@ -8321,1224 +10258,1660 @@ Dostępne opcje: Wyświetla tło arkusza w kolorze białym lub szarym - + Afficher la grille Pokaż siatkę - + Affiche ou masque la grille des folios Pokaż lub ukryj sietkę arkuszy - + Propriétés du folio Właściwości arkusza - + Ajouter un folio Wstaw arkusz - - - + + + Supprimer le folio Usuń arkusz - + Mode Visualisation Tryb podglądu - + &Mosaïque &Mozaika - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Edytor schematów - + Exporter en pdf Eksportuj do pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Eksportuj jeden lub kilka arkuszy bierzącego projektu - + Afficher les guides Pokaż przewodniki - + Affiche ou masque les guides Pokaż lub ukryj przewodniki - + Exporter au format CSV Eksportuj do farmatu CVS - + Gestionnaire de borniers (DEV) Menedżer listw zaciskowych (DEV) - + Lancer le plugin de création de borniers Wtyczka do tworzenia listw zaciskowych - + Exporter la liste des noms de conducteurs Wyeksportuj listę nazw przewodów - + Exporter le plan de câblage Eksportuj plan oprzewodowania - + Numérotation automatique des bornes Automatyczna numeracja zacisków - + Exporter la base de donnée interne du projet Wyeksportuj wewnętrzną bazę danych projektu - + &Nouveau &Nowy - + Crée un nouveau projet status bar tip Tworzy nowy projekt - + Ouvre un projet existant status bar tip Otwiera istniejący projekt - + Ferme le projet courant status bar tip Zamyka bieżący projekt - + Enregistre le projet courant et tous ses folios status bar tip Zapisuje bieżący projekt i wszystkie arkusze należące do projektu - + Enregistre le projet courant avec un autre nom de fichier status bar tip Zapisuje bieżący projekt z inną nazwą pliku - + Ajouter une ligne Add row Wstaw linię - + Enlever une ligne Remove row Usuń wiersz - + Ajoute une colonne au folio status bar tip Wstawia kolumnę do arkusza - + Enlève une colonne au folio status bar tip Usuwa kolumnę z arkusza - + Agrandit le folio en hauteur status bar tip Dodaje wiersz do arkusza - + Rétrécit le folio en hauteur status bar tip Usuwa wiersz z arkusza - + Enlève les éléments sélectionnés du folio status bar tip Usuwa zaznaczenie elementów w arkuszu - + Sélectionne tous les éléments du folio status bar tip Zaznacza wszystkie elementy w arkuszu - + Désélectionne tous les éléments du folio status bar tip Usuwa zaznaczenie wszystkich elementów w arkuszu - + Agrandit le folio status bar tip Powiększa arkusz - + Rétrécit le folio status bar tip Pomniejsza arkusz - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Dostosowuje powiększenie w celu pokazania całej zawartości bez obramowania - + Adapte le zoom exactement sur le cadre du folio status bar tip Dostosowuje powiększenie do obramowania arkusza - + Ajouter une ligne Draw line Wstaw linię - + Ajouter un rectangle Wstaw prostokąt - + Ajouter une ellipse Wstaw elipsę - + Ajouter une polyligne Wstaw wielokąt - + Exporte le folio courant dans un autre format status bar tip Eksportuje bieżącą arkusz do innego formatu - + Imprime un ou plusieurs folios du projet courant status bar tip Drukuje jeden lub więcej arkuszy bieżącego projektu - + + Profondeur toolbar title Głębokość - + Groupe Grupa - + Place les éléments du presse-papier sur le folio status bar tip Wkleja elementy ze schowka do arkusza - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Edytuje właściwości arkusza (rozmiar, informacje w tabliczce rysunkowej, właściwości przewodu...) - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Podgląd arkusza bez możliwości edycji - + + Outils Narzędzia - + &Ouvrir &Otwórz - + Ouvrir un fichier Otwórz plik - + Pas de zoom Bez powiększenia - + Pivoter Obróć - + &Quitter &Zakończ - + Supprimer Usuń - + Tout sélectionner Zaznacz wszystko - + Zoom adapté Dostosuj powiększenie - + Zoom arrière Pomniejsz - + Zoom avant Powiększ - + Annuler Cofnij - + Refaire Przywróć - + Réinitialiser les conducteurs Przywróć trasy przewodów - + Affiche ou non la barre d'outils principale Pokazuje lub ukrywa główny pasek narzędzi - + Affiche ou non la barre d'outils Affichage Pokazuje lub ukrywa pasek narzędzi Widok - + Affiche ou non la barre d'outils Schéma Pokazuje lub ukrywa pasek narzędzi Schemat - + + Affichage Widok - + + Schéma Schemat - + Ajouter un champ de texte Wstaw pole tekstowe - + Aucune modification Bez zmian - + Affiche ou non la liste des modifications Pokazuje lub ukrywa listę zmian - + Éditer l'item sélectionné Edycja zaznaczonej pozycji - + Grouper les textes sélectionnés Grupowanie zaznaczonych tekstów - + Pivote les éléments et textes sélectionnés status bar tip Obraca zaznaczone elementy i teksty - + Pivote les textes sélectionnés à un angle précis status bar tip Obraca zaznaczone teksty o dowolny kąt - + Chercher/remplacer Znajdź/zastąp - + &Projet &Projekt - + &Récemment ouverts &Ostatnio otwarte - - + + Projet %1 enregistré dans le repertoire: %2. Projekt %1 zapisany w kataligu: %2. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Wydaje się, że plik, który próbujesz otworzyć, nie jest do odczytu. Dlatego też nie można go otworzyć. Sprawdź uprawnienia do plików. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Wydaje się, że projektu, który próbujesz otworzyć, nie można zapisać. Będzie on otwarty w trybie tylko do odczytu. - + en utilisant des onglets za pomocą kart - + en utilisant des fenêtres za pomocą okien - + Afficher les projets Pokaż projekty - + Propriétés du projet Właściwości projektu - + Nettoyer le projet Wyczyść projekt - - + + Échec de l'ouverture du projet message box title Projektu nie można otworzyć - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Wydaje się, że plik %1 nie jest plikiem projektu QElectroTech. Dlatego też nie można go otworzyć. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Cofnij - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Kliknij wykonaną czynność z listy, aby powrócić do etapu edycji schematu po jej zastosowaniu - + Orienter les textes Orientacja tekstów - + Retrouver dans le panel Znajdź w panelu - + Ajouter une image Wstaw obraz - + Ajouter un sommaire Wstaw spis arkuszy - + Zoom sur le contenu Powiększenie zawartości - + Ferme l'application QElectroTech status bar tip Zamyka QElectroTech - + Annule l'action précédente status bar tip Cofa poprzednią akcję - + Restaure l'action annulée status bar tip Przywraca cofniętą akcję - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Umieszcza zaznaczone elementy w schowku - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopiuje zaznaczone elementy do schowka - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Odznacza zaznaczone elementy i zaznacza odznaczone elementy - + Retrouve l'élément sélectionné dans le panel status bar tip Wyszukuje zaznaczony element w panelu - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Przywraca trasy przewodów, niezależnie od zmian wprowadzonych przez użytkownika - + Création automatique de conducteur(s) Tool tip of auto conductor Automatyczne wstawianie przewodu (ów) - + Projets dock title Projekty - + Collections Kolekcje - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Wstawia automatycznie przewód (y), jeżeli jest to możliwe - + Restaure le zoom par défaut status bar tip Przywraca domyślny poziom powiększenia - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Pokazuje otwarte projekty w oknach - - Dupli&quer - + + Coller au point d'origine + Wklej w punkcie początkowym - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Umieszcza elementy ze schowka w ich pierwotnej pozycji i przenosi kursor do tego punktu + + + + Dupli&quer + Po&wiel + + + Copie la sélection, décalée de l'espacement configuré status bar tip - + Kopiuje zaznaczenie, przesunięte o skonfigurowany odstęp - + Configurer la duplication... - + Konfiguruj powielanie... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Wybierz odstęp i kierunek używane przez Powiel - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Automatyczne odłączenie przewodu (w) - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Automatyczne odłączanie istniejących przewodów podczas umieszczania elementu - + Grille des textes - + Siatka tekstów - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Siatka przyciągania tekstów przesuwanych myszą. +Przytrzymaj Ctrl podczas przesuwania, aby umieścić swobodnie. - + Désactivée - + Wyłączona - + Garder les en-têtes visibles - + Zachowaj widoczne nagłówki - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Utrzymuje numery kolumn i litery wierszy arkusza widoczne przy krawędzi widoku - + Afficher les limites des cases - - - - - Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + Pokaż granice pól + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Rysuje granice kolumn i wierszy arkusza na schemacie, tylko na ekranie + + + + Afficher + Widok + + + + Textes des éléments + Teksty elementów + + + + Textes des conducteurs + Teksty przewodów + + + + Champs de texte + Pola tekstowe + + + + Formes + Kształty + + + + Images + Obrazy + + + + Tableaux + Tabele + + + + Références croisées + Oznaczenia referencyjne + + + + Voir Affichage > Afficher + Zobacz Widok > Pokaż + + + Ajouter une nomenclature Wstaw spis elementów - + Liste de câblage (base de données) - + Lista połączeń (baza danych) - - - + + + Recharger les dessins des éléments - + Wczytaj ponownie rysunki elementów - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Przerysowuje każdy umieszczony element według jego bieżącej definicji, bez zamykania i ponownego otwierania projektu (operacji nie można cofnąć) - + Exécuter un script... - + Wykonaj skrypt... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + Wykonuje skrypt JavaScript na bieżącym projekcie (zobacz qet.* w skrypcie, aby poznać dostępne API) - + + Enregistrer une macro + Nagraj makro + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Nagrywa to, co robisz w projekcie, aby asystent AI mógł zrobić z tego skrypt; kliknij ponownie, aby zatrzymać + + + + Gérer les scripts… + Zarządzaj skryptami… + + + + Écrire un script et en faire un bouton avec une icône + Napisz skrypt i zrób z niego przycisk z ikoną + + + + Ouvrir le dossier des scripts + Otwórz folder skryptów + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Każdy plik .js w tym folderze zaczynający się od nagłówka // ==QETScript== staje się przyciskiem + + + Présente les différents projets ouverts des onglets status bar tip Pokazuje otwarte projekty w kartach - + Permet de sélectionner les éléments status bar tip Pozwala zaznaczać elementy - + Pivoter le groupe Obróć grupę - - Insérer le dernier élément - + + + Grouper + Grupuj - + + Dégrouper + Rozgrupuj + + + + Insérer le dernier élément + Wstaw ostatni element + + + Place à nouveau le dernier élément inséré status bar tip - + Umieszcza ponownie ostatnio wstawiony element - + Rechercher une commande… - + Szukaj polecenia… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Wpisz część nazwy polecenia i naciśnij Enter, aby je uruchomić - + Insérer un élément… - + Wstaw element… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Otwiera wybór elementów w pozycji kursora - + Barre de raccourcis - + Pasek skrótów - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Otwiera w pozycji kursora polecenia przydatne dla zaznaczenia oraz wybór elementów - + Répéter la dernière commande - + Powtórz ostatnie polecenie - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Uruchamia ponownie ostatnie narzędzie rysowania lub ostatnie wstawienie elementu (Enter na arkuszu) - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Obróć zaznaczenie jako grupę wokół jej środka, zamiast każdego elementu na swoim miejscu - - Aligner sur la grille - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Grupuje zaznaczone elementy, teksty, kształty i obrazy: są zaznaczane, przesuwane i kopiowane razem - + + Défait les groupes sélectionnés + status bar tip + Rozwiązuje zaznaczone grupy + + + + Aligner sur la grille + Wyrównaj do siatki + + + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + Przywraca zaznaczone elementy, obrazy i teksty na siatkę - + + Aligner à gauche + Wyrównaj do lewej + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Wyrównuje lewe krawędzie zaznaczonych obiektów + + + + Centrer horizontalement + Wyśrodkuj w poziomie + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Wyrównuje zaznaczone obiekty do jednej linii pionowej, elementy według ich punktu początkowego + + + + Aligner à droite + Wyrównaj do prawej + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Wyrównuje prawe krawędzie zaznaczonych obiektów + + + + Aligner en haut + Wyrównaj do góry + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Wyrównuje górne krawędzie zaznaczonych obiektów + + + + Centrer verticalement + Wyśrodkuj w pionie + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Wyrównuje zaznaczone obiekty do jednej linii poziomej, elementy według ich punktu początkowego + + + + Aligner en bas + Wyrównaj do dołu + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Wyrównuje dolne krawędzie zaznaczonych obiektów + + + Sélectionner tous les conducteurs - + Zaznacz wszystkie przewody - + Sélectionner tous les champs de texte - + Zaznacz wszystkie pola tekstowe - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Zaznacza wszystkie przewody arkusza, odznacza resztę - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zaznacza wszystkie pola tekstowe arkusza, odznacza resztę - + + Centrer sur le curseur + Wyśrodkuj na kursorze + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Centruje arkusz na punkcie pod kursorem myszy, bez zmiany powiększenia + + + Ajouter un PDF Wstaw PDF - + + Ajouter un arc + Wstaw łuk + + + Ajouter une courbe Dodaj krzywą - + + Ajouter un congé + Dodaj zaokrąglenie + + + Ajouter un plan de bornes Wstaw plan listwy zaciskowej - + Ajoute un champ de texte sur le folio actuel Wstaw pole tekstowe do bieżącego arkusza - + Ajoute une image sur le folio actuel Wstaw obraz do bieżącego arkusza - + Ajoute une page PDF sur le folio actuel Wstaw stronę PDF do bieżącego arkusza - + Ajoute une ligne sur le folio actuel Wstaw linię do bieżącego arkusza - + Ajoute un rectangle sur le folio actuel Wstaw prostokąt do bieżącego arkusza - + Ajoute une ellipse sur le folio actuel Wstaw elipsę do aktualnego arkusza - + + Ajoute un arc sur le folio actuel + Wstaw łuk do bieżącego arkusza + + + Ajoute une polyligne sur le folio actuel Wstaw wielokąt do bieżącego arkusza - + Ajoute une courbe de Bézier sur le folio actuel Wstaw krzywą Béziera do bieżącego arkusza - + + Arrondit le coin entre deux lignes du folio actuel + Zaokrągla narożnik między dwiema liniami bieżącego arkusza + + + Ajoute un plan de bornier sur le folio actuel Wstaw plan listwy zaciskowej w bieżącym arkuszu - + Atteindre un élément Przejdź do elementu - + Recherche et sélectionne rapidement un élément du folio status bar tip Szybkie wyszukiwanie i wybieranie elementów w arkuszu - + + Retenu après un redémarrage + Zachowywane po ponownym uruchomieniu + + + + Ajouter Wstawienie - + + Scripts + toolbar title + Skrypty + + + A&jouter - + &Dodaj - + + Sélection + Zaznaczenie + + + Aligner - + Wyrównaj - + Lignes et colonnes - + Wiersze i kolumny - + + Profondeur + Głębokość + + + + + Scripts + Skrypty + + + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Projekty QElectroTech (*.qet);;Pliki XML (*.xml);;Wszystkie pliki (*) - - + + Impossible d'ouvrir le fichier message box title Nie można otworzyć pliku - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Wydaje się, że plik %1 który próbujesz otworzyć nie istnieje. - + Ouverture du projet en lecture seule message box title Otwórz plik tylko do odczytu - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content + Przywrócono %n opis czcionki zapisany w obcym lub uszkodzonym formacie. Zostanie on przepisany w stabilnym formacie przy następnym zapisie projektu. + Przywrócono %n opisy czcionek zapisane w obcym lub uszkodzonym formacie. Zostaną one przepisane w stabilnym formacie przy następnym zapisie projektu. Przywrócono %n opisów czcionek zapisanych w obcym lub uszkodzonym formacie. Zostaną one przepisane w stabilnym formacie przy następnym zapisie projektu. - - - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content - Nie udało się odczytać %n czcionek. W tych tekstach zostanie użyta czcionka domyślna. - - + Nie udało się odczytać %n opisu czcionki. W tym tekście zostanie użyta czcionka domyślna. + Nie udało się odczytać %n opisów czcionek. W tych tekstach zostanie użyta czcionka domyślna. + Nie udało się odczytać %n opisów czcionek. W tych tekstach zostanie użyta czcionka domyślna. - + Polices du projet message box title Zasady projektu - + + Folio %1 : %2 + Arkusz %1: %2 + + + + Conducteurs non chargés + message box title + Nie wczytano przewodów + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n przewód nie mógł zostać połączony ze swoimi zaciskami i nie został wczytany. Definicja elementu w projekcie została prawdopodobnie zastąpiona inną, o innych zaciskach. + +Jeśli zapiszesz projekt, ten przewód zniknie z pliku. Zamknij go bez zapisywania, aby zachować plik bez zmian. + %n przewody nie mogły zostać połączone ze swoimi zaciskami i nie zostały wczytane. Definicja elementu w projekcie została prawdopodobnie zastąpiona inną, o innych zaciskach. + +Jeśli zapiszesz projekt, te przewody znikną z pliku. Zamknij go bez zapisywania, aby zachować plik bez zmian. + %n przewodów nie mogło zostać połączonych ze swoimi zaciskami i nie zostało wczytanych. Definicja elementu w projekcie została prawdopodobnie zastąpiona inną, o innych zaciskach. + +Jeśli zapiszesz projekt, te przewody znikną z pliku. Zamknij go bez zapisywania, aby zachować plik bez zmian. + + + + Suppression de borne impossible Nie można usunąć terminala - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer Usuwanięcie nie jest możliwe, ponieważ zaznaczenie zawiera jeden lub więcej zacisków z mostkami i/lub należących do zacisku wielopoziomowego. Usuń mostki i/lub poziomy powiązanych zacisków, aby móc je usunąć - + %n objet(s) remis sur la grille - - - - + + %n obiekt przywrócony na siatkę + %n obiekty przywrócone na siatkę + %n obiektów przywróconych na siatkę - - - La sélection est déjà sur la grille - - - - (%n objet(s) verrouillé(s) laissé(s) en place) - - - - + + %n objet(s) aligné(s) + + Wyrównano %n obiekt + Wyrównano %n obiekty + Wyrównano %n obiektów - + + La sélection est déjà sur la grille + Zaznaczenie jest już na siatce + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Zaznacz co najmniej dwa niezablokowane elementy, obrazy, teksty, kształty lub grupy + + + + La sélection est déjà alignée, à la grille près + Zaznaczenie jest już wyrównane, z dokładnością do siatki + + + + (%n objet(s) verrouillé(s) laissé(s) en place) + + (%n zablokowany obiekt pozostawiono na miejscu) + (%n zablokowane obiekty pozostawiono na miejscu) + (%n zablokowanych obiektów pozostawiono na miejscu) + + + + Éditer l'élement edit element Edycja elementu - + Éditer le champ de texte edit text field Edycja pola tekstowego - + Éditer l'image edit image Edycja obrazu - + Éditer le conducteur edit conductor Edycja właściwości przewodu - + Éditer l'objet sélectionné edit selected item Edycja zaznaczonego objektu - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Wystąpił błąd podczas otwierania pliku %1. - + Active le projet « %1 » Aktywny projekt « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? Czy na pewno chcesz usunąć ten arkusz? - + Supprimer les folios Usunąć arkusze - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Czy na pewno chcesz usunąć %1 wybranych arkuszy? - + Supprimer %1 folios Usuń %1 arkuszy - - - - - - - + + + + + + + Déplacer les folios Przesunięcie arkuszy - + Erreur message box title Błąd - + Répéter : insérer « %1 » - + Powtórz: wstaw „%1” - + Répéter : %1 - + Powtórz: %1 - + folio %1 - + arkusz %1 - + %n élément(s) redessiné(s). - - - - + + Przerysowano %n element. + Przerysowano %n elementy. + Przerysowano %n elementów. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - - - - + + %n element, którego definicji nie można znaleźć lub odczytać: zachowano jego bieżący rysunek. + %n elementy, których definicji nie można znaleźć lub odczytać: zachowano ich bieżący rysunek. + %n elementów, których definicji nie można znaleźć lub odczytać: zachowano ich bieżący rysunek. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - - - - + + %n element nie został przerysowany: zmienił się jego rozmiar, punkt uchwytu lub zaciski (zacisk dodany, usunięty lub przesunięty). + %n elementy nie zostały przerysowane: zmienił się ich rozmiar, punkt uchwytu lub zaciski (zacisk dodany, usunięty lub przesunięty). + %n elementów nie zostało przerysowanych: zmienił się ich rozmiar, punkt uchwytu lub zaciski (zacisk dodany, usunięty lub przesunięty). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - + Aby je zaktualizować, należy je usunąć, a następnie wstawić ponownie. Uwaga: ta operacja usuwa przewody już podłączone do tych elementów, które trzeba będzie narysować ponownie. - - + + Exécuter un script - + Wykonaj skrypt - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech > Général > Projets. - + Skrypty są wyłączone. + +Skrypt działa z Twoimi uprawnieniami: może czytać i modyfikować otwarty projekt oraz zapisywać pliki. Wykonuj tylko skrypty, których pochodzenie znasz. + +Włączyć skrypty? To ustawienie można zmienić w Konfiguracja QElectroTech > Ogólne > Projekty. - + Scripts JavaScript (*.js);;Tous les fichiers (*) - + Skrypty JavaScript (*.js);;Wszystkie pliki (*) - - + + Ignoré : %1 + Pominięto: %1 + + + + + Arrêter + Zatrzymaj + + + + Arrêter l'enregistrement de la macro + Zatrzymaj nagrywanie makra + + + + ● Enregistrement : %n étape(s) + + ● Nagrywanie: %n krok + ● Nagrywanie: %n kroki + ● Nagrywanie: %n kroków + + + + + Macro enregistrée + Makro nagrane + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + „%1”: %n krok. + +Aby zrobić z niego skrypt, poproś swojego asystenta AI: poniższy przycisk kopiuje prośbę, wystarczy wkleić ją w jego oknie. + „%1”: %n kroki. + +Aby zrobić z niego skrypt, poproś swojego asystenta AI: poniższy przycisk kopiuje prośbę, wystarczy wkleić ją w jego oknie. + „%1”: %n kroków. + +Aby zrobić z niego skrypt, poproś swojego asystenta AI: poniższy przycisk kopiuje prośbę, wystarczy wkleić ją w jego oknie. + + + + + &Copier la demande pour l'assistant + &Kopiuj prośbę dla asystenta + + + + &Ouvrir le dossier + &Otwórz folder + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Prośba skopiowana: wklej ją w oknie asystenta + + + + Couper la connexion de l'assistant pour le reste de la session + Przerwij połączenie z asystentem do końca sesji + + + + Mode direct : assistant connecté + Tryb bezpośredni: asystent połączony + + + + Mode direct : en attente d'un assistant + Tryb bezpośredni: oczekiwanie na asystenta + + + + + Assistant + Asystent + + + + Demander avant d'exécuter un script écrit par l'assistant + Pytaj przed wykonaniem skryptu napisanego przez asystenta + + + Pour cette session seulement : chaque démarrage redemande + Tylko w tej sesji: każde uruchomienie pyta ponownie + + + + Mode direct : %1 %2 à %3 + Tryb bezpośredni: %1 %2 o %3 + + + + %n type(s) d'objets masqué(s) + + Ukryto %n typ obiektów + Ukryto %n typy obiektów + Ukryto %n typów obiektów + + + + + Textes %1 - + Teksty %1 - + Dispose les fenêtres en mosaïque status bar tip Prezentuje okna w postaci mozaiki - + Dispose les fenêtres en cascade status bar tip Prezentuje okna w postaci kaskady - + Projet suivant Następny projekt - + Projet précédent Poprzedni projekt - + Active le projet suivant status bar tip Uaktywnia następny projekt - + Active le projet précédent status bar tip Uaktywnia poprzedni projekt @@ -9547,27 +11920,27 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Nowy - + &Ouvrir &Otwórz - + &Enregistrer &Zapisz - + Enregistrer sous Zapisz jako - + Tout sélectionner Zaznacz wszystko @@ -9577,335 +11950,335 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Edytor elementów - + &Aide &Pomoc - + Annulations Cofnij - + Parties Części - + Informations Informacje - + Outils Narzędzia - + Affichage Widok - + Élément Element - + Annulation Anulowanie - + Exporter en SVG Eksportuj do SVG - + &Fermer cet éditeur &Zamknij edytor - + Fermer cet éditeur Zamknij edytor - + Désélectionner tout Odznacz wszystko - + C&oller dans la zone W&klej do strefy - + Un fichier Plik - + Un élément Element - + Inverser la sélection Odwróć zaznaczenie - + &Supprimer &Usuń - + À &propos de QElectroTech &O QElectroTech - + Affiche des informations sur QElectroTech Wyświetla informacje o QElectroTech - + Manuel en ligne Podręcznik online - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Uruchamia domyślną przeglądarkę dla podręcznika online QElectroTech - + Chaine Youtube Kanał Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Uruchamia domyślną przeglądarkę dla kanału QElectroTech na Youtube - + Soutenir le projet par un don Dotacja na wsparcie projektu - + Soutenir le projet QElectroTech par un don Dotacja na wsparcie projektu QElectroTech - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt Wyświetla informacje o bibliotece Qt - + Rotation Obrót - + Fine-Rotation Obrót precyzyjny - + Mirror Mirror - + Flip do zrobienia Flip - + Importer un dxf Importuj plik dxf - + importer un élément à redimensionner importuj element i zmień jego rozmiar - + Ajouter une ligne Wstaw linię - + Ajouter une ellipse Wstaw elipsę - + Ajouter un polygone Wstaw wielokąt - + Ajouter du texte Wstaw tekst - + Ajouter un arc de cercle Wstaw łuk - + Ajouter une borne Wstaw terminal - + Annuler Cofnij - + Refaire Przywróć - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>W przypadku braku terminala element nie może być połączony z innymi elementami za pomocą przewodów. - + Aucune modification Bez zmian - + Recharger Odśwież - + Zoom avant Powiększ - + Zoom arrière Pomniejsz - + Zoom adapté Dostosuj powiększenie - + Pas de zoom Bez powiększenia - + &Ouvrir depuis un fichier &Otwórz z pliku - + Enregistrer dans un fichier Zapisz do pliku - + Éditer les informations sur l'auteur Edytuj informacje autora - + Parties toolbar title Części - + Profondeur toolbar title Głębokość - + Éditer le nom et les traductions de l'élément Edytuj nazwę i tłumaczenie nazwy elementu - + Éditer les propriétés de l'élément Edytuj właściwiści elementu - + Ajouter un champ texte dynamique Wstaw dynamiczne pole tekstowe - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Kliknij dwukrotnie aby zamknąć kształt, kliknij prawym klawiszem aby cofnąć ostatni punkt - + &Fichier &Plik - + &Édition &Edycja - + Afficha&ge &Widok - + Coller depuis... Wklej z... - + [Modifié] window title tag [Zmodyfikowano] - + [lecture seule] window title tag [tylko do odczytu] - + Éditeur d'éléments status bar message Edytor elementów - - + + %n partie(s) sélectionnée(s). wybranej części. @@ -9914,24 +12287,24 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Brak terminala - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Błąd</b>:<br>Odsyłacze do arkuszy muszą zawierać jeden terminal.<br><b>Rozwiązanie</b>:<br>Sprawdź czy element zawiera tylko jeden terminal - + La vérification de cet élément a généré message box content Weryfikacja elementu zakończona - + %n erreur(s) errors @@ -9941,32 +12314,32 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et i - + Erreurs Błędy - + Absence de borne Brak terminala - + Ajouter un texte d'élément non éditable dans les schémas Dodaj nieedytowalny tekst elementu w schematach - + Ajouter un texte d'élément pouvant être édité dans les schémas Dodaj edytowalny tekst elementu w schematach - + %n avertissement(s) warnings %n ostrzeżeń @@ -9977,293 +12350,350 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Le fichier %1 n'existe pas. message box content Plik %1 nie istnieje. - + Afficher menu entry Widok - - + + Impossible d'ouvrir le fichier %1. message box content Nie można otworzyć pliku %1. - - + + Ce fichier n'est pas un document XML valide message box content Ten plik nie jest poprawnym dokumentem XML - - + + Erreur toolbar title Błąd - - + + Édition en lecture seule message box title Edycja w trybie tylko do odczytu - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nie masz uprawnień do modyfikacji tego elementu. Edycja w trybie tylko do odczytu. - - + + Erreur message box title Błąd - + Impossible d'écrire dans ce fichier message box content Nie można zapisać do tego pliku - + Impossible d'enregistrer l'élément message box content Nie można zapisać elementu - + Trop de primitives, liste non générée: %1 Zbyt dużo elementów podstawowych, lista nie zostanie wygenerowana: %1 - + Nombre de bornes incorrect Nieprawidłowa ilość zacisków - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Błąd</b>:<br>Definicje przewodów mogą mieć tylko jeden terminal.<br><b>Rozwiązanie</b>:<br>Sprawdź, czy element ma tylko jeden terminal - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + Powtórzone nazwy zacisków + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Błąd</b>:<br>Kilka zacisków ma tę samą nazwę: %1.<br><b>Rozwiązanie</b>:<br>Nadaj każdemu zaciskowi unikalną nazwę, na przykład N.1 i N.2. Zaciski, których to dotyczy, są zaznaczone. + + + + Bornes sans nom + Zaciski bez nazwy + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n zacisk bez nazwy. Bez unikalnych nazw zacisków lista połączeń (co z czym jest połączone) nie może wskazać każdego zacisku, a więc nie może służyć do okablowania szafy w warsztacie. + <br>%n zaciski bez nazwy. Bez unikalnych nazw zacisków lista połączeń (co z czym jest połączone) nie może wskazać każdego zacisku, a więc nie może służyć do okablowania szafy w warsztacie. + <br>%n zacisków bez nazwy. Bez unikalnych nazw zacisków lista połączeń (co z czym jest połączone) nie może wskazać każdego zacisku, a więc nie może służyć do okablowania szafy w warsztacie. + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Edytor elementów - + + Afficher le cadre de fond + Pokaż ramkę tła + + + + Taille du cadre de fond... + Rozmiar ramki tła... + + + + Taille du cadre de fond + Rozmiar ramki tła + + + + + px + px + + + + Largeur + Szerokość + + + + Hauteur + Wysokość + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Eksportuj do SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG Obraz SVG (*.svg) - + Échec de l'export Niepowodzenie eksportu - + Impossible d'écrire dans le fichier « %1 ». Nie można zapisać do pliku "%1". - + Avertissement Uwaga - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Importowanie dużego pliku dxf może zająć trochę czasu proszę czekać podczas importowania... - + Importer un élément à redimensionner importuj element i zmień jego rozmiar - + Éléments QElectroTech (*.elmt) Elementy QElectroTech (*.elmt) - + Impossible d'ouvrir le fichier message box title Nie można otworzyć pliku - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Wydaje się, że plik %1 który próbujesz otworzyć nie istnieje. - - - + + + Echec de l'enregistrement Zapisanie nie powidło się - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Zapisanie nie powiodło się, wymagane warunki nie zostały spełnione - + Ouvrir un fichier dialog title Otwórz plik - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementy QElectroTech (*.elmt);;Pliki XML (*.xml);;Wszystkie pliki (*) - + Recharger l'élément dialog title Odśwież element - + Avertissements Ostrzeżenia - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Ten element został zmodyfikowany od ostatniego zapisu. Jeśli go odświeżysz, zmiany zostaną utracone. Czy na pewno chcesz odświeżyć ten element? - + Enregistrer sous dialog title Zapisz jako - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementy QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Zapisać bieżący element? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Chcesz zapisać element %1 ? - - - - + + + + Élément inexistant. message box title Nieistniejący element. - - + + L'élément n'existe pas. message box content Element nie istnieje. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Wybrana ścieżka dostępu, nie prowadzi do elementu. - + Co&uper &Wytnij - + Cop&ier &Kopiuj - + C&oller &Wklej - + Ajouter un rectangle Wstaw prostokąt @@ -10271,137 +12701,194 @@ wymagane warunki nie zostały spełnione QETMainWindow - + &Configurer QElectroTech &Konfiguracja QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Ustawia różne parametry QElectroTech - + À &propos de QElectroTech &O QElectroTech - + Affiche des informations sur QElectroTech status bar tip Wyświetla informacje o QElectroTech - + Manuel en ligne Podręcznik online - + Chaine Youtube Kanał Youtube - - + + Télécharger une nouvelle version (dev) Pobierz nową wersję (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Uruchamia domyślną przeglądarkę dla podręcznika online QElectroTech - - + + Enregistrer la configuration sous... + Zapisz konfigurację jako... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Zapisuje ustawienia QElectroTech do pliku + + + + + + + + + + + + + + + + + Général Ogólne - + + &Personnaliser... + &Dostosuj... + + + + Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre + status bar tip + Paski narzędzi, pasek skrótów, klawiatura i gesty myszy w jednym oknie + + + + Charger une configuration... + Wczytaj konfigurację... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Zastępuje ustawienia QElectroTech ustawieniami z pliku, a następnie zamyka QElectroTech + + + + Connecter un assistant IA... + Połącz asystenta AI... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Wyświetla konfigurację pozwalającą asystentowi AI korzystać z QElectroTech + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Uruchamia domyślną przeglądarkę dla kanału QElectroTech na Youtube - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Uruchamia domyślną przeglądarkę dla repozytorium Nightly QElectroTech na Youtube - + Soutenir le projet par un don Dotacja na wsparcie projektu - + Soutenir le projet QElectroTech par un don status bar tip Dotacja na wsparcie projektu QElectroTech - + À propos de &Qt O &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Wyświetla informacje o bibliotece Qt - + Enregistrer un rapport de diagnostic... Zapisz raport diagnostyczny... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Generuje raport z najnowszymi komunikatami dziennika, które można uwzględnić w zgłoszeniu błędu - + &Configuration window menu &Ustawienia - + &Aide window menu &Pomoc - + Sortir du &mode plein écran Zakończ tryb &pełnoekranowy - + Affiche QElectroTech en mode fenêtré status bar tip Wyświetla QElectroTech w trybie okienkowym - + Passer en &mode plein écran &Tryb pełnoekranowy - + Affiche QElectroTech en mode plein écran status bar tip Wyświetla QElectroTech w trybie pełnoekranowym - + Afficher menu entry Widok @@ -10410,58 +12897,58 @@ wymagane warunki nie zostały spełnione QETProject - + Avertissement message box title Uwaga - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Projekt bez tytułu - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [tylko do odczytu] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [zmieniony] - + Renumber elements - + Przenumeruj elementy - + Renumber elements (%1) - + Przenumeruj elementy (%1) - + Système de contacts modifié Modyfikacja grup zestyków - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10472,13 +12959,13 @@ Istniejące elementy podrzędne nie zostaną automatycznie przypisane. Konieczne Czy chcesz kontynuować? - + Une erreur s'est produite durant l'intégration du modèle. error message Wystąpił błąd podczas integracji szablonu. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10487,7 +12974,7 @@ Vous utilisez actuellement QElectroTech en version %2 Obecnie używasz QElectroTech w wersji %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10496,32 +12983,32 @@ Que désirez vous faire ? Co chcesz zrobić? - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Projekt, który próbujesz otworzyć, jest częściowo zgodny z twoją wersją %1 QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Dla pełnej kompatybilności, otwórz ten projekt z wersją 0.8 lub 0.80 QElectroTech, zapisz projekt i otwórz go ponownie z tą wersją. Co chcesz zrobić? - + Avertissement message box title Ostrzeżenie - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Otwieranie projektu trwa...</b><br/>Tworzenie arkusza</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Otwieranie projektu trwa...</b><br/>Konfiguracja odsyłaczy</p> @@ -10531,186 +13018,184 @@ Co chcesz zrobić? Impossible de vérifier la requête : la base de données ne peut pas être mise en lecture seule. - + Nie można sprawdzić zapytania: bazy danych nie można przełączyć w tryb tylko do odczytu. Seules les requêtes en lecture seule sont autorisées : cette requête modifierait la base de données. - + Dozwolone są tylko zapytania tylko do odczytu: to zapytanie zmodyfikowałoby bazę danych. Requête SQL invalide : %1 - + Nieprawidłowe zapytanie SQL: %1 QETTitleBlockTemplateEditor - + Enregistrer le modèle en cours ? dialog title Zapisać bieżący szablon? - + Voulez-vous enregistrer le modèle %1 ? dialog content - %1 is a title block template name Czy chcesz zapisać szablon %1 ? - + nouveau_modele template name suggestion when duplicating the default one nowy_szablon - + Dupliquer un modèle de cartouche input dialog title Powielanie szablonu tabliczki rysunkowej - + Pour dupliquer ce modèle, entrez le nom voulu pour sa copie input dialog text Wpisz nazwę kopii dla powielanego szablonu - + &Nouveau menu entry &Nowy - + &Ouvrir menu entry &Otwórz - + Ouvrir depuis un fichier menu entry Otwórz z pliku - + &Enregistrer menu entry &Zapisz - + Enregistrer sous menu entry Zapisz jako - + Enregistrer vers un fichier menu entry Zapisz do pliku - + &Quitter menu entry &Zakończ - + Gérer les logos menu entry Zarządzanie logo - + Zoom avant menu entry Powiększ - + Zoom arrière menu entry Pomniejsz - + Zoom adapté menu entry Dostosuj powiększenie - + Pas de zoom menu entry Bez powiększenia - + Enregistrer sous dialog title Zapisz jako - + Modèles de cartouches QElectroTech (*%1) filetypes allowed when saving a title block template file - %1 is the .titleblock extension Szablony tabliczek rysunkowych QElectroTech (*%1) - + &Fusionner les cellules menu entry &Scal komórki - + Co&uper menu entry &Wytnij - + Cop&ier menu entry &Kopiuj - + C&oller menu entry &Wklej - + Éditer les informations complémentaires menu entry Edytuj informacje dodatkowe - + Ajouter une &ligne menu entry Wstaw &wiersz - + Ajouter une &colonne menu entry Wstaw &kolumnę - + &Séparer les cellules menu entry &Podziel komórki - - @@ -10728,144 +13213,146 @@ Co chcesz zrobić? + + Éditeur de cartouche Edytor tabliczek rysunkowych - + &Fichier menu title &Plik - + &Édition menu title &Edycja - + Afficha&ge menu title &Widok - + Outils toolbar title Narzędzia - + Édition toolbar title Edycja - + Affichage toolbar title Widok - + Aucune modification label displayed in the undo list when empty Bez zmian - + Annulations dock title Cofnij - + Propriétés de la cellule dock title Właściwości komórki - + [Modifié] window title tag [Zmodyfikowano] - + [Lecture seule] window title tag [tylko do odczytu] - + %1 %2 part of the window title - %1 is the filepath or template name, %2 is the [Changed] or [Read only] tag %1 %2 - + QElectroTech - Éditeur de modèle de cartouche titleblock template editor: base window title QElectroTech - Edytor szablonów tabliczki rysunkowej - + %1 - %2 window title: %1 is the base window title, %2 is a template name %1 - %2 - - + + Erreur message box title Błąd - + Impossible d'enregistrer le modèle « %1 ». message box content - %1 is a title block template name Nie można zapisać szablonu „%1”. - + Ouvrir un modèle File > open dialog window title Otwórz szablon - + Ouvrir un fichier dialog title Otwórz plik - + Modèles de cartouches QElectroTech (*%1);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening a title block template file - %1 is the .titleblock extension Szablony tabliczek rysunkowych QElectroTech (*%1);;Pliki XML (*.xml);;Wszystkie pliki (*) - + Enregistrer le modèle sous dialog window title Zapisz szablon jako - + Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name Nazwa „%1” jest nieprawidłowa: nie może zawierać następujących znaków: \ / : * ? " < > | - + Éditer les informations complémentaires window title Edycja informacji dodatkowych - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs du cartouche, sa licence, ou tout autre renseignement que vous jugerez utile. Możesz wykorzystać to puste pole na informacje o autorze tabliczki rysunkowej, licencji i inne przydatne informacje. @@ -10890,23 +13377,23 @@ Co chcesz zrobić? QObject - + Exporter vers le presse-papier Eksport do schowka - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Nie można znaleźć pliku z licencją GNU/GPL - na pewno znasz ją sercem, prawda? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Plik tekstowy zawierający licencję GNU/GPL istnieje, ale nie można go otworzyć - na pewno znasz ją sercem, prawda? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Uwaga: element został zapisany w nowszej wersji QElectroTech. @@ -10926,44 +13413,44 @@ Co chcesz zrobić? element graficzny - + supprimer %1 undo caption - %1 is a sentence listing the removed content usunięcie %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste wklejenie %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut wycięcie %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content przesunięcie %1 - + modifier le texte undo caption zmiana tekstu - + modifier un conducteur undo caption zmiana przewodu - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content przywrócenie %1 @@ -10975,7 +13462,7 @@ Co chcesz zrobić? zmiana tabliczki rysunkowej - + modifier les dimensions du folio undo caption zmiana rozmiaru arkusza @@ -11173,7 +13660,7 @@ Co chcesz zrobić? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11183,7 +13670,7 @@ Co chcesz zrobić? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11193,7 +13680,7 @@ Co chcesz zrobić? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11203,7 +13690,7 @@ Co chcesz zrobić? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11213,7 +13700,7 @@ Co chcesz zrobić? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11223,7 +13710,7 @@ Co chcesz zrobić? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11233,7 +13720,7 @@ Co chcesz zrobić? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11243,82 +13730,82 @@ Co chcesz zrobić? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - - - - + + %n plan zacisków + %n plany zacisków + %n planów zacisków - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Nie można otworzyć pliku %1 do zpisu, napotkany błąd %2 . - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Wystąpił błąd podczas zapisywania pliku %1, napotkano błąd %2 . - + Amener au premier plan Przenieś na wierzch - + Rapprocher Przenieś wyżej - + Éloigner Przenieś niżej - + Envoyer au fond Przenieś na spód - + Ramène la ou les sélections au premier plan Przenieś zaznaczone elementy na wierzch - + Rapproche la ou les sélections Przejdź do zaznaczonego elementu - + Éloigne la ou les sélections Usuwa zaznaczenie - + Envoie en arrière plan la ou les sélections Usuń elementy, które nie są zaznaczone - - - - + + + + Profondeur Głębokość - + Borne tooltip - Terminal + Zacisk @@ -11333,27 +13820,27 @@ Co chcesz zrobić? prostokąt - + Folio sans titre Tytuł arkusza - + schema schemat - + Conserver les proportions Zachowaj proporcje - + Réinitialiser les dimensions Skasuj rozmiar - + Aperçu Podgląd @@ -11510,6 +13997,7 @@ Co chcesz zrobić? + Titre Tytuł @@ -11583,15 +14071,16 @@ Co chcesz zrobić? Borne - Terminal + Zacisk - + Texte Tekst + Modifier les informations de l'élément : %1 Zmień informacje dla elementu: %1 @@ -11681,37 +14170,37 @@ Co chcesz zrobić? Numer arkusza - + Collection QET Kolekcja QET - + Collection Company niepewne Kolekcja firmowa - + Collection utilisateur Kolekcja użytkownika - + Macros - + Makra Makros Makra - + Collection inconnue Nienazwany katalog - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. Plik „%1” nie istnieje lub jest nieczytelny: nie można odczytać przetłumaczonej nazwy tego folderu, zamiast niej wyświetlana jest nazwa folderu. @@ -11725,8 +14214,13 @@ Co chcesz zrobić? Collection Kolekcja + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + Tej grupy nie można przesunąć: pozycja jednego z jej elementów jest zablokowana. + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11799,22 +14293,22 @@ Co chcesz zrobić? %1 grupy tekstów - + %n texte(s) - - - - + + %n tekst + %n teksty + %n tekstów - - + + Pivoter %1 - + Obrót %1 - + Orienter les textes sélectionnés window title Orientacja zaznaczonych tekstów @@ -11863,8 +14357,8 @@ Czy chcesz ją zastąpić? Importuj konfigurację tekstu: %1 - - + + chargement %p% (%v sur %m) ładowanie %p% (%v sur %m) @@ -11874,22 +14368,22 @@ Czy chcesz ją zastąpić? Znajdź/zmień właściwości arkuszy - + Chercher/remplacer les propriétés d'éléments. Znajdź/zmień właściwości elementów. - + Chercher/remplacer les propriétés de conducteurs. Znajdź/zmień właściwości przewodów. - + Rechercher / remplacer avancé Zaawansowane wyszukiwanie/zmiana - + Chercher/remplacer des textes independants Znajdź/zmień właściwości tekstów niezależnych @@ -11986,87 +14480,87 @@ Czy chcesz ją zastąpić? - - - + + + Type Typ - - - + + + Adresse Adres - - - - + + + + Commentaire Komentarz - - - - + + + + Réf. croisée Odsyłacz + + + + - - - - Fonction Funkcja Modèle - + Model Catégorie - + Kategoria Tension nominale - + Napięcie znamionowe Courant nominal - + Prąd znamionowy Notes - + Uwagi Largeur [mm] - + Szerokość [mm] Hauteur [mm] - + Wysokość [mm] Profondeur [mm] - + Głębokość [mm] @@ -12387,28 +14881,28 @@ Czy chcesz ją zastąpić? Ścieżka do zapisanego pliku - + Création de conducteurs Tworzenie przewodów - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Aby zainstalować wtyczkę qet_tb_generator<br>Odwiedź:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Wymagany python 3.5 or above.<br><B><U> Pierwsza instalacja w Windows</B></U><br>1. Instalacja, wymagany, python 3.5 lub nowszy<br> Odwiedź :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Aktualizacja w Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> niepewne Aby zainstalować wtyczkę qet_tb_generator<br>Odwiedź:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Pierwsza instalacja na macOSX</B></U><br>1. Zailstaluj, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Uruchom Profile.command script<br>ponieważ program używa zakodowanego na stałe PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Aby zainstalować wtyczkę qet_tb_generator<br>Odwiedź:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Wymagany python 3.5 lub nowszy.<br><br><B><U> Pierwsza instalacja w systemie Linux</B></U><br>1. sprawdź czy zainstalowano pip3 installed: pip3 --version<br>Jeżeli nie zainstalij przez: sudo apt-get install python3-pip<br>2. Zainstaluj program: sudo pip3 install qet_tb_generator<br>3. Uruchom program: qet_tb_generator<br><br><B><U> Aktualizacja w systemie Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Błąd podczas uruchamiania wtyczki qet_tb_generator @@ -12429,15 +14923,15 @@ Czy chcesz ją zastąpić? Sklej - - + - - - - - - + + + + + + + this is an error in the code to jest błąd w kodzie @@ -12642,17 +15136,17 @@ Czy chcesz ją zastąpić? Zmiana koloru mostka - + Ouvrir un element Otwórz element - + Importer un fichier dxf Importuj plik dxf - + %p% effectué (%v sur %m) niepewne %p% przeprowadzone (%v nad %m) @@ -12745,7 +15239,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Pobierz go, klikając poniższy link i rozpakuj w folderze instalacyjnym - + Automatic terminal numbering Automatyczne numerowanie zacisków @@ -12812,12 +15306,12 @@ Nie można wyrenderować strony PDF. Grille des textes %1. Relâcher Maj et maintenir Ctrl pour placer librement. - + Siatka tekstów %1. Zwolnij Shift i przytrzymaj Ctrl, aby umieścić swobodnie. Grille des textes désactivée. - + Siatka tekstów wyłączona. @@ -12830,253 +15324,320 @@ Nie można wyrenderować strony PDF. - + %n groupe(s) de textes - - - - + + %n grupa tekstów + %n grupy tekstów + %n grup tekstów - - + + Déplacer %1 - + Przesunięcie %1 Ajouter une borne à un groupe de bornes - + Dodanie zacisku do listwy zaciskowej Ajouter la borne %1 à un groupe de bornes - + Dodanie zacisku %1 do listwy zaciskowej Ajouter une borne au groupe de bornes %1 - + Dodanie zacisku do listwy zaciskowej %1 Ajouter la borne %1 au groupe de bornes %2 - + Dodanie zacisku %1 do listwy zaciskowej %2 Ajouter %n borne(s) à un groupe de bornes - - - - + + Dodanie %n zacisku do listwy zaciskowej + Dodanie %n zacisków do listwy zaciskowej + Dodanie %n zacisków do listwy zaciskowej Ajouter %n borne(s) au groupe de bornes %1 - - - - + + Dodanie %n zacisku do listwy zaciskowej %1 + Dodanie %n zacisków do listwy zaciskowej %1 + Dodanie %n zacisków do listwy zaciskowej %1 Enlever %n borne(s) d'un groupe de bornes - - - - + + Usunięcie %n zacisku z listwy zaciskowej + Usunięcie %n zacisków z listwy zaciskowej + Usunięcie %n zacisków z listwy zaciskowej Enlever %n borne(s) du groupe de bornes %1 - - - - + + Usunięcie %n zacisku z listwy zaciskowej %1 + Usunięcie %n zacisków z listwy zaciskowej %1 + Usunięcie %n zacisków z listwy zaciskowej %1 Déplacer une borne d'un groupe de bornes vers un autre groupe de bornes - + Przeniesienie zacisku z listwy zaciskowej do innej listwy zaciskowej Déplacer une borne d'un groupe de bornes vers le groupe de bornes %1 - + Przeniesienie zacisku z listwy zaciskowej do listwy zaciskowej %1 Déplacer une borne du groupe de bornes %1 vers un autre groupe de bornes - + Przeniesienie zacisku z listwy zaciskowej %1 do innej listwy zaciskowej Déplacer une borne du groupe de bornes %1 vers le groupe de bornes %2 - + Przeniesienie zacisku z listwy zaciskowej %1 do listwy zaciskowej %2 Déplacer la borne %1 d'un groupe de bornes vers un autre groupe de bornes - + Przeniesienie zacisku %1 z listwy zaciskowej do innej listwy zaciskowej Déplacer la borne %1 d'un groupe de bornes vers le groupe de bornes %2 - + Przeniesienie zacisku %1 z listwy zaciskowej do listwy zaciskowej %2 Déplacer la borne %1 du groupe de bornes %2 vers un autre groupe de bornes - + Przeniesienie zacisku %1 z listwy zaciskowej %2 do innej listwy zaciskowej Déplacer la borne %1 du groupe de bornes %2 vers le groupe de bornes %3 - + Przeniesienie zacisku %1 z listwy zaciskowej %2 do listwy zaciskowej %3 Déplacer %n borne(s) d'un groupe de bornes vers un autre groupe de bornes - - - - + + Przeniesienie %n zacisku z listwy zaciskowej do innej listwy zaciskowej + Przeniesienie %n zacisków z listwy zaciskowej do innej listwy zaciskowej + Przeniesienie %n zacisków z listwy zaciskowej do innej listwy zaciskowej Déplacer %n borne(s) d'un groupe de bornes vers le groupe de bornes %1 - - - - + + Przeniesienie %n zacisku z listwy zaciskowej do listwy zaciskowej %1 + Przeniesienie %n zacisków z listwy zaciskowej do listwy zaciskowej %1 + Przeniesienie %n zacisków z listwy zaciskowej do listwy zaciskowej %1 Déplacer %n borne(s) du groupe de bornes %1 vers un autre groupe de bornes - - - - + + Przeniesienie %n zacisku z listwy zaciskowej %1 do innej listwy zaciskowej + Przeniesienie %n zacisków z listwy zaciskowej %1 do innej listwy zaciskowej + Przeniesienie %n zacisków z listwy zaciskowej %1 do innej listwy zaciskowej Déplacer %n borne(s) du groupe de bornes %1 vers le groupe de bornes %2 - - - - + + Przeniesienie %n zacisku z listwy zaciskowej %1 do listwy zaciskowej %2 + Przeniesienie %n zacisków z listwy zaciskowej %1 do listwy zaciskowej %2 + Przeniesienie %n zacisków z listwy zaciskowej %1 do listwy zaciskowej %2 - + Aligner %n objet(s) sur la grille - - - - + + Wyrównanie %n obiektu do siatki + Wyrównanie %n obiektów do siatki + Wyrównanie %n obiektów do siatki + + + + + Aligner %n objet(s) + + Wyrównanie %n obiektu + Wyrównanie %n obiektów + Wyrównanie %n obiektów - + Ajouter %1 Wstawianie %1 - + Modifier les propriétés du conducteur - + Zmiana właściwości przewodu - + Modifier un texte - + Zmiana tekstu - + Modifier la couleur d'un texte Zmiana koloru tekstu - + Pivoter un texte - + Obrót tekstu - + Modifier le trait d'une forme Zmiana obrysu kształtu - + Modifier le remplissage d'une forme Zmiana wypełnienia - - - Pivoter une forme - - - - - - Modifier la forme d'%1 - - + Pivoter une forme + Obrót kształtu + + + + + Modifier la forme d'%1 + Zmiana kształtu %1 + + + Fermer/Ouvrir %1 - + Zamknięcie/otwarcie %1 - + Redimensionner une image - + Zmiana rozmiaru obrazu - + Pivoter une image - + Obrót obrazu - + Modifier un texte d'élément Zmień tekst elemenu - + Numéroter automatiquement un élément Automatyczne numerowanie elementu - + + Renuméroter les éléments (%1) + Przenumeruj elementy (%1) + + + Rechercher et remplacer - + Znajdź i zamień - - - + + + Script - + Skrypt - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). - + Skrypty są wyłączone. + +Skrypt ma dostęp do całego projektu i może zapisywać pliki, dlatego ta funkcja jest domyślnie wyłączona. + +Aby ją włączyć: Konfiguracja QElectroTech > Ogólne > Projekty, lub zdefiniuj zmienną środowiskową QET_ENABLE_SCRIPTING=1 dla pracy bez interfejsu (CI, przetwarzanie wsadowe). + + + + Assistant : %1 + Asystent: %1 + + + + Script : %1 + Skrypt: %1 + + + + Grouper %n objet(s) + + Grupowanie %n obiektu + Grupowanie %n obiektów + Grupowanie %n obiektów + + + + + Dégrouper %n objet(s) + + Rozgrupowanie %n obiektu + Rozgrupowanie %n obiektów + Rozgrupowanie %n obiektów + + + + + Figer le nom de l'élément + Zablokuj nazwę elementu + + + + Dégeler le nom de l'élément + Odblokuj nazwę elementu + + + + Folio + Arkusz + + + + (Aucune action) + spacemouse config: unbound button + (Brak działania) @@ -13097,103 +15658,161 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Wyświetlane informacje są większe niż maksymalna liczba, którą można wyświetlić w tabelach. Dodaj nową tabelę lub dostosuj istniejące tabele, aby wyświetlić wszystkie informacje. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Wyświetlane informacje są większe niż maksymalna liczba, którą można wyświetlić w tabeli. Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie informacje. - + Limitation de tableau Ograniczenie tabeli - + Modifier la géometrie d'un tableau Zmień wymiary tabeli + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + błąd składni w wierszu %1, kolumnie %2: +%3 + + + + Aucun répertoire de collection n'a été donné. + Nie podano katalogu kolekcji. + + + + l'élément racine <%1> n'est pas <labels>. + element główny <%1> nie jest <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + nie można otworzyć pliku: %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Plik prefiksów (etykiet) kolekcji użytkownika. +Każdemu folderowi przypisany jest prefiks: elementy z folderu +przejmują prefiks tego folderu, chyba że same mają +etykietę. Folder bez prefiksu przejmuje prefiks folderu nadrzędnego. +Ten plik jest tworzony i zmieniany przez QElectroTech (Konfiguracja: +Konfiguruj prefiksy…), ale można go też edytować ręcznie. + + + + Aucun fichier de préfixes à enregistrer. + Brak pliku prefiksów do zapisania. + + + + Le répertoire %1 n'a pas pu être créé. + Nie można utworzyć katalogu %1. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + Nie można skopiować pliku %1 obok przed jego zastąpieniem: +nic nie zostało zmienione. + + QetShapeItem - + une shape figury - + une ligne linia - - + + Ajouter un point Wstaw punkt - + Supprimer ce point Usuń punkt - + Déformer une courbe Modyfikacja krzywej - + Nœud le plus proche niepewne (węzeł lub punkt przyciągania) Najbliższy węzeł - + Lisse niepewne Gładki - + Symétrique Symetryczny - + Anguleux niepewne (kanciasty, prostokątny?) Łamany - + Supprimer le nœud le plus proche Usuń najbliższy węzeł - + Convertir en polyligne Konwertuj na linię łamaną - + Convertir en courbe de Bézier - + Konwertuj na krzywą Béziera - + Miroir horizontal Odbij poziomo - + Miroir vertical Odbij pionowo @@ -13202,275 +15821,285 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform Właściwości... - + Taille Rozmiar - + Coins arrondis Zaokrąglone narożniki - + Édition des nœuds Edycja węzłów - + Rotation/Inclinaison Obrót/Pochylenie - + Cliquer : mode %1 Kliknięcie: tryb %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Przeciągnij narożnik/krawędź: zmień rozmiar (Ctrl = od środka, Shift = proporcjonalnie, Alt = odłącz do linii łamanej) - + ; point turquoise : arc niepewne ; punkt turkusowy: łuk - + Glisser une extrémité : la déplacer Przeciągnij koniec: przenieś - + Glisser un point : le déplacer Przeciągnij punkt: przenieś go - + Glisser le point violet : arrondir les coins Przeciągnij fioletowy punkt, aby zaokrąglić narożniki - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Przeciągnij uchwyt lub krzywą: deformuj (Alt = załam styczną); Alt+przeciągnij punkt narożny: utwórz uchwyty; prawy przycisk myszy: menu najbliższego węzła - + une extrémité zakończenie - + un coin jeden narożnik - + un point jeden punkt - + Glisser %1 : rotation (Maj = 15°) Przeciągnij %1 : obrót (Shift = 15°) - + ; un bord : inclinaison niepewne (obramowanie?) ; krawędź: nachylenie - + ; point rouge : glisser pour repositionner le centre de rotation ; czerwony punkt: przesuń, aby zmienić położenie środka obrotu - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Ctrl podczas przeciągania = swobodna pozycja, bez przyciągania do siatki) - + — Cliquer : mode %1 — Kliknięcie: tryb %1 - + Glisser : déplacer ce point Przeciągnij: przesuń ten punkt - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Przeciągnij: zmień rozmiar (Ctrl = od środka + dowolna pozycja, Shift = proporcje - + , Alt = détacher en polyligne , Alt = odłącz od linii łamanej - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Przeciągnij: obróć (Ctrl = pozycja swobodna, Shift = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Przeciąganie: pochylenie (Ctrl = pozycja swobodna, Shift = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Przeciągnij: zmień położenie środka obrotu (Ctrl = pozycja swobodna) - + Glisser : arrondir les coins (Ctrl = position libre) Przesuń: Zaokrąglij narożniki (Ctrl = wolna pozycja) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Przeciągnij: dostosuj łuk (Ctrl = pozycja swobodna, Shift = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Przeciągnij: wygnij lub spłaszcz łuk, jego końce pozostają na miejscu (Ctrl = pozycja swobodna) + + + Glisser : déplacer le point (Ctrl = position libre Przeciągnij: przesuń punkt (Ctrl = wolna pozycja - + , Alt = créer des poignées , Alt = utwórz uchwyty - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Przeciąganie: odkształcenie krzywej (Ctrl = pozycja swobodna, Alt = przerwanie stycznej) - + Ajouter un point à un polygone Wstaw punkt do wielokąta - + Supprimer un point d'un polygone Usuń punkt z wielokąta - + Ajouter un point à une courbe Dodawanie punktu do krzywej - + Supprimer un point d'une courbe Usuń punkt z krzywej - + Convertir %1 en courbe de Bézier - + Konwertuj %1 na krzywą Béziera - + Convertir %1 en polyligne Konwertuj %1 na linię łamaną - + Miroir impossible : inclinaison trop extrême pour cette forme Odbicie niemożliwe: kąt jest zbyt ekstremalny dla tego kształtu - + Miroir horizontal de %1 Odbij poziomo %1 - + Miroir vertical de %1 Odbij pionowo %1 - + Modifier le type d'un nœud Zmiana typu węzła - + Redimensionner %1 - + Zmiana rozmiaru %1 - + Faire pivoter %1 - + Obrót %1 - + Incliner %1 - + Pochylenie %1 - + Deplacer le centre de rotation Przesuń środek obrotu - + Arrondir les coins d'%1 - + Zaokrąglenie narożników %1 - + Modifier l'angle d'un arc - + Zmiana kąta łuku - - + + Modifier la courbure d'un arc + Zmiana krzywizny łuku + + + + Modifier la forme d'%1 - + Zmiana kształtu %1 - + Modifier la courbure d'%1 - + Zmiana krzywizny %1 - + Modifier %1 Zmiana %1 - + un rectangle prostokąt - + une éllipse elipsa - + un arc łuk - + une polyligne wielokąt - + une courbe krzywa @@ -13553,7 +16182,7 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform Etykieta - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? L'element « %1 » już istnieje. Co chcesz zrobić? @@ -13561,29 +16190,75 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform RenumberElementsDialog - + Renumber element(s) - + Przenumeruj elementy - + Scope - - - - - All schemes - + Zakres - One scheme - + All schemes + Wszystkie schematy - + + One scheme + Jeden schemat + + + Scheme: - + Schemat: + + + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + %n element zachowuje swoją nazwę. + %n elementy zachowują swoje nazwy. + %n elementów zachowuje swoje nazwy. + + + + + %n élément(s) restent comme ils sont. + + %n element pozostaje bez zmian. + %n elementy pozostają bez zmian. + %n elementów pozostaje bez zmian. + + + + + Folio + Arkusz + + + + Élément + Element + + + + Nom actuel + Bieżąca nazwa + + + + Nouveau nom + Nowa nazwa + + + + (figé) + (zablokowany) @@ -13609,9 +16284,9 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform - - - + + + Ne pas modifier Nie modyfikuj @@ -13731,97 +16406,97 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform fazowy - - + + Nombre de phase Ilość przewodów fazowych - + Neutre Neutralny - + neutre neutralny - + Terre Ochronny - + terre ochronny - + TextLabel Etykieta - + PushButton Przycisk - + Apparence Wygląd - + Taille : Rozmiar: - - + + Couleur : Kolor: - + Style : Typ: - - + + Modifier Zmiana - + Couleur secondaire : Drugi kolor: - + Taille de trait : Rozmiar linii: - + px px - + Trait plein conductor style: solid line Ciągła - + Trait en pointillés conductor style: dashed line Kreskowa - + Traits et points conductor style: dashed and dotted line Kreskowo-kropkowa @@ -13830,7 +16505,7 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform ReplaceElementDialog - + Ne pas modifier Nie modyfikuj @@ -13872,10 +16547,10 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform - - - - + + + + Ne pas modifier Nie modyfikuj @@ -13935,12 +16610,12 @@ Dodaj nową tabelę lub dostosuj istniejącą, aby wyświetlić wszystkie inform Zastosuj aktualną datę - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Dostępne jako %plant dla szablonów tabliczek rysunkowych</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13953,33 +16628,33 @@ Les variables suivantes sont utilisables : - %autonum: automatyczna numeracja arkuszy - + Disponible en tant que %locmach pour les modèles de cartouches Dostępny dla %locmach szablonów tabliczek rysunkowych - + Titre : Tytuł: - - - - - - - + + + + + + + Supprimer ce texte Usuń tekst - + Personnalisées Personalizacja - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Tutaj możesz zdefiniować własne skojarzenia nazy/wartości dla twojej tabliczki rysunkowej. Przykład: @@ -14019,6 +16694,189 @@ Stwórz własny tekst używając następujących zmiennych: %c: numer kolumny + + ScriptManagerDialog + + + + + Gérer les scripts + Zarządzaj skryptami + + + + &Nouveau + &Nowy + + + + Supp&rimer + &Usuń + + + + Le texte du bouton + Tekst przycisku + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + puste: inicjały nazwy; builtin:<nazwa>: ikona z motywu + + + + Choisir une image (SVG ou PNG)… + Wybierz obraz (SVG lub PNG)… + + + + Toujours + Zawsze + + + + Avec une sélection + Przy zaznaczeniu + + + + Avec un conducteur sélectionné + Przy zaznaczonym przewodzie + + + + Nom : + Nazwa: + + + + Icône : + Ikona: + + + + Info-bulle : + Podpowiedź: + + + + Raccourci : + Skrót: + + + + Actif : + Aktywny: + + + + &Tester + &Testuj + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Zapisuje, a następnie wykonuje skrypt na bieżącym projekcie (Ctrl+Z cofa wykonanie) + + + + &Enregistrer + &Zapisz + + + + Ouvrir le &dossier + Otwórz &folder + + + + &Fermer + &Zamknij + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Skrypt (obiekt qet; qet.currentFolio() to wyświetlany arkusz): + + + + Pas de bouton : %1 + Brak przycisku: %1 + + + + Pas de bouton pour ce fichier : %1 + Brak przycisku dla tego pliku: %1 + + + + Nouveau script + Nowy skrypt + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() to wyświetlany arkusz; kliknięcie cofa się +// jednym Ctrl+Z. Lista wywołań: qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Tekst", 40, 40); + + + + + Pas encore enregistré + Jeszcze nie zapisano + + + + Le script doit avoir un nom. + Skrypt musi mieć nazwę. + + + + Non enregistré : %1 + Nie zapisano: %1 + + + + Impossible d'écrire %1 + Nie można zapisać %1 + + + + Supprimer le script + Usuń skrypt + + + + Supprimer « %1 » et son bouton ? + Usunąć „%1” i jego przycisk? + + + + Icône du script + Ikona skryptu + + + + Images (*.svg *.png) + Obrazy (*.svg *.png) + + + + Impossible de copier %1 + Nie można skopiować %1 + + + + Le script affiché n'est pas enregistré. Enregistrer ? + Wyświetlany skrypt nie jest zapisany. Zapisać? + + SearchAndReplaceWidget @@ -14032,42 +16890,42 @@ Stwórz własny tekst używając następujących zmiennych: Przejdź do następnego wyniku - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Pokaż opcje zaawansowane</p></body></html> - + Aller à la correspondance précédente Przejdź do poprzedniego wyniku - + Quitter Zakończ - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Zdefiniuj właściwości zastępowania elementów</p></body></html> - + Champ texte de folio Pole tekstowe arkusza - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Zdefiniuj właściwości zastępowania przewodów</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Zdefiniuj właściwości zastępowania arkuszy</p></body></html> - + Folio Arkusz @@ -14092,43 +16950,43 @@ Stwórz własny tekst używając następujących zmiennych: Wielkość liter - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Zmień połączenia zaznaczenia</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> do zrobienia: cochées - sprawdzone <html><head/><body><p>Zmień połączenia cochées</p></body></html> - + avancé Zaawansowane - + Élément Element - + Conducteur Przewód - + Remplacer : Zastąp: - + Remplacer Zastąp - + Tout remplacer Zmień wszystko @@ -14138,105 +16996,105 @@ Stwórz własny tekst używając następujących zmiennych: Znajdź: - + Actualiser Aktualizuj - + Correspondance : Wynik: - + Folios Arkusze - + Champs texte Pola tekstowe - + Eléments Elementy - + Eléments simple Elementy proste - + Eléments maître Elementy nadrzędne - + Eléments esclave Elementy podrzędne - + Eléments report de folio Elementy odsyłaczy do arkuszy - + Eléments bornier Elementy listw zaciskowych - + Sélectionner les éléments de ce folio Zaznacz elementy tego arkusza - + Sélectionner les conducteurs de ce folio Zaznacz przewodu tego arkusza - + Sélectionner les textes de ce folio Zaznacz teksty tego arkusza - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [edycja] - + Conducteurs Przewody - + Inconnue Nieznane @@ -14249,17 +17107,17 @@ Stwórz własny tekst używając następujących zmiennych: Forma - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Usuń zmienna numeracji</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Dodaj zmienną numeracji</p></body></html> - + Définition Opis @@ -14279,38 +17137,66 @@ Stwórz własny tekst używając następujących zmiennych: Usuń numerację - Précédent - Poprzednia + Poprzednia - Suivant - Nastęna + Nastęna - + Type Typ - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + Dla numeru: następny przydzielany numer. Dla tekstu: stały tekst. + + + Valeur Wartość - + Incrémentation Inkrementacja - + + Annuler + Anuluj + + + + Revenir à la définition enregistrée + Wróć do zapisanej definicji + + + + Monter cette variable + Przesuń tę zmienną w górę + + + + Descendre cette variable + Przesuń tę zmienną w dół + + + + Supprimer cette variable + Usuń tę zmienną + + + Folio Autonumérotation title window Automatyczna numeracja arkuszy - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14338,7 +17224,7 @@ Pole "Inkrementacja" nie jest używane. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14370,13 +17256,13 @@ Jeżeli numer określony w polu "Wartość" składa się z mniejszej i Pole "Inkrementacja" nie jest używane. - + Element Autonumérotation title window Automatyczne numerowanie elementu - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14414,7 +17300,17 @@ Pozostałe pola nie są używane. Pozostałe pola nie są używane. - + + Nouvelle numérotation… + Nowa numeracja… + + + + Renommer la numérotation… + Zmień nazwę numeracji… + + + Conducteur Autonumérotation title window Automatyczna numerfacja przewodów @@ -14668,53 +17564,53 @@ Pozostałe pola nie są używane. La barre de raccourcis s'ouvre à la position du curseur (touche S par défaut). Elle montre les commandes choisies ici selon ce qui est sélectionné, puis le sélecteur d'éléments. - + Pasek skrótów otwiera się w pozycji kursora (domyślnie klawisz S). Pokazuje wybrane tutaj polecenia zależnie od tego, co jest zaznaczone, a następnie wybór elementów. Ajouter → - + Dodaj → ← Retirer - + ← Usuń Monter - + W górę Descendre - + W dół Valeurs par défaut - + Wartości domyślne Commandes disponibles - + Dostępne polecenia Dans la barre, dans l'ordre - + Na pasku, w kolejności Contexte : - + Kontekst: Barre de raccourcis configuration page title - + Pasek skrótów @@ -14722,89 +17618,227 @@ Pozostałe pola nie są używane. Folio, rien de sélectionné - + Arkusz, nic nie zaznaczono Éléments sélectionnés - + Zaznaczone elementy Conducteurs sélectionnés - + Zaznaczone przewody ShortcutsConfigPage - + Filtrer les raccourcis… Filtruj skróty… - + Tous Wszystko - + Attribués uniquement Tylko powiązane - + Non attribués uniquement Tylko nieprzypisane - + Conflits uniquement niepewne Wyłącznie konflikty - + + Toutes les catégories + Wszystkie kategorie + + + + Appuyez sur une combinaison de touches pour voir quelle commande l'utilise + Naciśnij kombinację klawiszy, aby zobaczyć, które polecenie jej używa + + + + Effacer la touche recherchée + Wyczyść szukany klawisz + + + + Rechercher par touche : + Szukaj według klawisza: + + + + Action Niepewne (akcja) Działanie - + + Raccourci Skrót - + + + Menu + Menu + + + Tout réinitialiser Przywróć wszystko - + + Copier la liste + Kopiuj listę + + + + Copie les raccourcis affichés, à coller dans un tableur ou un document + Kopiuje wyświetlone skróty do wklejenia w arkuszu kalkulacyjnym lub dokumencie + + + Réinitialiser ce raccourci Przywróć skrót - + %n action(s) - %n działanie (ń) - niepewne - + %n działanie + %n działania + %n działań - + Ce raccourci est aussi utilisé par : %1 Tego skrótu używa również: %1 - + + Catégorie + Kategoria + + + Raccourcis configuration page title Skrót + + SpaceMouseConfigPage + + + Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) à une action de QElectroTech. Le numéro de bouton dépend de votre appareil et de son pilote -- reportez-vous à sa documentation, ou essayez successivement les valeurs à partir de 0. + spacemouse config page intro + Przypisz numer przycisku myszy 3D (SpaceMouse, SpacePilot...) do działania QElectroTech. Numer przycisku zależy od urządzenia i jego sterownika -- zajrzyj do jego dokumentacji lub wypróbuj kolejno wartości od 0. + + + + N° bouton + Nr przycisku + + + + Action + Działanie + + + + Ajouter une association + Dodaj przypisanie + + + + Boutons + Przyciski + + + + Les petits mouvements en dessous de ce seuil sont ignorés. Augmentez-le si la vue dérive quand vous ne touchez pas la souris. + Małe ruchy poniżej tego progu są ignorowane. Zwiększ go, jeśli widok przesuwa się, gdy nie dotykasz myszy. + + + + Pousser / tirer le capuchon + Wciskanie / wyciąganie nasadki + + + + Tourner le capuchon + Obracanie nasadki + + + + Inverser le déplacement horizontal + Odwróć ruch poziomy + + + + Inverser le déplacement vertical + Odwróć ruch pionowy + + + + Inverser le zoom + Odwróć powiększanie + + + + Vitesse de déplacement : + Szybkość przesuwania: + + + + Vitesse du zoom : + Szybkość powiększania: + + + + Zoomer en : + Powiększanie przez: + + + + Zone morte : + Strefa martwa: + + + + Mouvement + Ruch + + + + Supprimer cette association + Usuń to przypisanie + + + + Souris 3D + configuration page title + Mysz 3D + + StyleEditor @@ -16812,12 +19846,12 @@ Pozostałe pola nie są używane. Informacje wyświetlane - + Configuration Konfiguracja - + Requête SQL : Zapytanie SQL: @@ -16827,6 +19861,19 @@ Pozostałe pola nie są używane. Pozycja + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + Ten zacisk ma już %n przewód, czyli limit projektu. Dodaj zacisk, aby podłączyć kolejny przewód. + Ten zacisk ma już %n przewody, czyli limit projektu. Dodaj zacisk, aby podłączyć kolejny przewód. + Ten zacisk ma już %n przewodów, czyli limit projektu. Dodaj zacisk, aby podłączyć kolejny przewód. + + + TerminalEditor @@ -17162,58 +20209,58 @@ Pozostałe pola nie są używane. Układ - + Ponter les bornes Połączenie zacisków - + Déponter les bornes Rozłączenie zacisków - + Propriétés Właściwości - + Nom : Nazwa: - + Commentaire : Komentarz: - + Description Opis - + Installation : Instalacja: - + Localisation : Lokalizacja: - + Type : Typ: - + Degrouper les bornes Rozgrupuj zaciski - - + + Générique Ogólne @@ -17228,63 +20275,63 @@ Pozostałe pola nie są używane. Wykonaj przemieszczenie - + Couleur pont : Kolor mostka: - + Fusible Bezpiecznikowy - + Sectionnable Łączeniowy - + Diode Diodowy - + Terre Uziemiający - + Déplacer dans : Przenieś do: - + Phase Fazowy - + Neutre Neutralny - + Position automatique Pozycja automatyczna - + Étage : Poziom: - + Grouper les bornes niepewne Grupuj zaciski - + Fonction : Funkcja: @@ -17299,7 +20346,7 @@ Pozostałe pola nie są używane. Obecny - + LED : LED: @@ -17327,32 +20374,32 @@ Pozostałe pola nie są używane. Pasek narzędzi - + Ajouter un bornier Wstaw listwę zaciskową - + Ajouter un bornier au projet Wstaw listwę zaciskową do projektu - + Supprimer le bornier Usuń listwę zaciskową - + Supprimer le bornier du projet Usuń listwę zaciskową z projektu - + Recharger Odśwież - + Recharger les borniers Odśwież listwy zaciskowe @@ -17586,12 +20633,12 @@ Pozostałe pola nie są używane. Eksplorator listwy zaciskowej - + Projet sans titre Projekt bez tytułu - + Bornes indépendante Zaciski niezależne @@ -17681,6 +20728,22 @@ Pozostałe pola nie są używane. Zmiana wyrównania pola tekstowego + + TextResizeCommand + + + Redimensionner un texte + Zmiana rozmiaru tekstu + + + + TextResizeHandles + + + Glisser pour changer la largeur du texte, double-cliquer pour une largeur automatique + Przeciągnij, aby zmienić szerokość tekstu, kliknij dwukrotnie, aby ustawić szerokość automatyczną + + ThirdPartyBinaryInstallDialog @@ -17694,7 +20757,7 @@ Pozostałe pola nie są używane. Pobierz - + Dossier installation Folder instalacyjny @@ -17702,37 +20765,37 @@ Pozostałe pola nie są używane. TitleBlockDimensionWidget - + Largeur : default dialog label Szerokość: - + Absolu a traditional, absolute measure Bezwzględna - + Relatif au total a percentage of the total width Względem całości - + Relatif au restant a percentage of what remains from the total width Względem pozostałych - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17741,30 +20804,31 @@ Pozostałe pola nie są używane. TitleBlockPropertiesWidget - + Modèle par défaut Domyślny szablon - + Éditer ce modèle menu entry Edytuj szablon - + Dupliquer et éditer ce modèle menu entry Powiel i edytuj szablon - + Title block templates actions Działanie szablonu bloku tytułowego - - + + + Créer un Folio Numérotation Auto Tworzenie automatycznej numeracji arkuszy @@ -17779,47 +20843,47 @@ Pozostałe pola nie są używane. Forma - + Folio : Arkusz: - + Auteur : Autor: - + Indice Rev: Znacznik Rew.: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Dostępne jako %plant dla szablonów tabliczek rysunkowych</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Dostępne jako %filename dla szablonów tabliczek rysunkowych - + Pas de date Brak daty - + Date courante Aktualna data - + Appliquer la date actuelle Zastosuj aktualną datę - + Principales Podstawowe @@ -17829,22 +20893,22 @@ Pozostałe pola nie są używane. Informacje w tabliczkach rysunkowych - + Disponible en tant que %locmach pour les modèles de cartouches Dostępny dla %locmach szablonów tabliczek rysunkowych - + Disponible en tant que %date pour les modèles de cartouches Dostępne jako %date dla szablonów tabliczek rysunkowych - + Date fixe : Ustalona data: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17857,7 +20921,7 @@ Les variables suivantes sont utilisables : - %autonum: automatyczna numeracja arkuszy - + Titre : Tytuł: @@ -17867,52 +20931,52 @@ Les variables suivantes sont utilisables : <html><head/><body><p>Wyświetla tabliczkę rysunkową na dole (poziomo) lub po prawej stronie arkusza (pionowo).</p></body></html> - + Fichier : Plik: - + Date : Data: - + Disponible en tant que %author pour les modèles de cartouches Dostępne jako %author dla szablonów tabliczek rysunkowych - + Disponible en tant que %title pour les modèles de cartouches Dostępne jako %title dla szablonów tabliczek rysunkowych - + Page Num: Nr ark.: - + Installation : Instalacja: - + Disponible en tant que %indexrev pour les modèles de cartouches Dostępny dla %indexrev szablonów tabliczek rysunkowych - + Localisation: Lokalizacja: - + Personnalisées Personalizacja - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Tutaj możesz zdefiniować własne skojarzenia nazy/wartości dla twojej tabliczki rysunkowej. Przykład: @@ -17922,13 +20986,13 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18430,164 +21494,352 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast - WiringListDialog + ToolbarCommandsConfigPage - - Liste de câblage - window title - + + Choisissez les commandes de chaque barre d'outils de l'éditeur de schémas. Glissez une commande de la liste de gauche vers la barre, ou double-cliquez dessus ; Suppr la retire. + Wybierz polecenia każdego paska narzędzi edytora schematów. Przeciągnij polecenie z listy po lewej na pasek lub kliknij je dwukrotnie; Delete je usuwa. - - Fil - column title - + + Nouvelle barre… + Nowy pasek… + + + + Renommer… + Zmień nazwę… + + + + Supprimer la barre + Usuń pasek + + + + Valeurs par défaut + Wartości domyślne + + + + Rechercher une commande + Szukaj polecenia + + + + Ajouter → + Dodaj → + + + + Séparateur + Separator + + + + ← Retirer + ← Usuń + + + + Monter + W górę + + + + Descendre + W dół + + + + Commandes disponibles + Dostępne polecenia + + + + Dans la barre, dans l'ordre + Na pasku, w kolejności + + + + Barre d'outils : + Pasek narzędzi: + + + + Contenu des barres + configuration page title: what each toolbar holds + Zawartość pasków + + + + Nouvelle barre d'outils + Nowy pasek narzędzi + + + + + Nom de la barre d'outils : + Nazwa paska narzędzi: + + + + Renommer la barre d'outils + Zmień nazwę paska narzędzi + + + + ─── Séparateur ─── + ─── Separator ─── + + + + ToolbarsConfigPage + + + Par défaut + Domyślnie + + + + Petites (16 px) + Małe (16 px) + + + + Moyennes (24 px) + Średnie (24 px) + + + + Grandes (32 px) + Duże (32 px) + + + + Très grandes (48 px) + Bardzo duże (48 px) + + + + Icône seule + Tylko ikona + + + + Texte à côté de l'icône + Tekst obok ikony + + + + Texte sous l'icône + Tekst pod ikoną + + + + Verrouiller les barres d'outils (elles ne peuvent plus être déplacées) + Zablokuj paski narzędzi (nie można ich już przesuwać) + + + + Taille des icônes : + Rozmiar ikon: + + + + Boutons : + Przyciski: + + + + Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils. + Aby pokazać lub ukryć pasek narzędzi, kliknij prawym przyciskiem myszy na pasku narzędzi. + + + + Barres d'outils + configuration page title + Paski narzędzi + + + + WiringListDialog + + + Liste de câblage + window title + Lista połączeń + Fil + column title + Żyła + + + Composant 1 column title Komponent 1 - + Borne 1 column title Zacisk 1 - + Composant 2 column title Komponent 2 - + Borne 2 column title Zacisk 2 - + Folio column title Arkusz - - + + %n conducteur(s) listé(s). wiring list summary - - - - + + Wymieniono %n przewód. + Wymieniono %n przewody. + Wymieniono %n przewodów. - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning - - - - + + Wykluczono %n przewód: jeden koniec nie jest podłączony do żadnego elementu. + Wykluczono %n przewody: jeden koniec nie jest podłączony do żadnego elementu. + Wykluczono %n przewodów: jeden koniec nie jest podłączony do żadnego elementu. WiringListExport - - + + Erreur Błąd - + Impossible de lire la structure en mémoire du projet. Nie można odczytać struktury projektu w pamięci. - + Exporter le plan de câblage Eksportuj plan oprzewodowania - + Fichiers CSV (*.csv) Plik CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Nie można otworzyć pliku do zapisu. - + Page Wiring list CSV header Strona - + Composant 1 Wiring list CSV header Komponent 1 - + Borne 1 Wiring list CSV header Zacisk 1 - + Composant 2 Wiring list CSV header Komponent 2 - + Borne 2 Wiring list CSV header Zacisk 2 - + Tension / Protocole Wiring list CSV header Napięcie/Protokół - + Couleur du fil Wiring list CSV header Kolor przewodu - + Section du fil Wiring list CSV header Przekrój przewodu - + Fonction Wiring list CSV header Funkcja - + + Câble + Wiring list CSV header + Przewód + + + Export réussi Eksport udany - + Le plan de câblage a été exporté avec succès ! Plan oprzewodowania został pomyślnie wyeksportowany! + + WiringRulesWarning + + + Avertissement + Uwaga + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + <b>Reguły liczby przewodów na zacisk są funkcją eksperymentalną.</b><br><br>Liczą przewody tak, jak QElectroTech przedstawia je dzisiaj. Mogą się zmienić, a Twoje ustawienia mogą wymagać ponownego wprowadzenia, jeśli w przyszłej wersji żyły i przewody staną się odrębnymi obiektami.<br><br>Wszystkie te reguły można wyłączyć w Konfiguracja QElectroTech > Ogólne. + + XRefPropertiesWidget @@ -18631,72 +21883,82 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast Domyślnie - dopasowanie do wysokości XRef - + + Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre. + Gdy teksty dwóch odsyłaczy nakładają się, odsyłacz elementu położonego wyżej jest umieszczany nad drugim. + + + + Empiler les références dont les textes se chevauchent + Układaj w stos odsyłacze, których teksty się nakładają + + + XRef slave position XRef pozycja podrzędna - + Distance label - slave : - + Odległość etykieta – element podrzędny: - + Distance in pixels between the label and the slave cross reference - + Odległość w pikselach między etykietą a odsyłaczem elementu podrzędnego - + Afficher les numéros de bornes dans les Xrefs Pokaż numery zacisków w odsyłaczach zewnętrznych - - - Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître - - - - - Afficher tous les esclaves définis par le maître - - + Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître + Pokaż w grzebieniu zestyków wszystkie zestyki podrzędne zdefiniowane przez element główny, nawet jeszcze niepowiązane, w kolejności zdefiniowanej przez element główny + + + + Afficher tous les esclaves définis par le maître + Pokaż wszystkie elementy podrzędne zdefiniowane przez element główny + + + Affiche&r en contacts Pokaż ze&styki - + Afficher en croix Pokaż krzyż - + Label des références croisées Etykieta oznaczenia referencyjnego - + Maitre Nadrzędny - + %f-%l%c %f-%l%c - + Esclave Podrzędny - + (%f-%l%c) (%f-%l%c) - + Créer votre propre texte en vous aidant des variables suivantes : %f : le numéro de folio %F: le label de folio @@ -18713,27 +21975,27 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast %LM: lokalizacja - + Option d'affichage en croix Opcje wyświetlania krzyża - + Afficher les contacts de puissance dans la croix Pokaż zestyki i krzyż - + Préfixe des contacts de puissance : Prefiks dla zestyków obwodów głównych: - + Préfixe des contacts temporisés : Prefiks dla zestyków działających z opóźnieniem: - + Préfixe des contacts inverseurs : Prefiks dla zestyków przełącznych: @@ -18795,33 +22057,33 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast Champ de texte - + Pole tekstowe projectDataBase - + La requête est vide. - + Zapytanie jest puste. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Dozwolone jest tylko jedno zapytanie SELECT (znak ';' może wystąpić tylko na samym końcu). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Dozwolone są tylko zapytania tylko do odczytu (SELECT lub WITH ... SELECT). - + Exporter la base de données interne du projet Wyeksportuj wewnętrzną bazę danych projektu - + sans_nom Bez nazwy @@ -18829,7 +22091,7 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast qdesigner_internal::ColorAction - + Text Color Kolor tekstu @@ -18837,7 +22099,7 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast qdesigner_internal::HtmlTextEdit - + Insert HTML entity Wstaw kod HTML @@ -18845,27 +22107,27 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast qdesigner_internal::RichTextEditorDialog - + Edit text Edycja tekstu - + Rich Text Rich Text - + Source Źródło - + &OK &OK - + &Cancel &Anuluj @@ -18873,69 +22135,69 @@ skojarzenie nazwy "volta" i wartości "1745" spowoduje zast qdesigner_internal::RichTextEditorToolBar - + Texte en gras Pogrubienie - - - + + + Éditeur de texte Edytor tekstu - + Texte en italique Kursywa - + Texte souligé Podkreślenie - + Left Align Wyrównaj do lewej - + Center Wyrównaj do środka - + Right Align Wyrównaj do prawej - + Justify Justowanie - + Superscript Indeks górny - + Subscript Indeks dolny - + Insérer un lien Wstaw link - + Insert &Image Wstaw &Obraz - + Simplify Rich Text Uproszczony Rich Text diff --git a/lang/qet_pt.ts b/lang/qet_pt.ts index 2e2d301dd..399dead83 100644 --- a/lang/qet_pt.ts +++ b/lang/qet_pt.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, uma aplicação para desenho de esquemas eléctricos. - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contacto : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Ideia original - - + - - + + + Développement Desenvolvimento - + Convertisseur DXF Conversor DFX - + Plugin Bornier - + Collection - + Traduction en espagnol Tradução Espanhola - + Traduction en russe Tradução Russa - + Traduction en portugais Tradução Portuguesa - + Traduction en tchèque Tradução Checa - + Traduction en polonais Tradução Polaca - + Traduction en allemand Tradução Alemã - + Traduction en roumain Tradução Romena - + Traduction en italien Tradução Italiana - + Traduction en arabe Tradução em Árabe - + Traduction en croate Tradução Croata - + Traduction en catalan Tradução Catalã - + Traduction en grec Tradução Grega - + Traduction en néerlandais Tradução Holandesa - + Traduction en flamand Tradução em Flamengo - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat Pacotes Fedora e Red Hat - + Paquets Mageia Pacotes Mageia - + Paquets Debian Pacotes Debian - + Paquets Gentoo Pacotes Gentoo - + Paquets OS/2 Pacotes OS/2 - + Paquets FreeBSD Pacotes FreeBSD - + Paquets MAC OS X Pacotes MAC OS X - + Paquets Archlinux AUR Pacotes Archlinux AUR - + Icônes Ícones - + Documentation Documentação - + Collection d'éléments Colecção de elementos - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Ângulo: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -681,28 +920,78 @@ form - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -740,55 +1029,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Antevisão - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur Erro - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -821,6 +1110,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -872,7 +1182,7 @@ form ClickableImageLabel - + Cliquez pour choisir une couleur @@ -903,8 +1213,8 @@ form - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -912,13 +1222,13 @@ form Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -927,73 +1237,73 @@ form ConductorColorToolButton - + Noir Preto - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc Branco - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1002,7 +1312,7 @@ form - + Choisir une couleur de conducteur @@ -1020,13 +1330,13 @@ form - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1035,24 +1345,33 @@ form ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1066,45 +1385,63 @@ form + Texte Texto - - + + Unifilaire Unifilar - + phase fase - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line Traço tracejado - + Traits et points conductor style: dashed and dotted line - + terre terra - + neutre neutro @@ -1134,7 +1471,7 @@ form - + Couleur du conducteur @@ -1160,6 +1497,7 @@ form + Texte visible @@ -1214,95 +1552,95 @@ form Editar as numerações - + Formule du texte : - + cable - + bus - + TextLabel - - + + Nombre de phase - + Neutre - + Terre - + Phase - + Protective Earth Neutral - + PEN - + Taille : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + Taille de trait : - + px px - + Apparence Aparência - - + + Couleur : Côr: @@ -1323,128 +1661,152 @@ form ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Desfazer - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple Simples - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1474,27 +1836,27 @@ form DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Erro - + Impossible d'écrire dans le fichier « %1 ». @@ -1502,7 +1864,7 @@ form Diagram - + Modifier la profondeur @@ -1648,7 +2010,7 @@ form DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1665,262 +2027,330 @@ form DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Erro - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1928,7 +2358,7 @@ form DiagramPropertiesDialog - + Propriétés du folio window title @@ -1937,12 +2367,12 @@ form DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1951,78 +2381,84 @@ form DiagramView - + Coller ici context menu action Colar aqui - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Esta é a área onde cria os seus esquemas, colocando elementos e coloca os condutores ligados aos bornes. Nesta área também pode adicionar texto. - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur Escolher a nova cor do condutor - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Erro - + Le fichier n'a pas pu être écrit. @@ -2040,7 +2476,7 @@ form - + TextLabel @@ -2048,42 +2484,42 @@ form DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Topo - + Bas Fundo - + Gauche Esquerda - + Droite Direita - + Direction : @@ -2091,17 +2527,17 @@ form DynamicElementTextItem - + Texte Texto - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2123,30 +2559,30 @@ form - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2358,21 +2794,21 @@ form - + Gauche Esquerda - + Droite Direita - + Centre @@ -2474,64 +2910,64 @@ form - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2539,32 +2975,32 @@ form DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche Esquerda - + Centre - + Droite Direita @@ -2572,12 +3008,12 @@ form EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2618,153 +3054,226 @@ form Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Abrir um elemento - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Escolha o elemento que deseja abrir. - + Enregistrer un élément dialog title Salvar um elemento - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Escolha o elemento no qual deseja registar a sua definição. - + Ouvrir une catégorie dialog title Abrir uma categoria - - + + Choisissez une catégorie. dialog content Escolha uma categoria. - + Enregistrer une catégorie dialog title Salvar uma categoria - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau template - + Nom du nouveau dossier - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Selecção não existente - + La sélection n'existe pas. message box content A selecção não existe. - - + + Sélection incorrecte message box title Selecção incorrecta - + La sélection n'est pas un élément. message box content A selecção não é um elemento. - + Écraser l'élément ? message box title Sobrescrever o elemento? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content O elemento já existe. Tem a certeza que o quer sobrescrever? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2791,12 +3300,18 @@ form - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2817,104 +3332,214 @@ form - + Informations Informações - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Desfazer - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2930,8 +3555,8 @@ form - - + + Type @@ -3014,8 +3639,8 @@ form - - + + Fonction @@ -3045,302 +3670,302 @@ form - - - + + + Simple Simples - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Nenhum - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3354,7 +3979,7 @@ form - Élement + Élément @@ -3485,249 +4110,249 @@ form - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter Exportar - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Erro - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3735,28 +4360,28 @@ form ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title Editar informações sobre o autor - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Pode utilizar este campo em branco para indicar os autores do elemento, a licença do mesmo, ou qualquer outra informação que considere útil. - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Pode especificar o nome do elemento em diversas línguas. - + Éditer les noms window title Editar nomes @@ -3765,101 +4390,101 @@ form ElementsCategoryEditor - + Vous pouvez spécifier un nom par langue pour la catégorie. Pode escolher um nome por linguagem para a categoria. - + Nom interne : Nome interno: - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title Categoria não existente - + La catégorie demandée n'existe pas. Abandon. message box content A categoria pedida não existe. Abandonando. - + Éditer une catégorie window title Editar categoria - + Créer une nouvelle catégorie window title Criar nova categoria - + Nom de la nouvelle catégorie default name when creating a new category Nome da nova categoria - + Édition en lecture seule message box title Edição modo de leitura - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Não tem permissões para editar esta categoria. Será aberta em modo de leitura. - + Nom interne manquant message box title Nome interno em falta - + Vous devez spécifier un nom interne. message box content Tem de especificar um nome interno. - + Nom interne déjà utilisé message box title Nome interno já utilizado - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content O nome interno que escolheu já existe em outra categoria. Por favor escolha outro nome. - + Erreur message box title Erro - + Impossible de créer la catégorie message box content Não é possível criar a categoria @@ -3868,122 +4493,122 @@ form ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément Editar elemento - + Supprimer l'élément Apagar elemento - + Supprimer le dossier - + Recharger les collections Recarregar colecções - + Éditer le dossier - + Nouveau dossier - + Nouvel élément Novo elemento - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title Apagar o elemento? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title Apagando o elemento - + La suppression de l'élément a échoué. message box content Falha a apagar o elemento. - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3999,43 +4624,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4043,7 +4668,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4051,32 +4676,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4146,124 +4771,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Éditer ce modèle Editar o modelo - + Supprimer ce modèle Apagar o modelo - + Fermer ce projet Fechar este projecto - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Propriétés du projet Propriedades do projecto - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle Novo modelo - - + + Panneau des éléments - + Filtrer @@ -4312,7 +4937,7 @@ form ExportConfigPage - + Export configuration page title Exportar @@ -4321,101 +4946,101 @@ form ExportDialog - + Aperçu Antevisão - + Dimensions Dimensões - + Impossible d'écrire dans ce fichier message box title Não é possível escrever neste ficheiro - + Exporter Exportar - + Nom de fichier Nome do ficheiro - - + + px px - + Noms des fichiers cibles message box title Nomes dos arquivos de destino - + Exporter les folios du projet window title - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher Seleccionar todos - + Tout décocher Desmarcar todos - + Titre du folio - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title Directoria não especificada - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Tem de especificar o caminho para a directoria onde as imagens dos ficheiros serão guardados. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Aparentemente não possui as permissões necessárias para escrever para o ficheiro %1. @@ -4689,63 +5314,73 @@ form - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4753,27 +5388,27 @@ form FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4801,129 +5436,130 @@ form - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets Projectos - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4938,176 +5574,291 @@ form - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés Destacar no painel os elementos recém integrados - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List @@ -5120,276 +5871,374 @@ form - + Gestion des éléments Gestão de elementos - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : Fonte : - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Geral - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5444,7 +6293,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] %1 [não utilizado no projecto] @@ -5703,42 +6552,42 @@ form ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Antevisão - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5928,28 +6777,28 @@ form JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6198,6 +7047,96 @@ form + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6252,7 +7191,7 @@ form - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6352,7 +7291,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6362,6 +7301,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Desfazer + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Desfazer + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6411,10 +7502,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6424,7 +7520,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6455,7 +7551,7 @@ form Adicionar uma linha - + Copier dans le presse papier @@ -6513,13 +7609,13 @@ form - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6797,13 +7893,13 @@ form PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6863,25 +7959,43 @@ form PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6889,32 +8003,32 @@ form - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7023,12 +8137,12 @@ form Polígono fechado - + Ajouter un point - + Supprimer ce point @@ -7080,54 +8194,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7135,23 +8249,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7159,10 +8273,107 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Apagar + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Impressão @@ -7171,142 +8382,334 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom + Nome + + + + Folio - - Numérotation auto des folios + + Élément + Elemento + + + + Figé - - Importer depuis un autre projet... + + Attribuer un numéro libre… - - Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - - - - - - - Nom de la nouvelle numérotation - - - - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7314,12 +8717,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7341,50 +8744,134 @@ form ProjectMainConfigPage - + Général configuration page title Geral - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7428,137 +8915,137 @@ form - + Option de rendu - + Dessiner le cadre Desenhar a borda - + Dessiner le cartouche Desenhar a moldura - + Conserver les couleurs des conducteurs Manter as cores dos condutores - + Dessiner les bornes Desenhar terminais - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille Utilizar página inteira - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur Ajustar à largura - + Ajuster la page Ajustar à página - + Zoom arrière - + Zoom avant - + Paysage Paisagem - + Portrait Retrato - + Première page Primeira página - + Page précédente Página anterior - + Page suivante Página seguinte - + Dernière page Última página - + Afficher une seule page - + Afficher deux pages Mostrar duas páginas - + Afficher un aperçu de toutes les pages Mostrar todas as páginas - + mise en page @@ -7735,160 +9222,196 @@ Voulez-vous enregistrer les modifications ? QETApp - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Molduras QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Molduras do utilizador - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Erro + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + &Quitter &Sair - + &Masquer &Esconder - + &Restaurer &Ver - + &Masquer tous les éditeurs de schéma &Esconder os editores de esquemas - + &Restaurer tous les éditeurs de schéma &Mostrar os editores de esquemas - + &Masquer tous les éditeurs d'élément &Esconder os editores de elementos - + &Restaurer tous les éditeurs d'élément &Mostrar os editores de elementos - + &Masquer tous les éditeurs de cartouche systray submenu entry &Esconder todos os editores de moldura - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Mostrar todos os editores de molduras - + &Nouvel éditeur de schéma &Novo editor de esquema - + &Nouvel éditeur d'élément &Novo editor de elemento - + Ferme l'application QElectroTech Fechar QElectroTech - + Réduire QElectroTech dans le systray Minimizar QElectroTech para a bandeja de sistema - + Restaurer QElectroTech Restaurar QElectroTech - + Éditeurs de schémas Editores de esquemas - + Éditeurs d'élément Editores de elementos - + Éditeurs de cartouche systray menu entry Editores de molduras - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Utilização: - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7905,7 +9428,7 @@ Opções disponiveis: - + [options] [fichier]... @@ -7914,111 +9437,111 @@ Opções disponiveis: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define a directoria da colecção de elementos - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definir a pasta da colecção de modelos de molduras¶ - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define a directoria de configuração - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define a directoria dos ficheiros de linguagem - + Chargement... Initialisation du cache des collections d'éléments splash screen caption A carregar... a Inicializar cache da colecção de elementos - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption A carregar... abertura dos ficheiros - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Esquema - + Electrique Normal example text - translate length, not meaning Eléctrico - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configurar QElectroTech - + Chargement... splash screen caption A carregar... - + Chargement... icône du systray splash screen caption A carregar... Ícone da bandeja de sistema - + QElectroTech systray menu title QElectroTech - + QElectroTech systray icon tooltip QElectroTech @@ -8027,741 +9550,1006 @@ Opções disponiveis: QETDiagramEditor - + Afficha&ge Ve&r - + Affiche ou non le panel d'appareils Mostra ou não o painel de elementos - + Ajouter une colonne Adicionar uma coluna - + &Cascade &Cascata - + C&oller &Colar - + Cop&ier &Copiar - + Co&uper Cort&ar - + Désélectionner tout Seleccionar nada - + &Édition &Editar - + Enlever une colonne Eliminar uma coluna - + &Enregistrer &Guardar - + Enregistrer sous Guardar como - + E&xporter &Exportar - + Fe&nêtres Ja&nelas - + + &Fermer &Fechar - + &Fichier &Ficheiro - + Imprimer Imprimir - + Inverser la sélection Inverter a selecção - + Mode Selection Modo de selecção - + Mode Visualisation Modo de visualização - + &Mosaïque &Mosaico - + Collections - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Mostrar + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Ajouter un folio - - - + + + Supprimer le folio - + Exporter au format CSV - + Ajouter une nomenclature - + Ajouter un sommaire - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + &Nouveau &Novo - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une ligne Add row Adicionar uma linha - + Enlever une ligne Remove row Apagar uma linha - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Pivoter le groupe - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom sur le contenu - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line Adicionar uma linha - + Ajouter un rectangle Adicionar um rectângulo - + Ajouter une ellipse Adicionar uma elipse - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Ajouter - + Profondeur toolbar title Profundidade - + + Scripts + toolbar title + + + + + + Scripts + + + + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + %n objet(s) aligné(s) + + + + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -8769,7 +10557,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -8777,7 +10565,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -8785,18 +10573,18 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -8805,372 +10593,470 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 - + Outils Ferramentas - + &Ouvrir &Abrir - + Ouvrir un fichier Abrir um ficheiro - + Pas de zoom Sem zoom - + Pivoter Rodar - + &Quitter &Sair - + Supprimer Apagar - + Tout sélectionner Seleccionar tudo - + Zoom adapté Ajustar à janela - + Zoom arrière Diminuir Zoom - + Zoom avant Aumentar Zoom - + Annuler Desfazer - + Refaire Refazer - + Réinitialiser les conducteurs Reinicializar os condutores - + &Récemment ouverts - + Affiche ou non la barre d'outils principale Mostra ou esconde a barra de ferramentas principal - + Affiche ou non la barre d'outils Affichage Mostra ou esconde a barra de ferramentas Mostrar - + Affiche ou non la barre d'outils Schéma Mostra ou esconde a barra de ferramentas Esquema - + Affichage mostra - + Schéma Esquema - + Ajouter un champ de texte Adicionar um campo de texto - + Aucune modification Sem modificações - + Affiche ou non la liste des modifications Mostra ou esconde a lista de acções modificadas - + Pivote les éléments et textes sélectionnés status bar tip Roda os elementos e textos seleccionados - + Pivote les textes sélectionnés à un angle précis status bar tip Roda os textos seleccionados com ângulo definido - + &Projet &Projecto - - + + Projet %1 enregistré dans le repertoire: %2. - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. A leitura do ficheiro que está a tentar abrir não parece ser possível e, por isso, não pode ser aberto. Por favor verifique as permissões do ficheiro. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. O projecto que está a tentar abrir não parece ter prmissões de escrita. Será aberto em modo só de leitura. - + en utilisant des onglets Usar separadores - + en utilisant des fenêtres usar janelas - + Afficher les projets Mostra os projectos - + Propriétés du projet Propriedades do projecto - + Nettoyer le projet Limpar o projecto - - + + Échec de l'ouverture du projet message box title Não é possível abrir o projecto - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content O ficheiro %1 não é um ficheiro de projecto QElectroTech. Por esse motivo não é possível abrir o ficheiro. - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Desfazer - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Clicar sobre uma acção para voltar atrás na edição do seu esquema - + Orienter les textes Orientar os textos - + Retrouver dans le panel Encontrar no painel - + Ferme l'application QElectroTech status bar tip Fecha QElectroTech - + Annule l'action précédente status bar tip Anula a acção anterior - + Restaure l'action annulée status bar tip Restaura a acção anulada - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Transfere os elementos seleccionados para a área de transferência - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copia os elementos seleccionados para a área de transferência - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Anula a selecção dos elementos seleccionados e selecciona os elementos não seleccionados anteriormente - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Calcula novamente os caminhos dos condutores sem ter em conta as modificações - + Projets dock title Projectos - + Restaure le zoom par défaut status bar tip Restaura o Zoom padrão - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Apresenta os projectos abertos em janelas - + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Présente les différents projets ouverts des onglets status bar tip Apresenta os projectos abertos em separadores - + Permet de sélectionner les éléments status bar tip Permite seleccionar elementos - + A&jouter - + Aligner - + Lignes et colonnes - - + + Impossible d'ouvrir le fichier message box title Não é possível abrir o ficheiro - + Ouverture du projet en lecture seule message box title Abrir o ficheiro em modo só de leitura - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9179,7 +11065,7 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9188,29 +11074,29 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Polices du projet message box title - + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe - + %n objet(s) remis sur la grille @@ -9218,12 +11104,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9231,113 +11117,113 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Erro - + Dispose les fenêtres en mosaïque status bar tip Dispôe as janelas em mosaico - + Dispose les fenêtres en cascade status bar tip Dispôe as janelas em cascata - + Projet suivant Projecto seguinte - + Projet précédent Projecto anterior - + Active le projet suivant status bar tip Activa o projecto seguinte - + Active le projet précédent status bar tip Activa o projecto anterior @@ -9346,27 +11232,27 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QETElementEditor - + &Nouveau &Novo - + &Ouvrir &Abrir - + &Enregistrer &Guardar - + Enregistrer sous Guardar como - + Tout sélectionner Seleccionar tudo @@ -9376,318 +11262,318 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QElectroTech - Editor de elementos - + &Aide &Ajuda - + Annulations Desfazer - + Parties Partes - + Informations Informações - + Outils Ferramentas - + Affichage - + Élément Elemento - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Seleccionar nada - + C&oller dans la zone - + Un fichier - + Un élément - + Inverser la sélection Inverter a selecção - + &Supprimer &Apagar - + Éditer le nom et les traductions de l'élément - + Éditer les propriétés de l'élément - + À &propos de QElectroTech &Sobre QElectroTech - + Affiche des informations sur QElectroTech Mostra informações sobre QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt Sobre &Qt - + Affiche des informations sur la bibliothèque Qt Apresenta informações sobre as bibliotecas Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Ajouter une ligne Adicionar uma linha - + Ajouter une ellipse Adicionar uma elipse - + Ajouter un polygone Adicionar um polígono - + Ajouter du texte Adicionar texto - + Ajouter un arc de cercle Adicionar um arco - + Ajouter une borne Adicionar um terminal - + Annuler Desfazer - + Refaire Refazer - + Aucune modification No modification - + Recharger Recarregar - + Zoom avant Aumentar Zoom - + Zoom arrière Diminuir Zoom - + Zoom adapté Ajustar à janela - + Pas de zoom Sem zoom - + &Ouvrir depuis un fichier &Abrir a partir de um ficheiro - + Enregistrer dans un fichier Guardar para um ficheiro - + Éditer les informations sur l'auteur Editar as informações sobre o autor - + Parties toolbar title Partes - + Profondeur toolbar title Profundidade - + &Fichier &Ficheiro - + &Édition &Editar - + Afficha&ge Ve&r - + Coller depuis... Colar a partir de... - + [Modifié] window title tag [Modificado] - + [lecture seule] window title tag [só leitura] - + Éditeur d'éléments status bar message Editor de elementos - - + + %n partie(s) sélectionnée(s). %n parte seleccionada. @@ -9695,116 +11581,139 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Absence de borne warning title Borne em falta - + Absence de borne Borne em falta - + Le fichier %1 n'existe pas. message box content O ficheiro %1 não existe. - + Afficher menu entry Mostrar - - + + Impossible d'ouvrir le fichier %1. message box content Não é possível abrir o ficheiro %1. - - + + Ce fichier n'est pas un document XML valide message box content Este ficheiro não é um documento XML válido - - + + Erreur toolbar title Erro - - + + Édition en lecture seule message box title Edição modo de leitura - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Não tem permissões para editar esta categoria. Será aberta em modo de leitura. - - + + Erreur message box title Erro - + Impossible d'écrire dans ce fichier message box content Não é possível escrever neste ficheiro - + Impossible d'enregistrer l'élément message box content Não é possível guardar o elemento - + Trop de primitives, liste non générée: %1 - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9813,12 +11722,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + et - + %n avertissement(s) warnings @@ -9827,235 +11736,268 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Avertissement Aviso - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) Elementos QElectroTech (*.elmt) - + Impossible d'ouvrir le fichier message box title Não é possível abrir o ficheiro - + Ouvrir un fichier dialog title Abrir um ficheiro - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementos QElectroTech (*.elmt);;XML files (*.xml);;All files (*) - + Recharger l'élément dialog title Recarregar o elemento - + Avertissements Avisos - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Este elemento foi modificado desde a última vez que o guardou. Se o recarregar as alterações serão perdidas. Tem a certeza que deseja recarregar este elemento? - + Enregistrer sous dialog title Gravar como - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementos QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Guardar o elemento actual? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Deseja gravar o elemento %1? - - - - + + + + Élément inexistant. message box title Elemento não existente. - - + + L'élément n'existe pas. message box content O elemento não existe. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content O caminho virtual escolhido não corresponde a um elemento. - + Co&uper Cort&ar - + Cop&ier Copi&ar - + C&oller &Colar - + Ajouter un rectangle Adicionar um rectângulo @@ -10063,138 +12005,173 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech &Configurar QElectroTech &Configurar QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permite especificar vários parâmetros para QElectroTech - + À &propos de QElectroTech &Sobre QElectroTech - + Affiche des informations sur QElectroTech status bar tip Mostra informações sobre QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général Geral - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt Sobre &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Apresenta informações sobre as bibliotecas Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Configuração - + &Aide window menu &Ajuda - + Sortir du &mode plein écran Sair do &modo écran inteiro - + Affiche QElectroTech en mode fenêtré status bar tip Mostra QElectroTech em modo de visualização por janelas - + Passer en &mode plein écran Passar para &modo de écran inteiro - + Affiche QElectroTech en mode plein écran status bar tip Mostra QElectroTech no modo de écran inteiro - + Afficher menu entry Mostrar @@ -10203,58 +12180,58 @@ veuillez patienter durant l'import... QETProject - + Avertissement message box title Aviso - + Projet %1 displayed title for a title-less project - %1 is the file name Projecto %1 - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet sans titre displayed title for a project-less, file-less project Projecto sem título - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [só leitura] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10262,50 +12239,50 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Aconteceu um erro durante a integração do modelo. - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10674,71 +12651,71 @@ Que désirez vous faire ? QObject - + Exporter vers le presse-papier Exportar para a àrea de transferência - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? O ficheiro de texto que contém a licença GNU/GPL não foi encontrado - ah, de qualquer modo conhece-a de cor, não é? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? O ficheiro de texto que contém a licença GNU/GPL existe mas não pôde ser aberto - ah, de qualquer modo conhece-a de cor, não é? - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Aviso: o elemento foi guardado usando uma versão mais recente de QElectroTech. - + supprimer %1 undo caption - %1 is a sentence listing the removed content apagar %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste colar %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut cortar %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content mover %1 - + modifier le texte undo caption modificar o texto - + modifier un conducteur undo caption modificar um condutor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reinicializar %1 - + modifier les dimensions du folio undo caption @@ -10894,7 +12871,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10903,7 +12880,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10912,7 +12889,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10921,7 +12898,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10930,7 +12907,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10939,7 +12916,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10948,7 +12925,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10957,7 +12934,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10966,69 +12943,69 @@ Que désirez vous faire ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Não é possível abrir o ficheiro %1 para escrita, erro %2 encontrado. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan colocar em primeiro plano - + Rapprocher elevar - + Éloigner baixar - + Envoyer au fond enviar para segundo plano - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur Profundidade - + Borne tooltip Terminal @@ -11046,27 +13023,27 @@ Que désirez vous faire ? rectângulo - + Folio sans titre - + schema esquema - + Conserver les proportions Conservar proporções - + Réinitialiser les dimensions Reinicializar dimensões - + Aperçu Antevisão @@ -11270,32 +13247,32 @@ Que désirez vous faire ? Texto - + Collection QET Colecção QET - + Collection Company - + Collection utilisateur Colecção do Utilizador - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11314,7 +13291,7 @@ Que désirez vous faire ? Rodar - + %n texte(s) @@ -11322,13 +13299,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orientar os textos seleccionados @@ -11348,7 +13325,7 @@ Que désirez vous faire ? Adicionar um terminal - + %p% effectué (%v sur %m) @@ -11372,15 +13349,15 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code @@ -11426,12 +13403,12 @@ Que désirez vous faire ? - + Importer un fichier dxf - + Ouvrir un element @@ -11441,13 +13418,18 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11589,22 +13571,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin @@ -11620,6 +13602,7 @@ Voulez-vous la remplacer ? + Titre @@ -11746,35 +13729,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11782,9 +13765,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction @@ -12099,22 +14082,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12220,6 +14203,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -12246,7 +14230,7 @@ Voulez-vous la remplacer ? - + Création de conducteurs @@ -12327,7 +14311,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12410,7 +14394,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12419,8 +14403,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12549,98 +14533,111 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12648,6 +14645,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12667,369 +14705,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -13111,7 +15210,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -13119,31 +15218,75 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + Elemento + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13167,9 +15310,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13289,97 +15432,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af fase - - + + Nombre de phase - + Neutre - + neutre neutro - + Terre - + terre terra - + TextLabel - + PushButton - + Apparence Aparência - + Taille : - - + + Couleur : Côr: - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line Traço tracejado - + Traits et points conductor style: dashed and dotted line @@ -13388,7 +15531,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13433,10 +15576,10 @@ form - - - - + + + + Ne pas modifier @@ -13496,7 +15639,7 @@ form - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13505,38 +15648,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées Personalisados - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13570,6 +15713,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Novo + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Nome: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Guardar + + + + Ouvrir le &dossier + + + + + &Fermer + &Fechar + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13611,185 +15933,185 @@ form - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément Elemento - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer Substituir - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13820,53 +16142,73 @@ form - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Valor - + Incrémentation - + + Annuler + Desfazer + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13883,13 +16225,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13911,13 +16253,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13938,6 +16280,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16333,12 +18685,12 @@ form - + Configuration - + Requête SQL : @@ -16348,6 +18700,18 @@ form + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16700,123 +19064,123 @@ form - + Étage : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés Propriedades - + Nom : Nome: - + Commentaire : - + Installation : - + Localisation : - + Description - + Type : Escrever : @@ -16852,32 +19216,32 @@ form - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger Recarregar - + Recharger les borniers @@ -17105,12 +19469,12 @@ form TerminalStripTreeDockWidget - + Projet sans titre Projecto sem título - + Bornes indépendante @@ -17221,7 +19585,7 @@ form - + Dossier installation @@ -17229,37 +19593,37 @@ form TitleBlockDimensionWidget - + Largeur : default dialog label Largura: - + Absolu a traditional, absolute measure Absoluto - + Relatif au total a percentage of the total width Relativo ao total - + Relatif au restant a percentage of what remains from the total width Relativo ao restante - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17268,30 +19632,31 @@ form TitleBlockPropertiesWidget - + Modèle par défaut Modelo padrão - + Éditer ce modèle menu entry Editar este modelo - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions Acções dos modelos dos blocos de titulo - - + + + Créer un Folio Numérotation Auto @@ -17319,93 +19684,93 @@ form - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date Sem data - + Date courante Data actual - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Principales Principais - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17414,32 +19779,32 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées Personalisados @@ -17447,13 +19812,13 @@ Les variables suivantes sont utilisables : TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -17950,50 +20315,50 @@ Les variables suivantes sont utilisables : WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18002,7 +20367,7 @@ Les variables suivantes sont utilisables : - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18014,96 +20379,115 @@ Les variables suivantes sont utilisables : WiringListExport - - + + Erreur Erro - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Aviso + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18314,27 +20698,27 @@ form projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18342,7 +20726,7 @@ form qdesigner_internal::ColorAction - + Text Color Cor do texto @@ -18350,7 +20734,7 @@ form qdesigner_internal::HtmlTextEdit - + Insert HTML entity Inserir entidade HTML @@ -18358,27 +20742,27 @@ form qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18386,69 +20770,69 @@ form qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_pt_BR.ts b/lang/qet_pt_BR.ts index 932eb21e5..0d26aa6bb 100644 --- a/lang/qet_pt_BR.ts +++ b/lang/qet_pt_BR.ts @@ -54,272 +54,272 @@ log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, uma aplicação para projetar esquemas elétricos. - + Les développeurs de QElectroTech about tab, developers line Os desenvolvedores do Qelectrotech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Contato: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Conceito original - - + - - + + + Développement Desenvolvimento - + Convertisseur DXF Conversor DXF - + Plugin Bornier Plugin de Bornes - + Collection Coleção - + Traduction en espagnol Tradução em espanhol - + Traduction en russe Tradução em russo - + Traduction en portugais Tradução em português - + Traduction en tchèque Tradução em checo - + Traduction en polonais Tradução em polonês - + Traduction en allemand Tradução em alemão - + Traduction en roumain Tradução em romeno - + Traduction en italien Tradução em italiano - + Traduction en arabe Tradução em árabe - + Traduction en croate Tradução em croata - + Traduction en catalan Tradução em catalão - + Traduction en grec Tradução em grego - + Traduction en néerlandais Tradução em holandês - + Traduction en flamand Tradução em flamengo - + Traduction en danois Tradução dinamarquesa - + Traduction en brézilien Tradução brasileira - + Traduction en Turc Tradução em Turco - + Traduction en hongrois Tradução em Húngaro - + Traduction en serbe Tradução em sérvio - + Traduction en japonais Tradução em japonês - + Traduction en coréen Tradução em coreano - + Traduction en mongol Tradução em mongol - + Paquets Fedora et Red Hat Pacotes Fedora e Red Hat - + Paquets Mageia Pacotes Mageia - + Paquets Debian Pacotes Debian - + Paquets Gentoo Pacotes Gentoo - + Paquets OS/2 Pacotes OS/2 - + Paquets FreeBSD Pacotes FreeBSD - + Paquets MAC OS X Pacotes MAC OS X - + Paquets Archlinux AUR Pacotes Archlinux AUR - + Icônes Ícones - + Documentation Documentação - + Collection d'éléments Coleção de elementos - + Redimensionneur d'éléments Element scaler Redimensionador de elementos - + Convertisseur d'élément DXF Dxf2elmt Conversor de elementos DXF - + Outil de traduction d'éléments Qet_translate Ferramenta de tradução de elementos - + Paquets Snap Pacotes Snaps - + Traduction en ukrainien Tradução em ucraniano - + Traduction en norvégien Tradução em norueguês - + Traduction en slovène Tradução em esloveno - + Générateur d'élément lambda Lambda element generator Gerador de elemento lambda @@ -428,17 +428,17 @@ Configuração - + Contenu Conteúdo - + Sélectionner la police des en tête du tableau Selecione a fonte no topo da tabela - + Sélectionner la police des cellules du tableau Selecione a fonte das células da tabela @@ -456,6 +456,134 @@ Adicione o seguinte plano de terminal: + + AiAssistantDialog + + + Connecter un assistant IA + Conectar um assistente de IA + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + Um assistente de IA (Claude, GitHub Copilot, Gemini…) pode abrir, verificar e modificar seus esquemas por meio do servidor MCP do QElectroTech, que funciona neste computador. Copie o texto abaixo para a configuração do seu assistente. <a href="%1">Guia detalhado</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>O servidor MCP não está instalado com esta versão do QElectroTech.</b> O guia explica como obtê-lo. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>O Python talvez não esteja instalado.</b> Apenas o atalho “python” da Microsoft Store foi encontrado: sem o Python, ele abre a Store em vez de iniciar o servidor. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>O Python não foi encontrado neste computador</b> (comando “%1”). O servidor precisa dele. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Execute novamente o instalador do QElectroTech e marque “Python para o assistente de IA”, ou instale o Python a partir de python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Instale o Python 3 com o gerenciador de pacotes do seu sistema. + + + + Assistant : + Assistente: + + + + Le dossier de vos schémas + A pasta dos seus esquemas + + + + Parcourir… + Procurar… + + + + Dossier accessible : + Pasta acessível: + + + + Autoriser l'assistant à modifier les schémas + Permitir que o assistente modifique os esquemas + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + O assistente só pode ler e gravar nesta pasta. Sem a permissão de modificar, ele só pode ler, comparar e exportar. Um assistente lê o texto dos projetos (marcações, notas…): um texto escrito como uma instrução pode influenciá-lo. Deixe as modificações desativadas para esquemas recebidos de outras pessoas. + + + + Copier + Copiar + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + Se o arquivo já contiver outros servidores, adicione apenas a entrada “qet”. + + + + Choisissez d'abord le dossier de vos schémas. + Escolha primeiro a pasta dos seus esquemas. + + + + Dossier accessible à l'assistant + Pasta acessível ao assistente + + + + Copié + Copiado + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + No Claude Desktop: Configurações → Desenvolvedor → Editar configuração. Depois feche e reinicie o Claude. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Salve-o com o nome .mcp.json na pasta dos seus esquemas. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Salve-o com o nome .vscode/mcp.json na pasta aberta no VS Code. O Copilot usa as ferramentas no modo agente. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Adicione-o ao arquivo .cursor/mcp.json da sua pasta pessoal. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Adicione-o ao arquivo .gemini/settings.json da sua pasta pessoal. O Gemini CLI pede para confiar na pasta na primeira vez. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Adicione-o ao arquivo .codex/config.toml da sua pasta pessoal. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + No LM Studio: aba Program → Install → Edit mcp.json. + + AlignmentTextDialog @@ -497,6 +625,39 @@ Ângulo: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + O nome da numeração não pode estar vazio. + + + + Une numérotation nommée « %1 » existe déjà. + Já existe uma numeração chamada “%1”. + + + + Créer la numérotation %1 + Criar a numeração %1 + + + + Renommer la numérotation %1 en %2 + Renomear a numeração %1 para %2 + + + + Modifier la numérotation %1 + Modificar a numeração %1 + + + + Supprimer la numérotation %1 + Excluir a numeração %1 + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ Redefinir para o valor inicial - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. Valor atual do contador. Digite um novo valor e confirme para alterá-lo. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation Incremento: valor somado ao contador a cada nova numeração - - - + + + Prochaine valeur qui sera appliquée avec cet incrément Próximo valor que será aplicado com este incremento - + Element Elemento - + Conducteur Condutor - + Configurer les règles d'auto numérotation Configurar regras de autonumeração - + Configurer Configurar @@ -573,10 +734,88 @@ Página - + + + Appliquer cette numérotation aux éléments sélectionnés + Aplicar esta numeração aos elementos selecionados + + + + Appliquer la numérotation + Aplicar a numeração + + + + Choisissez une numérotation d'éléments du projet. + Escolha uma numeração de elementos do projeto. + + + + Sélectionnez d'abord des éléments dans le folio. + Selecione primeiro elementos na página. + + + + (figé) + (congelado) + + + + (autre numérotation) + (outra numeração) + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + Nada a aplicar: os elementos selecionados já seguem a numeração “%1” ou tomam o nome de outro elemento. + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + %n elemento vai receber a numeração “%1”, na ordem das páginas e das posições. + %n elementos vão receber a numeração “%1”, na ordem das páginas e das posições. + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + Nenhum elemento pode receber a numeração “%1” sem substituir o que já tem. + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + Substituir também o %n elemento deixado como está + Substituir também os %n elementos deixados como estão + + + + + %n élément(s) numérotés. + + %n elemento numerado. + %n elementos numerados. + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + %n elemento selecionado permaneceu como estava. + %n elementos selecionados permaneceram como estavam. + + + + Autonumérotation Autonumeração + + + Sélectionnez d'abord des éléments dans le folio + Selecione primeiro elementos na página + AutoNumberingManagementW @@ -678,28 +917,78 @@ Existente - + Under Development Em desenvolvimento - + Installing Instalando - + Built Construído - + + + + + Renuméroter les éléments + Renumerar os elementos + + + + Renuméroter les éléments (%1) + Renumerar os elementos (%1) + + + + Aucun élément ne suit cette numérotation. + Nenhum elemento segue esta numeração. + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + O %n elemento que segue esta numeração tem um nome congelado: nada é renumerado. + Os %n elementos que seguem esta numeração têm um nome congelado: nada é renumerado. + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + %n elemento vai ser renumerado, a partir do primeiro número, na ordem das páginas e das posições. + %n elementos vão ser renumerados, a partir do primeiro número, na ordem das páginas e das posições. + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + %n elemento renumerado, %1 com um novo nome. + %n elementos renumerados, %1 com um novo nome. + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + %n elemento com nome congelado não foi alterado, e seu número não foi redistribuído. + %n elementos com nome congelado não foram alterados, e seus números não foram redistribuídos. + + + + Auto Numbering Management title window Gerenciamento de Autonumeração - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -739,60 +1028,60 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Aperçu - Visualização + Visualização - + nomenclature_ nomenclature_ - + Enregister sous... Salvar como... - + Fichiers csv (*.csv) Arquivos csv (*.csv) - - + + Erreur Erro - + Impossible d'enregistrer la nomenclature dans %1. %2 Não foi possível salvar a lista de materiais em %1. %2 - + Position Posição - + Position du folio Posição da página - + Quantité numéro d'article Special field with name : designation quantity Campo especial com nome: quantidade de designação Número de quantidade do item - + Requête refusée Consulta recusada - + Erreur dans la requête : %1 Erro na consulta: @@ -826,6 +1115,27 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Não + + BackupRestoreDialog + + + Fichiers de restauration + window title + Arquivos de restauração + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Foram encontrados arquivos de restauração,<br>deseja abri-los?</b><br>Para um projeto com várias versões de restauração, a mais recente é selecionada por padrão. + + + + %1 (la plus récente) + recovery generation label + %1 (a mais recente) + + BorderPropertiesWidget @@ -872,7 +1182,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua ClickableImageLabel - + Cliquez pour choisir une couleur Clique para escolher uma cor @@ -903,8 +1213,8 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Adicionar uma variável: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Digite seu texto aqui, usando variáveis disponíveis @@ -912,13 +1222,13 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Conductor - + Modifier les propriétés d'un conducteur undo caption Editar as propriedades de um condutor - + Modifier les propriétés de plusieurs conducteurs undo caption Editar as propriedades de vários condutores @@ -926,74 +1236,74 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua ConductorColorToolButton - - - Noir - Preto - - Marron - Marrom + Noir + Preto - Gris - Cinza + Marron + Marrom - Bleu - Azul + Gris + Cinza - Vert - Verde + Bleu + Azul - Rouge - Vermelho + Vert + Verde - Orange - Laranja + Rouge + Vermelho - Violet - Roxo + Orange + Laranja - Blanc - Branco + Violet + Roxo - + + Blanc + Branco + + + Couleur de conducteur Cor do condutor - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip Aplica uma cor aos condutores selecionados e a usa para os próximos condutores desenhados - + Récemment utilisées Usadas recentemente - + Autre couleur… Outra cor… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1002,7 +1312,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua - + Choisir une couleur de conducteur Escolher uma cor de condutor @@ -1020,13 +1330,13 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Aplicar as propriedades em todos os condutores deste potencial - + Modifier les propriétés d'un conducteur undo caption Editar as propriedades de um condutor - + Modifier les propriétés de plusieurs conducteurs undo caption Editar as propriedades de vários condutores @@ -1035,26 +1345,35 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - Aplicar as propriedades em todos os condutores deste potencial + Aplicar as propriedades em todos os condutores deste potencial + + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + %n condutor selecionado: somente os campos modificados são aplicados a ele. + %n condutores selecionados: somente os campos modificados são aplicados a eles. + - + Modifier les propriétés d'un conducteur undo caption - Editar as propriedades de um condutor + Editar as propriedades de um condutor - + Modifier les propriétés de plusieurs conducteurs undo caption - Editar as propriedades de vários condutores + Editar as propriedades de vários condutores - + Conducteur - Condutor + Condutor @@ -1096,16 +1415,18 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua + Texte Texto + Texte visible Texto visível - + Formule du texte : Fórmula do texto: @@ -1141,102 +1462,102 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Seção do condutor - + cable cabo - + bus bus - - + + Unifilaire Unifilar - - + + Nombre de phase Número de fases - + Neutre Neutro - + neutre neutro - + Phase Fase - + phase fase - + Protective Earth Neutral Proteção Neutro Terra - + PEN PEN - + Terre Terra - + terre terra - + TextLabel Rótulo - + Apparence Aparência - + Couleur du conducteur Cor do condutor - - + + Couleur : Cor: - + Taille : Tamanho: - - + + Style du conducteur Estilo do condutor - + Style : Estilo: @@ -1271,34 +1592,52 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Posição e rotação do texto do condutor: - + Couleur secondaire : Cor secundária : - + px px - + Taille de trait : Tamanho da linha: - + + Plusieurs valeurs + several conductors, different values + Vários valores + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Vários condutores selecionados: o texto só pode ser modificado em um condutor por vez. + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Texto visível +Travado pela opção “Exibir um texto de potencial por página” desta página, em Propriedades da página. + + + Trait plein conductor style: solid line Linha contínua - + Trait en pointillés conductor style: dashed line Linha pontilhada - + Traits et points conductor style: dashed and dotted line Pontos e traços @@ -1320,128 +1659,155 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Selecionar um grupo de contatos - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Selecione o grupo de contatos a atribuir a este elemento escravo: - + # # - + Type Tipo - + Sous-type Subtipo - + Contacts Contatos - + Bornes Terminais - - + + T%1 T%1 - + (déjà assigné) (já atribuído) - + (état ne correspond pas) (estado não corresponde) - + (sous-type ne correspond pas) (subtipo não corresponde) - + (nombre de contacts ne correspond pas) (número de contatos não corresponde) - + OK OK - + Annuler Cancelar - + Normalement ouvert Normalmente aberto - + Normalement fermé Normalmente fechado - + Inverseur Inversor - + Autre Outro - - + + Inconnu Desconhecido - + Simple Simples - + Puissance Potência - + Temporisé travail Temporizado ao trabalho - + Temporisé repos Temporizado ao repouso - + Temporisé travail & repos Temporizado ao trabalho e ao repouso + + CounterWarning + + + Compteur de la numérotation + Contador da numeração + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + O próximo número seria %1, mas %n elemento da numeração “%2” já tem um número igual ou superior (até %3). + O próximo número seria %1, mas %n elementos da numeração “%2” já têm um número igual ou superior (até %3). + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + +Os novos elementos vão pular os números já utilizados: eles não receberão necessariamente os números a partir de %1. + +Continuar? + + CustomElementGraphicPart @@ -1471,27 +1837,27 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagnosticsReportDialog - + Enregistrer... Salvar... - + Enregistrer le rapport de diagnostic Salvar o relatório de diagnóstico - + Fichiers texte (*.txt);;Tous les fichiers (*) Arquivos de texto (*.txt);;Todos os arquivos (*) - + Erreur Erro - + Impossible d'écrire dans le fichier « %1 ». Não foi possível gravar no arquivo « %1 ». @@ -1499,7 +1865,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Diagram - + Modifier la profondeur Modificar a profundidade @@ -1509,7 +1875,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Blanc - Branco + Branco @@ -1519,12 +1885,12 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Gris clair - Cinza claro + Cinza claro Gris - Cinza + Cinza @@ -1534,7 +1900,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Noir - Preto + Preto @@ -1639,7 +2005,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste Clique para posicionar a colagem, Esc ou clique direito para cancelar @@ -1656,262 +2022,330 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) Clique esquerdo: posicionar o ponto inicial (Ctrl = posição livre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Clique esquerdo: posicionar uma extremidade do arco (Ctrl = posição livre) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) Clique esquerdo: posicionar o primeiro canto (Ctrl = ponto central, posição livre) - + Clic gauche : positionner le premier point (Ctrl = position libre) Clique esquerdo: posicionar o primeiro ponto (Ctrl = posição livre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler Clique esquerdo: posicionar o ponto final (Ctrl = posição livre); clique direito: cancelar - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler Clique esquerdo: posicionar o canto oposto (Shift = quadrado, Ctrl = a partir do centro + posição livre, Ctrl+Shift = quadrado centralizado); clique direito: cancelar - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Clique esquerdo: posicionar a outra extremidade e a altura do arco (Shift = semicírculo, Ctrl = posição livre); clique direito: cancelar + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler Clique esquerdo: posicionar o canto oposto (Shift = círculo, Ctrl = a partir do centro + posição livre, Ctrl+Shift = círculo centralizado); clique direito: cancelar - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point Clique esquerdo: próximo ponto; duplo clique ou Enter: concluir; clique direito: desfazer o último ponto + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + Nenhuma linha aqui: clique em uma linha desenhada na página + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Clique na segunda linha; clique direito: cancelar + + + + Cliquez sur une autre ligne ; clic droit : annuler + Clique em outra linha; clique direito: cancelar + + + + Ces deux lignes sont parallèles : pas de congé possible + Estas duas linhas são paralelas: não é possível arredondar + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + Uma das linhas termina no canto: nada a arredondar deste lado + + + + Ces deux lignes sont presque alignées : pas de congé possible + Estas duas linhas estão quase alinhadas: não é possível arredondar + + + + Congé + Arredondamento + + + + Rayon : + Raio: + + + + Rayon trop grand pour ces lignes (%1 au plus) + Raio grande demais para estas linhas (no máximo %1) + + + + Ajouter un congé + Adicionar um arredondamento + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Arredondamento: clique em duas linhas, ou uma vez onde elas se encontram; Esc ou clique direito: terminar + + DiagramImageItem - + redimensionner redimensionar - + pivoter/incliner girar/inclinar - + Cliquer : mode %1 Clique: modo %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) Arraste um canto/borda: redimensionar (Ctrl = a partir do centro, Shift = manter proporções) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation Arraste um canto: girar (Shift = em passos de 15°); arraste uma borda: inclinar (Shift = em passos de 15°); ponto vermelho: mover o centro de rotação - + -- %1 : mode %2 -- %1: modo %2 - + Cliquer Clique - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) Arraste: redimensionar (Shift = manter proporções, Ctrl = a partir do centro) - + Glisser : pivoter (Maj = par pas de 15°) Arraste: girar (Shift = em passos de 15°) - + Glisser : incliner (Maj = par pas de 15°) Arraste: inclinar (Shift = em passos de 15°) - + Glisser : déplacer le centre de rotation Arraste: mover o centro de rotação - + Redimensionner une image Redimensionar uma imagem - + Faire pivoter une image Girar uma imagem - + Incliner une image Inclinar uma imagem - + Déplacer le centre de rotation d'une image Mover o centro de rotação de uma imagem - + Modifier une image Editar uma imagem - + Restaurer les proportions d'une image Restaurar as proporções de uma imagem - - + + Enregistrer l'image sous... Salvar a imagem como... - - + + Enregistrer l'image d'origine sous... Salvar a imagem original como... - + Image PNG (*.png) Imagem PNG (*.png) - + Image JPEG (*.jpg *.jpeg) Imagem JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) Imagem BMP (*.bmp) - + Image SVG (*.svg) - Imagem SVG (*.svg) + Imagem SVG (*.svg) - + Tous les fichiers (*) Todos os arquivos (*) - + Transparence non conservée Transparência não preservada - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? Este formato não suporta transparência: a imagem será salva como estava antes da aplicação da cor transparente. Continuar? - + Échec de l'enregistrement Falha ao salvar - + Impossible d'enregistrer l'image à cet emplacement. Não foi possível salvar a imagem neste local. - + une image uma imagem - + Remplacer l'image... Substituir a imagem... - + Couleur transparente... Cor transparente... - + Rogner... Recortar... - + Miroir horizontal Espelhar horizontalmente - + Miroir vertical Espelhar verticalmente - + Restaurer les proportions Restaurar proporções - + Selectionner une image... - Selecione uma imagem... + Selecione uma imagem... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) Arquivos de imagem (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - Erro + Erro - + Impossible de charger l'image. - Não é possível carregar a imagem. + Não é possível carregar a imagem. - + Remplacer une image Substituir uma imagem - + Miroir horizontal d'une image Espelhamento horizontal de uma imagem - + Miroir vertical d'une image Espelhamento vertical de uma imagem - + Définir une couleur transparente Definir uma cor transparente - + Rogner une image Recortar uma imagem @@ -1919,7 +2353,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagramPropertiesDialog - + Propriétés du folio window title Propriedades da página @@ -1928,12 +2362,12 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagramTextItem - + Maintenir ctrl pour un déplacement libre Pressione Ctrl para uma movimentação livre - + <Shift> to move @@ -1943,78 +2377,84 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Esta é a área na qual criamos os esquemas, inserindo componentes e interconectando os seus terminais. Também podemos inserir textos diversos. - + Coller ici context menu action Colar aqui - + Collage multiple Colagem múltipla - + Créer un template context menu action Criar um modelo - + + Générer une vignette d'armoire + context menu action + Gerar uma miniatura do painel + + + Renvoi de folio Referência de página - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Conectar os terminais selecionados - + Sans titre what to display for untitled diagrams Sem título - + Modèle enregistré Modelo salvo - + Le modèle a été enregistré avec succès sous : %1 O modelo foi salvo com sucesso em: %1 - + Erreur Erro - + Le fichier n'a pas pu être écrit. Não foi possível gravar o arquivo. - + Choisir la nouvelle couleur de ce conducteur Escolha a nova cor do condutor - + Modifier les propriétés d'un conducteur undo caption Editar as propriedades de um condutor @@ -2033,7 +2473,7 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Título - + TextLabel Texto da legenda @@ -2041,42 +2481,42 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DuplicateOffsetDialog - + Dupliquer Duplicar - + pas de grille passo(s) de grade - + Espacement : Espaçamento: - - - Haut - Cima - - Bas - Baixo + Haut + Cima - Gauche - Esquerda + Bas + Baixo - Droite - Direita + Gauche + Esquerda + Droite + Direita + + + Direction : Direção: @@ -2084,17 +2524,17 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DynamicElementTextItem - + Texte Texto - + Éditer un texte d'élément Editar texto do elemento - + Redimensionner un texte d'élément Redimensionar um texto de elemento @@ -2113,30 +2553,30 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua - - - - + + + + ... ... - + Importer une configuration de texte Importar uma configuração de texto - + Ajouter un texte Adicione um texto - + Ajouter un groupe de textes Adicione um grupo de textos - + Supprimer la sélection Excluir seleção @@ -2308,21 +2748,21 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua - + Gauche Esquerda - + Droite Direita - + Centre Centro @@ -2461,64 +2901,64 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Rotação - - + + Déplacer un champ texte Mover um campo de texto - + Pivoter un champ texte Girar um campo de texto - + Modifier le texte d'un champ texte Editar o texto de um campo de texto - - + + Modifier la police d'un champ texte Alterar a fonte de um campo de texto - + Modifier la couleur d'un champ texte Editar a cor de um campo do texto - + Modifier la conservation de l'angle Alterar conservação de ângulo - + Modifier le point de rotation d'un champ texte Alterar o ponto de rotação de um campo de texto - + Modifier le cadre d'un champ texte Modifique o quadro de um campo de texto - + Modifier la largeur d'un texte Alterar a largura de um texto - + Modifier l'information d'un texte Editar informação do texto - + Modifier la source de texte, d'un texte Alterar fonte do texto - + Modifier l'alignement d'un champ texte Alterar o alinhamento de um campo de texto @@ -2526,32 +2966,32 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua DynamicTextItemDelegate - + Texte utilisateur Texto do usuário - + Information de l'élément Informação do elemento - + Texte composé Composição de textos - + Gauche Esquerda - + Centre Centro - + Droite Direita @@ -2559,12 +2999,12 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua EditorDelegate - + ex. 80.5 ex.: 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Número decimal com ponto como separador (ex.: 80.5) @@ -2605,121 +3045,194 @@ Nota: Estas opções NÃO permitem ou bloqueiam a autonumeração, apenas a sua Element - + Numéroter automatiquement un élément undo caption Numerar automaticamente um elemento + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + O nome da numeração não pode estar vazio. + + + + Une numérotation nommée « %1 » existe déjà. + Já existe uma numeração chamada “%1”. + + + + Cet élément n'est dans aucun folio. + Este elemento não está em nenhuma página. + + + + Cet élément ne suit aucune numérotation. + Este elemento não segue nenhuma numeração. + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + A numeração “%1” não tem um número único: não é possível escolher um manualmente. + + + + Le numéro doit être au moins 1. + O número deve ser no mínimo 1. + + + + Le numéro %1 n'est pas libre. + O número %1 não está livre. + + + + Attribuer le numéro %1 + Atribuir o número %1 + + + + Appliquer la numérotation %1 + Aplicar a numeração %1 + + + + Numéroter les éléments collés (%1) + Numerar os elementos colados (%1) + + + + Créer la numérotation d'éléments %1 + Criar a numeração de elementos %1 + + + + Renommer la numérotation d'éléments %1 en %2 + Renomear a numeração de elementos %1 para %2 + + + + Modifier la numérotation d'éléments %1 + Modificar a numeração de elementos %1 + + + + Supprimer la numérotation d'éléments %1 + Excluir a numeração de elementos %1 + + ElementDialog - + Ouvrir un élément dialog title Abrir um elemento - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Selecione o elemento que deseja abrir. - + Enregistrer un élément dialog title Salvar um elemento - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Selecione o elemento no qual deseja salvar a sua definição. - + Ouvrir une catégorie dialog title Abrir uma categoria - - + + Choisissez une catégorie. dialog content Selecione uma categoria. - + Enregistrer une catégorie dialog title Salvar uma categoria - + Enregistrer un template dialog title Salvar um modelo - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Escolha o local onde deseja salvar o modelo. - + Titre Título - + Label Legenda - + Nom du nouveau dossier Nome da nova pasta - + Nom du nouveau template Nome do novo modelo - + Écraser le template ? message box title Sobrescrever o modelo? - + Le template existe déjà. Voulez-vous l'écraser ? message box content O modelo já existe. Deseja sobrescrevê-lo? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Você deve selecionar um elemento ou uma categoria com um nome para o elemento. - + Sélection inexistante message box title Seleção inexistente - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Nome do arquivo do elemento - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2727,32 +3240,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété O nome exibido do elemento é alterado separadamente nas propriedades do elemento. - + La sélection n'existe pas. message box content A seleção não existe. - - + + Sélection incorrecte message box title Seleção incorreta - + La sélection n'est pas un élément. message box content A seleção não é um elemento. - + Écraser l'élément ? message box title Sobrescrever o elemento? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Este elemento já existe. Tem certeza que deseja sobrescrevê-lo? @@ -2776,12 +3289,18 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Excluir este texto - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Escolher um item na lista de materiais + + + ex. 80.5 ex.: 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) Número decimal com ponto como separador (ex.: 80.5) @@ -2799,104 +3318,222 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Excluir da numeração automática - + Informations Informações - + Ajouter une propriété personnalisée Adicionar uma propriedade personalizada - + Séparation de potentiel Separação de potencial - + Exclure de la nomenclature Excluir da nomenclatura + + + Liste de matériaux absente + Lista de materiais ausente + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + Nenhum arquivo de lista de materiais existe neste local: +%1 + +Criá-lo? + + + + Création impossible + Não foi possível criar + + + + Impossible de créer le fichier : +%1 +%2 + Não foi possível criar o arquivo: +%1 +%2 + + + + Numérotation automatique + Numeração automática + + + + … + … + + + + Ouvrir les numérotations d'éléments du projet + Abrir as numerações de elementos do projeto + + + + Figer le nom + Congelar o nome + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + Um nome congelado não é alterado pela numeração automática, e seu número não é dado a outro elemento. + + + + Numéro + Número + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + Somente números livres são oferecidos: um elemento que deve manter seu número real pode recuperá-lo se ninguém o tiver. + + + + %1 (actuel) + %1 (atual) + + + + — (numéro inconnu) + — (número desconhecido) + + + + %1 → %2 + %1 → %2 + + + + Le nom est figé : dégelez-le pour changer son numéro. + O nome está congelado: descongele-o para alterar seu número. + + + + Le numéro se choisit quand l'élément garde sa numérotation. + O número pode ser escolhido quando o elemento mantém sua numeração. + + + + Aucune (nom saisi à la main) + Nenhuma (nome digitado manualmente) + + + + Formule propre : %1 + Fórmula própria: %1 + + + + Nom figé + Nome congelado + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + O nome deste elemento está congelado. +Alterar sua numeração o substituirá ou o apagará. + +Continuar? + ElementPickerPopup - - + + Personnaliser la barre… Personalizar a barra… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. Arraste os comandos e os elementos para dentro da barra, para fora dela ou de uma posição para outra. Um clique duplo move um comando ou elemento de uma lista para a outra. - - + + Rechercher un élément… Pesquisar um elemento… - + Éléments : Elementos: - + Valeurs par défaut Valores padrão - + Annuler Cancelar - + Terminé Concluído - + Dans la barre : Na barra: - + Autres commandes : Outros comandos: - - - + + + Entrée pour insérer · Échap pour fermer Enter para inserir · Esc para fechar - + Glisser pour changer la largeur de la barre Arraste para alterar a largura da barra - + Personnaliser la barre de raccourcis : %1 Personalizar a barra de atalhos: %1 - + Aucun résultat Nenhum resultado - + Tapez pour rechercher un élément · Échap pour fermer Digite para pesquisar um elemento · Esc para fechar - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher Paleta vazia — arraste elementos para a sua coleção pessoal ou digite para pesquisar @@ -2912,8 +3549,8 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element - - + + Type Tipo @@ -2932,7 +3569,7 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Exclure de la nomenclature - Excluir da nomenclatura + Excluir da nomenclatura @@ -2996,8 +3633,8 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element - - + + Fonction Função @@ -3009,7 +3646,7 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Séparation de potentiel - Separação de potencial + Separação de potencial @@ -3027,302 +3664,302 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Valores - - - + + + Simple Simples - + Maître Mestre - + Esclave Escravo - + Renvoi de folio suivant Próxima página de referência - + Renvoi de folio précédent Página de referência anterior - + Bornier Terminal - + Vignette Miniatura - + Définition de conducteur Definição de condutor - - + + Normalement ouvert Normalmente aberto - - + + Normalement fermé Normalmente fechado - - + + Inverseur Inversor - + Other Outro - + Esclave PLC Escravo CLP - - + + Puissance Contato de Potência - - + + Temporisé travail Temporizado ao trabalho - - + + Temporisé repos Temporizado ao repouso - - + + Temporisé travail & repos Temporizado ao trabalho e ao repouso - + Bobine Bobina - + Organe de protection Elemento de proteção - + Commutateur / bouton Comutador / botão - + Module PLC Módulo CLP - - + + Générique Genérico - + Fusible Fusível - + Séctionnable Selecionável - + Diode Diodo - + Phase Fase - + Neutre Neutro - - - - - + + + + + T%1 T%1 - + Autre Outro - + Configuration PLC Configuração do CLP - + + + - + - - - - + + Adresse Endereço - - + + Commentaire Comentário - + Réf. croisée Ref. cruzada - - + + Nb. Nº - + T1 T1 - + Police des en-têtes Fonte dos cabeçalhos - + Configurer la police des en-têtes de colonnes Configurar a fonte dos cabeçalhos de colunas - + Police du texte Fonte do texto - + Configurer la police du texte dans les cellules Configurar a fonte do texto nas células - + Afficher les en-têtes sur la feuille Exibir os cabeçalhos na folha - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Exibir ou ocultar os cabeçalhos de colunas da tabela CLP na folha - + Saut %1 après: Quebra %1 após: - + Aucun Nenhum - + H. ligne: Alt. linha: - - + + mm mm - + Réf. Ref. - + Nom personnalisé de la colonne (vide = par défaut) Nome personalizado da coluna (vazio = padrão) - + Visible Visível - + Coller depuis le presse-papiers Colar da área de transferência - - + + Police des en-têtes: %1 %2pt Fonte dos cabeçalhos: %1 %2pt - - + + Police du texte: %1 %2pt Fonte do texto: %1 %2pt - + Police des en-têtes de colonnes Fonte dos cabeçalhos de colunas - + Police du texte des cellules Fonte do texto das células - + Terre Terra @@ -3336,7 +3973,7 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element - Élement + Élément Elemento @@ -3442,7 +4079,7 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Verrouiller la position - Travar a posição + Travar a posição @@ -3478,249 +4115,249 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element Subir seleção - + Ajouter la sélection Adicionar seleção - + Supprimer la sélection Excluir seleção - + Descendre la sélection Descer a seleção - + Pas de filtre Sem arquivo - + N'est pas vide Não está vazio - + Est vide Vazia - + Contient Contém - + Ne contient pas Não contém - + Est égal à É igual a - + N'est pas égale à Não é igual a - + Filtre : Filtro: - + Type d'éléments Tipo de elementos - + Simples Simples - + Tous Todos - + Vignettes Miniaturas - + Contacteurs et relais Contatores e relés - + Boutons et commutateurs Botões e interruptores - + Borniers Bornes - + Organes de protection Elementos de proteção - + Automates (MAE/SPS) CLPs (MAE/SPS) - + Configuration Configuração - + Ouvrir la configuration sélectionné Abrir a configuração selecionada - + Sauvegarder la configuration actuelle Salve a configuração atual - + Importer des rapports depuis un fichier Importar relatórios de um arquivo - + Importer... Importar... - + Exporter tous les rapports enregistrés vers un fichier Exportar todos os relatórios salvos para um arquivo - + Exporter... Exportar... - + Requête SQL personnalisée Consulta SQL Customizada - + Requête SQL : Consulta SQL: - + Position Posição - + Titre du folio Título da página - + Position du folio Posição da página - + Numéro du folio Número da página - - + + Exporter - Exportar + Exportar - - + + Aucun rapport enregistré à exporter. Nenhum relatório salvo para exportar. - + Exporter les rapports Exportar os relatórios - - + + Fichiers JSON (*.json) Arquivos JSON (*.json) - - - - + + + + Erreur - Erro + Erro - + Impossible d'écrire dans %1. Não foi possível gravar em %1. - + Importer des rapports Importar relatórios - + Impossible de lire %1. Não foi possível ler %1. - + %1 ne contient pas des rapports QElectroTech valides. %1 não contém relatórios válidos do QElectroTech. - - + + Importer - Importar + Importar - + Ce fichier ne contient aucun rapport. Este arquivo não contém nenhum relatório. - + Rapport déjà existant Relatório já existente - + Un rapport nommé « %1 » existe déjà. Le remplacer ? Já existe um relatório chamado « %1 ». Substituí-lo? - + Impossible d'écrire la configuration locale. Não foi possível gravar a configuração local. - + %1 rapport(s) importé(s), %2 ignoré(s). %1 relatório(s) importado(s), %2 ignorado(s). @@ -3728,29 +4365,29 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element ElementScene - + Déplacer une primitive Move um primitivo - + Éditer les informations sur l'auteur window title Editar as informações sobre o autor - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Você pode utilizar este campo para indicar os autores do elemento, a licença do mesmo, ou qualquer outra informação que considere útil. - + Éditer les noms window title Editar nomes - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Você pode especificar o nome do elemento em diversos idiomas. @@ -3758,101 +4395,101 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element ElementsCategoryEditor - + L'item n'est pas une catégorie message box title O item não é uma categoria - + L'item demandé n'est pas une categrie. Abandon. message box content O item solicitado não é uma categoria. Abandonando. - + Catégorie inexistante message box title Categoria inexistente - + La catégorie demandée n'existe pas. Abandon. message box content A categoria solicitada não existe. Abandonando. - + Éditer une catégorie window title Editar uma categoria - + Créer une nouvelle catégorie window title Criar uma nova categoria - + Nom de la nouvelle catégorie default name when creating a new category Nome da nova categoria - + Édition en lecture seule message box title Edição em modo somente de leitura - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Você não tem permissões para editar esta categoria. Será aberta em modo somente de leitura. - + Nom interne : Nome interno: - + Vous pouvez spécifier un nom par langue pour la catégorie. Você pode especificar um nome por cada idioma para a categoria. - + Nom interne manquant message box title Nome interno em falta - + Vous devez spécifier un nom interne. message box content Você deve especificar um nome interno. - + Nom interne déjà utilisé message box title Nome interno já utilizado - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content O nome interno que você escolheu já existe em outra categoria. Por favor escolha outro nome. - + Erreur message box title Erro - + Impossible de créer la catégorie message box content Não é possível criar a categoria @@ -3861,73 +4498,73 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element ElementsCollectionWidget - + Ouvrir le dossier correspondant Abrir a pasta correspondente - + Éditer l'élément Editar o elemento - + Supprimer l'élément Excluir o elemento - + Supprimer le dossier Apagar a pasta - + Recharger les collections Recarregar as coleções - + Éditer le dossier Editar a pasta - + Nouveau dossier Nova pasta - + Nouvel élément Novo elemento - + Importer une pièce EPLAN (.edz)… Importar uma peça EPLAN (.edz)… - + Afficher uniquement ce dossier Mostrar apenas esta pasta - + Afficher tous les dossiers Ver todas as pastas - + Propriété du dossier Propriedade da pasta - + Supprimer l'élément ? message box title Apagar este elemento? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3935,25 +4572,25 @@ O nome exibido do elemento é alterado separadamente nas propriedades do element - + Suppression de l'élément message box title Apagando o elemento - + La suppression de l'élément a échoué. message box content Falha ao excluir o elemento. - + Supprimer le dossier? message box title Apagar a pasta? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3961,24 +4598,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Excluir a pasta - + La suppression du dossier a échoué. message box content Falha ao apagar a pasta. - + Avertissement — Importation d'un fichier EPLAN (.edz) Aviso — Importação de um arquivo EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4005,44 +4642,44 @@ Ao importar este arquivo, você confirma que: • nem o QElectroTech, nem seus mantenedores, nem seus colaboradores podem ser responsabilizados por um uso indevido destes dados. - + J'ai lu et j'accepte ces conditions. Li e aceito estas condições. - + Importer Importar - + Importer une pièce EPLAN Importar uma peça EPLAN - + Pièces EPLAN (*.edz) Peças EPLAN (*.edz) - + Import EPLAN Importação EPLAN - + Impossible d'importer cette pièce : %1 Não foi possível importar esta peça: %1 - + Le dossier %1 contient Pasta %1 contém - + %n élément(s), répartie(s) %n elemento, distribuído @@ -4050,7 +4687,7 @@ Ao importar este arquivo, você confirma que: - + dans %n dossier(s). em %n pasta. @@ -4058,32 +4695,32 @@ Ao importar este arquivo, você confirma que: - + Chemin de la collection : %1 Caminho da coleção: %1 - + Chemin dans le système de fichiers : %1 Caminho no sistema de arquivos: %1 - + Rechercher... Pesquisar... - + Collections Coleções - + Modèles Modelos - + Propriété du dossier %1 Propriedade da pasta %1 @@ -4153,124 +4790,124 @@ Ao importar este arquivo, você confirma que: ElementsPanelWidget - + Ouvrir le dossier correspondant Abrir a pasta correspondente - + Copier le chemin Copiar o caminho - + Basculer vers ce projet Alternar para este projeto - + Fermer ce projet Fechar este projeto - + Propriétés du projet Propriedades do projeto - + Propriétés du folio Propriedades da página - + Ajouter un folio Acrescentar uma página - + Insérer un folio au-dessus Inserir uma página acima - + Insérer un folio en dessous Inserir uma página abaixo - + Copier et coller Copiar e colar - + Supprimer ce folio Excluir esta página - + Remonter ce folio Mover esta página acima - + Abaisser ce folio Mover esta página abaixo - + Remonter ce folio x10 Mover esta página acima x10 - + Remonter ce folio x100 Mover esta página acima x100 - + Remonter ce folio au debut Mover esta página ao início - + Abaisser ce folio x10 Mover esta página abaixo x10 - + Abaisser ce folio x100 Mover esta página abaixo x100 - + Nouveau modèle Novo modelo - + Éditer ce modèle Editar o modelo - + Supprimer ce modèle Excluir o modelo - - + + Panneau des éléments Painel de elementos - + Filtrer Filtro @@ -4316,7 +4953,7 @@ Ao importar este arquivo, você confirma que: ExportConfigPage - + Export configuration page title Exportar @@ -4325,102 +4962,102 @@ Ao importar este arquivo, você confirma que: ExportDialog - + Exporter les folios du projet window title Exportar as páginas do projeto - + Exporter Exportar - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Escolha as páginas que você deseja exportar e especifique suas dimensões: - + Tout cocher Selecionar todos - + Tout décocher Desmarcar todos - + Titre du folio Título da página - + Nom de fichier Nome do arquivo - + Dimensions Dimensões - + Noms des fichiers cibles message box title Nomes dos arquivos de destino - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Você deve digitar um nome de arquivo não nulo e único para cada página a ser exportada. - + Dossier non spécifié message box title Pasta não especificada - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Você deve especificar o caminho da pasta onde os arquivos de imagem serão salvos. - + Images non incluses dans l'export DXF message box title Imagens não incluídas na exportação DXF - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content O formato DXF usado aqui (AC1006) não permite incluir imagens. As imagens serão representadas apenas por um retângulo de contorno (posição, tamanho, rotação e inclinação preservadas), sem o conteúdo da imagem. - + Impossible d'écrire dans ce fichier message box title Não é possível escrever neste arquivo - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Aparentemente você não tem as permissões necessárias para gravar o arquivo %1. - + Aperçu Visualização - - + + px px @@ -4704,63 +5341,73 @@ que você cria. Entradas de texto e números Aplicar deslocamento - - + + Générique Genérico - + Fusible Fusível - + Sectionnable Secionável - + Diode Diodo - + Terre Terra - + Phase Fase - + Neutre Neutro - + Sans Sem - + Avec Com - + Modifier des propriétés de borniers Editar propriedades da régua de terminais - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + O projeto não tem nenhum bloco de terminais: crie um com o botão + + + + Appliquez ou annulez les modifications en cours avant de déplacer Aplique ou cancele as alterações em andamento antes de mover - + + Sélectionnez dans le tableau les bornes à déplacer + Selecione na tabela os terminais a mover + + + Déplacer les bornes sélectionnées vers le bornier choisi Mover os terminais selecionados para a régua de terminais escolhida @@ -4768,27 +5415,27 @@ que você cria. Entradas de texto e números FreeTerminalModel - + Label Legenda - + Référence croisé Referência cruzada - + Type Tipo - + Fonction Função - + led led @@ -4806,23 +5453,23 @@ que você cria. Entradas de texto e números Utilizar as cores do sistema - + Projets Projetos - + Utiliser les numéros de folio à la place de leur position dans le projet Use números de página em vez de sua posição no projeto - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Numere as colunas na malha começando por 0 (1 caso contrário) - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Backup automático de projetos (aplicado no próximo lançamento do QElectroTech) @@ -4832,7 +5479,7 @@ que você cria. Entradas de texto e números Utilizar gestos do touch pad - + Ne pas conserver les labels des éléments lors des copier coller Não manter rótulos de elementos ao copiar e colar @@ -4847,120 +5494,121 @@ que você cria. Entradas de texto e números Formulário - + Chemin de la collection utilisateur Endereço de usuário coletados - + Chemin de la collection commune Endereço de coletados comuns - - - - - - + + + + + + Par defaut Por padrão - - - - - - + + + + + + + Parcourir... Navegar... - + (Recharger les collections d'éléments pour appliquer les changements) (Recarregue as coleções dos elementos para aplicar as mudanças) - + Désactivé Desativado - + min minute min - + Collections Coleções - + Accès aux collections Acesso a coleções - + Répertoire de la collection commune Local da coleção padrão - + Répertoire de la collection utilisateur Local da coleção do usuário - + Répertoire des cartouches utilisateur Local do armazenamento do usuário - + Gestion des éléments Gestão de elementos - + Mettre en valeur dans le panel les éléments fraîchement intégrés Destacar no painel os elementos recém integrados - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Cada elemento inclui informações sobre seus autores, licença ou qualquer outra informação que você considera útil em um campo livre. Aqui você pode especificar o valor padrão deste campo para os elementos que você irá criar: - + Appliqué au prochain lancement de QElectroTech Aplicado ao próximo lançamento do QElectroTech - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Aqui você pode definir a aparência padrão de diferentes textos QElectroTech - + Grille + Clavier Grade + Teclado - + Grille : 1 - 30 Grade: 1 - 30 - + DiagramEditor xGrid Editor de diagrama: grade X - + DiagramEditor yGrid Editor de diagrama: grade Y @@ -4975,434 +5623,658 @@ Aqui você pode especificar o valor padrão deste campo para os elementos que vo Exibir as propriedades de um condutor selecionado no painel Propriedades da seleção - + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + Desmarcada, nenhuma regra de condutores por terminal é aplicada, quaisquer que sejam as configurações dos projetos. + + + + Appliquer les règles de conducteurs par borne des projets + Aplicar as regras de condutores por terminal dos projetos + + + + Nombre maximal de conducteurs par borne : + Número máximo de condutores por terminal: + + + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Para todos os projetos, exceto aqueles que têm suas próprias configurações. Um novo condutor que ultrapassasse esse número em um terminal é recusado; os condutores já desenhados não são modificados. 4 corresponde a duas ponteiras duplas, uma de cada lado do parafuso. + + + + Sans limite + Sem limite + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + Uma referência de página é um ponto virtual: ela recebe apenas um condutor, o que continua na outra página. + + + + Un seul conducteur par renvoi de folio + Um único condutor por referência de página + + + Afficher la grille par défaut (appliqué au prochain lancement) Exibir a grade por padrão (aplicado na próxima inicialização) - + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. Por padrão, um clique duplo insere o elemento na página; a edição continua acessível pelo menu de contexto. - + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer Clique duplo na coleção abre o editor de elementos em vez de inserir o elemento - + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Marcada: uma única lista, com a melhor correspondência primeiro. Desmarcada: a árvore da coleção, filtrada pela pesquisa. + + + + Afficher les résultats de recherche sous forme de liste triée + Exibir os resultados da pesquisa como uma lista ordenada + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. Após um clique que seleciona um elemento ou um condutor, os comandos da barra de atalhos aparecem perto do cursor e somem quando o mouse se afasta. - + Afficher les commandes près de la sélection Exibir os comandos perto da seleção - + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. Manter o botão direito pressionado e arrastar em uma direção executa um comando da barra de atalhos. Um clique direito simples continua abrindo o menu de contexto, ao soltar o botão. - + Gestes de la souris avec le bouton droit Gestos do mouse com o botão direito - + Afficher les guides par défaut (appliqué au prochain lancement) Exibir as guias por padrão (aplicado na próxima inicialização) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Usar as ja&nelas (aplicado ao próximo lançamento do QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Usar as guias (aplicadas ao próximo lança&mento da QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Método de dimensionamento para exibições de alta densidade de pixels (hdpi) (aplicado ao próximo lançamento do QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + Numerar automaticamente os elementos colados ou duplicados que seguem uma numeração + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + Um elemento colado recebe o próximo número da sua numeração em vez do nome do elemento copiado, e a numeração avança. + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) Permitir a execução de scripts JavaScript (Projeto > Executar um script, e --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. Um script é executado com as suas permissões: ele pode ler e modificar o projeto aberto e gravar arquivos. Desativado por padrão; execute apenas scripts de origem conhecida. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Permitir que um assistente de IA atue no projeto aberto (modo direto) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + Um assistente conectado pelo servidor MCP pode então executar scripts no projeto aberto, diante dos seus olhos. Um aviso é exibido a cada inicialização enquanto esta configuração estiver ativada. Entra em vigor na próxima inicialização; desmarcá-la corta a conexão imediatamente. + + + Répertoire de la collection company Local da coleção da empresa - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Criar ou modificar o prefixo das pastas da coleção do usuário (arquivo qet_labels.xml) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Configurar os prefixos… + + + Répertoire des cartouches company Local dos blocos da empresa - + Répertoire des Macros utilisateur Diretório de macros do usuário - + + Fichier de la liste de matériaux + Arquivo da lista de materiais + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Diretório de materiais usado para preencher os itens de um elemento + + + + Non configuré + hint shown when no material file is configured yet + Não configurado + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + Criar o arquivo da lista com seus cabeçalhos + + + + Créer... + Criar... + + + Langues Idioma - + Textes Textos - + Textes d'éléments Textos dos elementos - - - + + + Police : Fonte: - - + + ° ° - + Longueur : Comprimento: - - + + Rotation : Rotação: - + Textes indépendants Textos independentes - + Autres textes Outros textos - + La Grille doite etre active pour pouvoir voir les modifications. A Grade deve estar ativa para poder ver as modificações. - + Grille des textes déplacés à la souris Grade dos textos movidos com o mouse - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. Fração da grade das páginas. Mantenha Ctrl pressionado durante o movimento para posicionar livremente. - + Déplacement au clavier : 1 - 30 Movimento do teclado: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Editor de diagrama (tecla: esquerda / direita) XGrade - + DiagramEditor (touche : haut / bas) yGrid Editor de diagrama (tecla: cima / baixo) YGrade - + Déplacement au clavier avec la touche ALT : 1 - 9 Movimento do teclado com a tecla ALT: 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Editor de diagrama (tecla: esquerda / direita) XGrade - + DiagramEditor (touche : haut / bas) yGrid Editor de diagrama (tecla: cima / baixo) YGrade - + Affichage Grille Exibição da grade - - + + max: máx: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + Ao salvar um elemento: recusar dois terminais com o mesmo nome e sinalizar os terminais sem nome (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Verificar os nomes dos terminais ao salvar + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Tamanho dos pontos da grade do editor de diagrama: 1 - 5 - - + + min: mín: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Tamanho dos pontos da grade do editor de elementos: 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Máx. de peças na lista do editor de elementos - + Arrondi supérieur pour 0.5 et plus Arredondar para 0,5 e mais - + Toujours arrondi supérieur Sempre arredondar para cima - + Toujours arrondi inférieur Sempre arredondar para baixo - + Arrondi supérieur pour 0.75 et plus Arredondar para 0,75 e mais - + Pas d'arrondi Sem arredondamento - + Désactivée Desativada - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. Ativado pela variável de ambiente QET_ENABLE_SCRIPTING; esta configuração não tem efeito enquanto ela estiver definida. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + Não configurado (padrão: %1) + + + Général configuration page title Geral - + Système Sistema - + Arabe Árabe - + Brézilien Português BR - + Catalan Catalão - + Tchèque Checo - + Allemand Alemão - + Danois Dinamarquês - + Grec Grego - + Anglais Inglês - + Espagnol Espanhol - + Français Francês - + Croate Croata - + Italien Italiano - + Japonais Japonês - + Coréen Coreano - + Polonais Polonês - + Portugais Português - + Roumains Romeno - + Russe Russo - + Slovène Esloveno - + Pays-Bas Holandês - + Norvege Noruega - + Belgique-Flemish Belgo-Flamengo - + Turc Turco - + Hongrois Húngaro - + Mongol Mongol - + Ukrainien Ucraniano - + Chinois Chinês - + Suédois Sueco - + Chemin de la collection company Caminho da coleção da empresa - + Chemin des cartouches company Caminho dos blocos da empresa - + Chemin des cartouches utilisateur Caminho do armazenamento do usuário - + Chemin des macros utilisateur Caminho das macros do usuário - + + Répertoire introuvable + Diretório não encontrado + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + O diretório da coleção do usuário: +%1 +não existe e não pôde ser criado. + + + + Aucun sous-dossier + Nenhuma subpasta + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + A coleção do usuário: +%1 +não contém nenhuma subpasta: portanto não há nenhum prefixo a configurar. + + + + Fichier de préfixes illisible + Arquivo de prefixos ilegível + + + + Fichier de préfixes endommagé + Arquivo de prefixos danificado + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + O arquivo %1 não é um arquivo XML válido: +%2 + + + + Corriger le fichier + Corrigir o arquivo + + + + Reconstruire + Reconstruir + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Nada foi modificado ainda. + +“Corrigir o arquivo”: esta janela se fecha sem alterar nada. Abra o arquivo em um editor de texto no local indicado, corrija-o e execute este comando novamente. + +“Reconstruir”: a árvore de pastas é recriada, mas todos os prefixos atuais são perdidos. O arquivo atual é mantido com o nome qet_labels.xml.bak antes de ser substituído. + + + + Fichier : %1 + Arquivo: %1 + + + + Sélectionner le fichier de la liste de matériaux + Selecionar o arquivo da lista de materiais + + + + + Fichiers csv (*.csv) + Arquivos csv (*.csv) + + + + Créer le fichier de la liste de matériaux + Criar o arquivo da lista de materiais + + + + Création impossible + Não foi possível criar + + + + Impossible de créer le fichier : +%1 +%2 + Não foi possível criar o arquivo: +%1 +%2 + + + To high values might lead to crashes of the application. Valores altos podem causar travamentos do aplicativo. - + Fonctionnalité expérimental Funcionalidade experimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5462,7 +6334,7 @@ Qualquer valor diferente de ‘Sem arredondamento’ pode causar erros na render Este é um modelo de bloco de legenda, que pode ser aplicada a uma página. - + %1 [non utilisé dans le projet] %1 [não utilizado neste projeto] @@ -5678,7 +6550,7 @@ Qualquer valor diferente de ‘Sem arredondamento’ pode causar erros na render Réinitialiser - Redefinir + Redefinir @@ -5696,7 +6568,7 @@ Qualquer valor diferente de ‘Sem arredondamento’ pode causar erros na render Largeur - Largura + Largura @@ -5713,7 +6585,7 @@ Qualquer valor diferente de ‘Sem arredondamento’ pode causar erros na render Hauteur - Altura + Altura @@ -5792,42 +6664,42 @@ Qualquer valor diferente de ‘Sem arredondamento’ pode causar erros na render ImageTransparentColorDialog - + Couleur transparente Cor transparente - + Image source Imagem de origem - + Aperçu - Visualização + Visualização - + rgb(%1, %2, %3) rgb(%1, %2, %3) - + Tolérance pour cette couleur Tolerância para esta cor - + Retirer cette couleur Remover esta cor - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. Clique na imagem para adicionar uma cor. Ajuste a tolerância de cada cor com seu controle deslizante, ou clique em × para removê-la. - + Cliquez sur l'image pour choisir une couleur Clique na imagem para escolher uma cor @@ -6044,28 +6916,28 @@ Por favor, use o editor avançado para isso. JumpToElementDialog - + Atteindre un élément window title Ir para um elemento - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… Nome, rótulo ou informação do elemento, ou zona (ex.: B13 ou 3-B13)… - + Case %1 Zona %1 - + Folio %1, case %2 Página %1, zona %2 - + Folio %1 (%2), case %3 Página %1 (%2), zona %3 @@ -6316,6 +7188,102 @@ Por favor, use o editor avançado para isso. E/S disponível: + + LiveServer + + + Mode direct + Modo direto + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + O modo direto está ativado: um assistente de IA conectado poderá executar scripts no projeto aberto. + +Cada ação é desfeita com um Ctrl+Z, e o botão “Parar” da barra de status corta a conexão. + +Esta configuração fica em Configurar QElectroTech > Geral > Projetos. + + + + &Continuer + &Continuar + + + + &Pas pour cette session + &Não nesta sessão + + + + &Désactiver + &Desativar + + + + + script + script + + + + Assistant : %1 + Assistente: %1 + + + + L'assistant veut exécuter un script + O assistente quer executar um script + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + “%1” no projeto aberto. Depois de executado, Ctrl+Z o desfaz. + + + + &Exécuter + &Executar + + + + &Refuser + &Recusar + + + + &Toujours pour cette session + &Sempre nesta sessão + + + + MacroRecorder + + + Macro du %1 + Macro de %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + projeto fechado durante a gravação: sem after.qet + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + Gravei uma macro no QElectroTech: “%1”, %n etapa (identificador %2, pasta %3). +Com o servidor MCP qet: leia-a com qet_recording_read, escreva um script que faça a mesma coisa de forma geral (por exemplo, nos elementos selecionados em vez de precisamente nestes), verifique-o com qet_recording_check até que corresponda, e então proponha-o como um botão com qet_script_install. + Gravei uma macro no QElectroTech: “%1”, %n etapas (identificador %2, pasta %3). +Com o servidor MCP qet: leia-a com qet_recording_read, escreva um script que faça a mesma coisa de forma geral (por exemplo, nos elementos selecionados em vez de precisamente nestes), verifique-o com qet_recording_check até que corresponda, e então proponha-o como um botão com qet_script_install. + + + MarginsEditDialog @@ -6357,7 +7325,7 @@ Por favor, use o editor avançado para isso. <html><head/><body><p>Desvincule o elemento selecionado</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Vincule o elemento selecionado</p></body></html> @@ -6469,7 +7437,7 @@ Deseja vincular este contato escravo mesmo assim? Terminais - + Coller depuis le presse-papiers Colar da área de transferência @@ -6479,6 +7447,162 @@ Deseja vincular este contato escravo mesmo assim? Referência cruzada (mestre) + + MaterialEntryDialog + + + Nouvelle entrée + Nova entrada + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Preencha o item a adicionar. Os campos deixados em branco permanecem em branco no arquivo. + + + + Enregistrer + Salvar + + + + Annuler + Cancelar + + + + Aucun renseignement + Nenhuma informação + + + + Saisissez au moins un renseignement pour créer une entrée. + Digite pelo menos uma informação para criar uma entrada. + + + + MaterialList + + + + Bloc auxiliaire + Bloco auxiliar + + + + Aucun récepteur pour le répertoire de matériaux. + Nenhum receptor para o diretório de materiais. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + O arquivo não contém cabeçalho: colunas ausentes. + + + + Le fichier existe déjà et n'est pas vide. + O arquivo já existe e não está vazio. + + + + MaterialSelectionDialog + + + Liste de matériaux + Lista de materiais + + + + Rechercher : + Pesquisar: + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + Todas as palavras digitadas devem aparecer em algum lugar da linha + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + Pesquisar em todas as colunas + + + + Entrées : 0 + Entradas: 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + Adicionar um novo item à lista + + + + Nouvelle entrée + Nova entrada + + + + Appliquer + Aplicar + + + + Annuler + Cancelar + + + + Lecture impossible + Não foi possível ler + + + + Impossible de lire le fichier : +%1 +%2 + Não foi possível ler o arquivo: +%1 +%2 + + + + Entrées : %1 + Entradas: %1 + + + + Entrées : %1 sur %2 + Entradas: %1 de %2 + + + + Aucune sélection + Nenhuma seleção + + + + Sélectionnez d'abord un article dans la liste. + Selecione primeiro um item na lista. + + + + Écriture impossible + Não foi possível gravar + + + + Impossible d'écrire dans le fichier : +%1 +%2 + Não foi possível gravar no arquivo: +%1 +%2 + + MultiPasteDialog @@ -6528,10 +7652,15 @@ Deseja vincular este contato escravo mesmo assim? Autonumeração dos condutores - + Multi-collage Colagem múltipla + + + Numéroter les éléments collés + Numerar os elementos colados + NameListDialog @@ -6541,7 +7670,7 @@ Deseja vincular este contato escravo mesmo assim? Diálogo - + Variables de cartouche Variáveis do carimbo @@ -6569,7 +7698,7 @@ Deseja vincular este contato escravo mesmo assim? Adicionar uma linha - + Copier dans le presse papier Copiar para a área de transferência @@ -6609,31 +7738,31 @@ Deseja vincular este contato escravo mesmo assim? Conducteurs - Condutores + Condutores Eléments - Elementos + Elementos Folios - Páginas + Páginas Numérotation auto - Autonumeração + Autonumeração - + Nouveau folio configuration page title Nova página - + Nouveau projet configuration page title Novo projeto @@ -6908,13 +8037,13 @@ Deseja vincular este contato escravo mesmo assim? PartDynamicTextField - + Champ de texte dynamique element part name Campo de texto dinâmico - + Déplacer un champ texte Mover um campo de texto @@ -6974,25 +8103,47 @@ Deseja vincular este contato escravo mesmo assim? PartText - + Déplacer un texte Mover um texto - + Modifier un champ texte Editar um campo de texto + + PasteNumberingImport + + + Numérotation absente de ce projet + Numeração ausente neste projeto + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + Os elementos colados seguem %n numeração que não existe neste projeto: %1. + +Importá-la? Os elementos receberão então os próximos números, a partir de 1. Caso contrário, serão colados sem numeração. + Os elementos colados seguem %n numerações que não existem neste projeto: %1. + +Importá-las? Os elementos receberão então os próximos números, a partir de 1. Caso contrário, serão colados sem numeração. + + + PdfPagesDialog - + Sélectionner une page Selecionar uma página - + Ce document PDF contient %n page(s) Este documento PDF contém %n página @@ -7000,32 +8151,32 @@ Deseja vincular este contato escravo mesmo assim? - + Page à importer : Página a importar: - + Résolution : Resolução: - + 150 DPI (écran) 150 DPI (tela) - + 300 DPI (impression) 300 DPI (impressão) - + 600 DPI (haute qualité) 600 DPI (alta qualidade) - + Aperçu : Visualização: @@ -7131,12 +8282,12 @@ Deseja vincular este contato escravo mesmo assim? Polígono fechado - + Ajouter un point Adicionar um ponto - + Supprimer ce point Excluir este ponto @@ -7189,8 +8340,8 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Por favor, selecione as propriedades a serem aplicadas ao novo potencial. - - + + %n conducteurs composent le potentiel suivant : %n condutor compõe o seguinte potencial: @@ -7198,75 +8349,75 @@ Por favor, selecione as propriedades a serem aplicadas ao novo potencial. - - - + + + Numéro : %1 Número: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Por favor, escolha um potencial elétrico da lista usar para um novo potencial - - - + + + Fonction : %1 Função: %1 - - - + + + Tension/protocole : %1 Tensão/Protocolo: %1 - - - + + + Couleur du conducteur : %1 Cor do condutor: %1 - - - + + + Section du conducteur : %1 Seção do condutor: %1 - + Ajouter au câble: %1 Adicionar ao cabo: %1 - + Ajouter au bus: %1 Adicionar ao barramento: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Editar as propriedades de vários condutores - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7277,10 +8428,113 @@ As seguintes variáveis são incompatíveis: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + Prefixos da coleção do usuário + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Cada pasta da coleção possui um prefixo: ele é adicionado antes da etiqueta dos elementos da pasta. +Um campo vazio significa que a pasta herda o prefixo da sua pasta pai. + + + + Dossier + column header of the folder tree + Pasta + + + + Préfixe + column header of the prefix column + Prefixo + + + + Tout déplier + Expandir tudo + + + + Tout replier + Recolher tudo + + + + Entrées sans dossier + Entradas sem pasta + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n entrada de qet_labels.xml não corresponde a nenhuma pasta da coleção: +mantê-la ou excluí-la? + %n entradas de qet_labels.xml não correspondem a nenhuma pasta da coleção: +mantê-las ou excluí-las? + + + + + Conserver + Manter + + + + Supprimer + Excluir + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + nenhum prefixo: não herda do pai + + + + + hériter du dossier parent + placeholder of an empty prefix field + herdar da pasta pai + + + + Enregistrement impossible + Não foi possível salvar + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + O arquivo %1 não pôde ser salvo: +%2 + + + + Fichier endommagé remplacé + Arquivo danificado substituído + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + O arquivo %1 estava ilegível: foi substituído. +Sua cópia foi mantida em: +%2 + + PrintConfigPage - + Impression configuration page title Imprimindo @@ -7289,155 +8543,361 @@ As seguintes variáveis são incompatíveis: ProjectAutoNumConfigPage - + Numérotation auto Autonumeração - - + + Conducteurs Condutores - - + + N° + N.º + + + + Nom + Nome + + + + Folio + Página + + + + Élément + Elemento + + + + Figé + Congelado + + + + Attribuer un numéro libre… + Atribuir um número livre… + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + Dar ao elemento selecionado um número que ninguém tem: ele mantém sua numeração, só o número muda. + + + + Eléments Elementos - - + + Folios Páginas - + Numérotation auto des folios Autonumeração da página - + Importer depuis un autre projet... Importar de outro projeto... - + Reprendre les numérotations automatiques enregistrées dans un autre projet Reutilizar as numerações automáticas salvas em outro projeto - - - - - - - - - - Nom de la nouvelle numérotation - Nome da nova numeração + + figé + congelado - + + — libre — + — livre — + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + nenhum elemento tem este número (excluído ou renumerado) + + + + Aucun élément ne suit cette numérotation + Nenhum elemento segue esta numeração + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + %n elemento segue esta numeração, %1 com nome congelado + %n elementos seguem esta numeração, %1 com nome congelado + + + + + ; %n numéro(s) sans élément + + ; %n número sem elemento + ; %n números sem elemento + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + Esta numeração tem vários números (ou um número por página): não é possível escolher um manualmente. + + + + Attribuer un numéro libre + Atribuir um número livre + + + + Le nom de cet élément est figé : dégelez-le d'abord. + O nome deste elemento está congelado: descongele-o primeiro. + + + + Aucun numéro n'est libre. + Nenhum número está livre. + + + + %1 → %2 + %1 → %2 + + + + Numéro libre pour l'élément « %1 » (%2) : + Número livre para o elemento “%1” (%2): + + + + + Nom de la numérotation : + Nome da numeração: + + + + + Modifier la numérotation + Modificar a numeração + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + %n elemento segue esta numeração e vai mudar de fórmula e de nome. + %n elementos seguem esta numeração e vão mudar de fórmula e de nome. + + + + + + + + Nouvelle numérotation + Nova numeração + + + + + Renommer la numérotation + Renomear a numeração + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + A numeração “%1” não pode ser modificada: %n elemento com nome congelado a segue. +Descongele-o primeiro (veja a lista), ou apenas renomeie a numeração. + A numeração “%1” não pode ser modificada: %n elementos com nome congelado a seguem. +Descongele-os primeiro (veja a lista), ou apenas renomeie a numeração. + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + %n numeração seguida por elementos com nome congelado não foi substituída. + %n numerações seguidas por elementos com nome congelado não foram substituídas. + + + + + %n élément(s) ont changé de formule. + + %n elemento mudou de fórmula. + %n elementos mudaram de fórmula. + + + + + + Supprimer la numérotation + Excluir a numeração + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + %n elemento segue a numeração “%1”, ela não pode ser excluída. +Dê a ele outra numeração ou um nome fixo primeiro. + %n elementos seguem a numeração “%1”, ela não pode ser excluída. +Dê a eles outra numeração ou um nome fixo primeiro. + + + + + Aucun folio ne nomme cette numérotation + Nenhuma página nomeia esta numeração + + + + %n folio(s) nomment cette numérotation + + %n página nomeia esta numeração + %n páginas nomeiam esta numeração + + + + + Aucun folio ne suit cette numérotation + Nenhuma página segue esta numeração + + + + %n folio(s) suivent cette numérotation + + %n página segue esta numeração + %n páginas seguem esta numeração + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + %n página segue a numeração “%1”, ela não pode ser excluída. +Dê a ela outra numeração primeiro. + %n páginas seguem a numeração “%1”, ela não pode ser excluída. +Dê a elas outra numeração primeiro. + + + + Nom de la nouvelle numérotation + Nome da nova numeração + + + Importer les numérotations d'un projet Importar as numerações de um projeto - + Projet QElectroTech (*.qet) - Projeto QElectroTech (*.qet) + Projeto QElectroTech (*.qet) - - + + Import impossible Não foi possível importar - + Impossible d'ouvrir %1 Não foi possível abrir %1 - + %1 n'est pas un projet QElectroTech valide. %1 não é um projeto válido do QElectroTech. - - + + Aucune numérotation Nenhuma numeração - - + + Ce projet ne contient aucune numérotation automatique. Este projeto não contém nenhuma numeração automática. - + Numérotations à importer Numerações a importar - + Numérotations trouvées dans %1 : Numerações encontradas em %1: - + %1 : %2 (existe déjà) %1: %2 (já existe) - + Remplacer les numérotations de même nom Substituir as numerações com o mesmo nome - + + Importer des numérotations + Importar numerações + + + Import terminé Importação concluída - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. %1 numeração(ões) importada(s), %2 mantida(s) como estava(m). - + %1 numérotation(s) importée(s). %1 numeração(ões) importada(s). - + Management Gestão - - - - - - - Sans nom - Sem Nome + Sem Nome ProjectDBModel - + Position Posição - + Position du folio Posição da página @@ -7460,50 +8920,134 @@ As seguintes variáveis são incompatíveis: ProjectMainConfigPage - + Général configuration page title Geral - + Titre du projet : label when configuring Título do projeto: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Este título é disponibilizado para todas as páginas do projeto como %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Você pode definir propriedades personalizadas que estarão disponíveis para todos as páginas deste projeto (normalmente para os blocos de legenda). - + Temps passé sur ce projet : label when configuring Tempo gasto neste projeto: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label Registrar o tempo gasto neste projeto (salvo apenas localmente neste arquivo) - + Réinitialiser button label Redefinir - - + + Croisements de conducteurs : + label when configuring + Cruzamentos de condutores: + + + + Sans saut + wire crossings + Sem salto + + + + Saut sur les conducteurs horizontaux + wire crossings + Salto nos condutores horizontais + + + + Saut sur les conducteurs verticaux + wire crossings + Salto nos condutores verticais + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Desenha um pequeno arco onde dois condutores se cruzam sem estar ligados. Só o desenho muda: nenhum elemento é adicionado e nenhum condutor é cortado. + + + + Conducteurs par borne + group box title + Condutores por terminal + + + + Utiliser les réglages de l'application + checkbox label + Usar as configurações do aplicativo + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + As configurações de Configurar QElectroTech > Geral se aplicam. Desmarque para dar a este projeto suas próprias configurações, salvas no projeto. + + + + Nombre maximal de conducteurs par borne : + label when configuring + Número máximo de condutores por terminal: + + + + Sans limite + wires per terminal + Sem limite + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + Um novo condutor que ultrapassasse esse número em um terminal é recusado. Os condutores já desenhados não são modificados. 4 corresponde a duas ponteiras duplas, uma de cada lado do parafuso. + + + + Un seul conducteur par renvoi de folio + checkbox label + Um único condutor por referência de página + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + Uma referência de página é um ponto virtual: ela recebe apenas um condutor, o que continua na outra página. + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + Estas regras estão desativadas para todos os projetos (Configurar QElectroTech > Geral). + + + + %1 h %2 min hours and minutes of time spent on a project %1 h %2 min @@ -7547,137 +9091,137 @@ As seguintes variáveis são incompatíveis: Na data de: - + Option de rendu Opções de renderização - + Dessiner le cadre Desenhar a borda - + Dessiner le cartouche Desenhar a legenda - + Conserver les couleurs des conducteurs Manter as cores dos condutores - + Dessiner les bornes Desenhar os terminais - + Dessiner les noms des bornes Desenhar os nomes dos terminais - + Inscrire les informations des composants Incluir as informações dos componentes - + Option d'impression Opções de impressão - + Adapter le folio à la page Ajustar ao tamanho da folha - + Utiliser toute la feuille Utilizar página inteira - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Se esta opção estiver marcada, a página será ampliada ou reduzida para preencher toda a superfície de impressão em apenas uma página. " - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Se esta opção estiver marcada, as margens da folha serão ignoradas e toda a sua superfície será usada para impressão. Isso pode não ser compatível com a sua impressora. - + toolBar Barra de ferramenta - + Ajuster la largeur Ajustar à largura - + Ajuster la page Ajustar à página - + Zoom arrière Diminuir Zoom - + Zoom avant Aumentar Zoom - + Paysage Paisagem - + Portrait Retrato - + Première page Primeira página - + Page précédente Página anterior - + Page suivante Página seguinte - + Dernière page Última página - + Afficher une seule page Mostrar página única - + Afficher deux pages Exibir duas páginas - + Afficher un aperçu de toutes les pages Exibir uma visualização geral de todas as páginas - + mise en page layout @@ -7856,239 +9400,291 @@ Você deseja salvar as alterações? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Carregando... Inicialização do cache das coleções de elementos - + Chargement... Éditeur de schéma splash screen caption Carregando... Editor de esquema - + Chargement... Ouverture des fichiers splash screen caption Carregando... Abertura de arquivos - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Blocos de legenda do QET - + Cartouches company title of the company's title block templates collection Blocos de elementos da empresa - + Cartouches utilisateur title of the user's title block templates collection Blocos de elementos do usuário - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Esquema - + Electrique Normal example text - translate length, not meaning Elétrico - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configurar o QElectroTech - + + Enregistrer la configuration sous... + dialog title + Salvar a configuração como... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + Configurações do QElectroTech (*.conf) + + + + + Erreur + message box title + Erro + + + + Impossible d'enregistrer la configuration dans « %1 ». + Não foi possível salvar a configuração em “%1”. + + + + Charger une configuration... + dialog title + Carregar uma configuração... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + “%1” não é uma configuração salva pelo QElectroTech. + + + + Charger une configuration + message box title + Carregar uma configuração + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + Esta configuração vai substituir suas configurações atuais, exceto a disposição das janelas e a lista de arquivos recentes. + +Em seguida, o QElectroTech será fechado. Reinicie-o para usar a nova configuração. + +Deseja continuar? + + + Chargement... splash screen caption Carregando... - + Chargement... icône du systray splash screen caption Carregando... Ícone da bandeja do sistema - + QElectroTech systray menu title QElectroTech - + &Quitter Sai&r - + &Masquer &Esconder - + &Restaurer &Mostrar - + &Masquer tous les éditeurs de schéma &Esconder todos os editores de esquema - + &Restaurer tous les éditeurs de schéma &Mostrar todos os editores de esquemas - + &Masquer tous les éditeurs d'élément &Esconder os editores de elementos - + &Restaurer tous les éditeurs d'élément &Mostrar todos os editores de elementos - + &Masquer tous les éditeurs de cartouche systray submenu entry &Esconder todos os editores de blocos de legenda - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Mostrar todos os editores de blocos de legenda - + &Nouvel éditeur de schéma &Novo editor de esquemas - + &Nouvel éditeur d'élément &Novo editor de elementos - + Ferme l'application QElectroTech Fechar o aplicativo QElectroTech - + Réduire QElectroTech dans le systray Minimizar QElectroTech para a bandeja do sistema - + Restaurer QElectroTech Restaurar QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Editores de esquemas - + Éditeurs d'élément Editores de elementos - + Éditeurs de cartouche systray menu entry Editores de blocos de legenda - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>O arquivo de restauração a seguir foi encontrado,<br>Deseja abri-lo?</b><br> + <b>O arquivo de restauração a seguir foi encontrado,<br>Deseja abri-lo?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Os arquivos de restauração a seguir foram encontrados,<br>Deseja abri-los?</b><br> + <b>Os arquivos de restauração a seguir foram encontrados,<br>Deseja abri-los?</b><br> - Fichier de restauration - Restaurar o arquivo + Restaurar o arquivo - + Rapport de plantage Relatório de falha - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. O QElectroTech não foi encerrado corretamente na última execução. Estas são as últimas mensagens registradas antes da parada -- você pode salvá-las para anexar a um relatório de bug. - + Rapport de diagnostic Relatório de diagnóstico - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Contém as últimas mensagens de registro desta sessão. Verifique o conteúdo antes de anexá-lo a um relatório de bug público. - + Usage : Utilização : - + [options] [fichier]... @@ -8097,7 +9693,7 @@ Estas são as últimas mensagens registradas antes da parada -- você pode salv - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8114,35 +9710,35 @@ Opções disponíveis: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Define a pasta da coleção de elementos - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Define a pasta da coleção de modelos de blocos de legenda - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Define a pasta de configuração - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Define a pasta de dados - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Define a pasta dos arquivos de idioma @@ -8152,136 +9748,136 @@ Opções disponíveis: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Projetos - + Collections Coleções - + Aucune modification Sem modificações - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Clique sobre uma ação para desfazer as alterações que você efetuou no seu esquema - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Este painel lista as diferentes ações efetuadas sobre a página atual. Clicar sobre uma ação permite retornar ao estado do esquema logo após sua aplicação. - + Annulations dock title Desfazer - + E&xporter E&xportar - + Imprimer Imprimir - + &Quitter Sai&r - + Annuler Desfazer - + Refaire Refazer - + Annule l'action précédente status bar tip Desfaz a ação anterior - + Restaure l'action annulée status bar tip Refaz a ação anulada - + Co&uper Cor&tar - + Cop&ier Co&piar - + C&oller C&olar - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Transfere os elementos selecionados para a área de transferência - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copia os elementos selecionados para a área de transferência - + Place les éléments du presse-papier sur le folio status bar tip Cola os elementos da área de transferência na página - + Réinitialiser les conducteurs Reinicializar os condutores - + Création automatique de conducteur(s) Tool tip of auto conductor Criação automática de condutor(es) - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Utilizar a criação automática de fios quando possível @@ -8297,678 +9893,947 @@ Opções disponíveis: Exibe a cor de fundo da páginas em branco ou cinza - + Afficher la grille Exibir a grade - + Affiche ou masque la grille des folios Mostrar ou ocultar a grade das páginas - + Propriétés du folio Propriedades da página - + Propriétés du projet Propriedades do projeto - + Ajouter un folio Acrescentar uma página - - - + + + Supprimer le folio Excluir esta página - + Nettoyer le projet Limpar o projeto - + Ajouter un sommaire Adicionar um resumo - + en utilisant des onglets Usando abas - + en utilisant des fenêtres Usando janelas - + Mode Selection Modo de seleção - + Mode Visualisation Modo de visualização - + &Mosaïque &Mosaico - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Editor de esquemas - + Exporter en pdf Exportar em pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Exportar uma ou mais páginas do projeto atual - + + Coller au point d'origine + Colar no ponto de origem + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Coloca os elementos da área de transferência em sua posição de origem e move o cursor para esse ponto + + + Dupli&quer Dupli&car - + Copie la sélection, décalée de l'espacement configuré status bar tip Copia a seleção, deslocada pelo espaçamento configurado - + Configurer la duplication... Configurar a duplicação... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip Escolher o espaçamento e a direção usados por Duplicar - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Corte automático de condutor(es) - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Cortar automaticamente os condutores existentes ao posicionar um elemento - + Grille des textes Grade dos textos - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. Grade de encaixe dos textos movidos com o mouse. Mantenha Ctrl pressionado durante o movimento para posicionar livremente. - + Désactivée Desativada - + Afficher les guides Exibir as guias - + Affiche ou masque les guides Exibe ou oculta as guias - + Garder les en-têtes visibles Manter os cabeçalhos visíveis - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue Mantém os números de coluna e as letras de linha da página visíveis na borda da visualização - + Afficher les limites des cases Exibir os limites das zonas - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement Desenha os limites das colunas e linhas da página no diagrama, somente na tela - + + Afficher + Exibir + + + + Textes des éléments + Textos dos elementos + + + + Textes des conducteurs + Textos dos condutores + + + + Champs de texte + Campos de texto + + + + Formes + Formas + + + + Images + Imagens + + + + Tableaux + Tabelas + + + + Références croisées + Referências cruzadas + + + + Voir Affichage > Afficher + Veja Exibição > Exibir + + + Exporter au format CSV Exportar em formato CSV - + Gestionnaire de borniers (DEV) Gerenciador de régua de terminais (DEV) - + Lancer le plugin de création de borniers Iniciar o plugin de criação de terminal - + Exporter la liste des noms de conducteurs Exportar a lista de nomes dos condutores - + Exporter le plan de câblage Exportar o plano de fiação - + Liste de câblage (base de données) Lista de fiação (banco de dados) - + Numérotation automatique des bornes Numeração automática dos terminais - - - + + + Recharger les dessins des éléments Recarregar os desenhos dos elementos - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) Redesenha cada elemento posicionado de acordo com a sua definição atual, sem precisar fechar e reabrir o projeto (ação não reversível) - + Exécuter un script... Executar um script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) Executa um script JavaScript no projeto atual (veja qet.* no script para a API disponível) - + + Enregistrer une macro + Gravar uma macro + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Grava o que você faz no projeto, para que um assistente de IA faça um script com isso; clique novamente para parar + + + + Gérer les scripts… + Gerenciar os scripts… + + + + Écrire un script et en faire un bouton avec une icône + Escrever um script e transformá-lo em um botão com um ícone + + + + Ouvrir le dossier des scripts + Abrir a pasta dos scripts + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Cada arquivo .js desta pasta que começa com um cabeçalho // ==QETScript== se torna um botão + + + Exporter la base de donnée interne du projet Exportar o banco de dados interno do projeto - + &Cascade &Cascata - + Projet suivant Projeto seguinte - + Projet précédent Projeto anterior - + &Nouveau &Novo - + &Ouvrir &Abrir - + &Enregistrer &Salvar - + Enregistrer sous Salvar como - + + &Fermer &Fechar - + Crée un nouveau projet status bar tip Cria um novo projeto - + Ouvre un projet existant status bar tip Abre um projeto existente - + Ferme le projet courant status bar tip Fecha o projeto atual - + Enregistre le projet courant et tous ses folios status bar tip Salva o projeto atual e todas as suas páginas - + Enregistre le projet courant avec un autre nom de fichier status bar tip Salva o projeto atual com outro nome de arquivo - + Ajouter une colonne Adicionar uma coluna - + Enlever une colonne Remover uma coluna - + Ajouter une ligne Add row Adicionar uma linha - + Enlever une ligne Remove row Excluir uma linha - + Ajoute une colonne au folio status bar tip Adiciona uma coluna à página - + Enlève une colonne au folio status bar tip Elimina uma coluna da página - + Agrandit le folio en hauteur status bar tip Aumenta a altura da página - + Rétrécit le folio en hauteur status bar tip Diminui a altura da página - + Supprimer Excluir - + Pivoter Girar - + Pivoter le groupe Girar o grupo - + Orienter les textes Escolha a orientação dos textos - + Retrouver dans le panel Procurar no painel - + Éditer l'item sélectionné Editar o item selecionado - + + Grouper + Agrupar + + + + Dégrouper + Desagrupar + + + Insérer le dernier élément Inserir o último elemento - + Place à nouveau le dernier élément inséré status bar tip Posiciona novamente o último elemento inserido - + Rechercher une commande… Pesquisar um comando… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip Digite parte do nome de um comando e pressione Enter para executá-lo - + Insérer un élément… Inserir um elemento… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip Abre o seletor de elementos na posição do cursor - + Barre de raccourcis Barra de atalhos - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip Abre, na posição do cursor, os comandos úteis para a seleção e o seletor de elementos - + Répéter la dernière commande Repetir o último comando - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip Executa novamente a última ferramenta de desenho ou a última inserção de elemento (Enter na página) - + Enlève les éléments sélectionnés du folio status bar tip Remove os elementos selecionados da página - + Pivote les éléments et textes sélectionnés status bar tip Gira os elementos e textos selecionados - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Gira a seleção como um grupo em torno do seu centro, em vez de cada elemento no próprio lugar - + Pivote les textes sélectionnés à un angle précis status bar tip Gira os textos selecionados para um ângulo definido - + Retrouve l'élément sélectionné dans le panel status bar tip Procurar o elemento selecionado no painel - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Agrupa os elementos, textos, formas e imagens selecionados: eles são selecionados, movidos e copiados juntos + + + + Défait les groupes sélectionnés + status bar tip + Desfaz os grupos selecionados + + + Aligner sur la grille Alinhar à grade - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip Recoloca na grade os elementos, imagens e textos selecionados - + + Aligner à gauche + Alinhar à esquerda + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Alinha as bordas esquerdas dos objetos selecionados + + + + Centrer horizontalement + Centralizar horizontalmente + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Alinha os objetos selecionados em uma mesma vertical, pelo ponto de origem no caso dos elementos + + + + Aligner à droite + Alinhar à direita + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Alinha as bordas direitas dos objetos selecionados + + + + Aligner en haut + Alinhar ao topo + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Alinha as bordas superiores dos objetos selecionados + + + + Centrer verticalement + Centralizar verticalmente + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Alinha os objetos selecionados em uma mesma horizontal, pelo ponto de origem no caso dos elementos + + + + Aligner en bas + Alinhar à base + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Alinha as bordas inferiores dos objetos selecionados + + + Tout sélectionner Selecionar tudo - + Désélectionner tout Desmarcar todos - + Inverser la sélection Inverter a seleção - + Sélectionner tous les conducteurs Selecionar todos os condutores - + Sélectionner tous les champs de texte Selecionar todos os campos de texto - + Sélectionne tous les éléments du folio status bar tip Seleciona todos os elementos da página - + Désélectionne tous les éléments du folio status bar tip Desmarca todos os elementos da página - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Alterna a seleção dos elementos - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip Seleciona todos os condutores da página e desmarca o restante - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip Seleciona todos os campos de texto da página e desmarca o restante - + Zoom avant Aumentar Zoom - + Zoom arrière Diminuir Zoom - + Zoom sur le contenu Zoom sobre o conteúdo - + Zoom adapté Ajustar à janela - + Pas de zoom Restaurar zoom - + + Centrer sur le curseur + Centralizar no cursor + + + Agrandit le folio status bar tip Aumenta a página - + Rétrécit le folio status bar tip Diminui a página - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Ajusta o zoom para exibir toda a página independentemente das bordas - + Adapte le zoom exactement sur le cadre du folio status bar tip Ajusta o zoom exatamente sobre as bordas da página - + Restaure le zoom par défaut status bar tip Restaura o zoom padrão - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Centraliza a página no ponto sob o cursor do mouse, sem alterar o zoom + + + Ajouter un champ de texte Adicionar um campo de texto - + Ajouter une image Adicionar uma imagem - + Ajouter un PDF Adicionar um PDF - + Ajouter une ligne Draw line Adicionar uma linha - + Ajouter un rectangle Adicionar um retângulo - + Ajouter une ellipse Adicionar uma elipse - + + Ajouter un arc + Adicionar um arco + + + Ajouter une polyligne Adicionar uma linha poligonal - + + Ajouter un congé + Adicionar um arredondamento + + + + Ajoute un arc sur le folio actuel + Adiciona um arco na página atual + + + + Arrondit le coin entre deux lignes du folio actuel + Arredonda o canto entre duas linhas da página atual + + + + Scripts + toolbar title + Scripts + + + + + Scripts + Scripts + + + + Folio %1 : %2 + Página %1: %2 + + + + Conducteurs non chargés + message box title + Condutores não carregados + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n condutor não pôde ser ligado aos seus terminais e não foi carregado. A definição do elemento no projeto provavelmente foi substituída por outra cujos terminais diferem. + +Se você salvar o projeto, este condutor desaparecerá do arquivo. Feche-o sem salvar para manter o arquivo como está. + %n condutores não puderam ser ligados aos seus terminais e não foram carregados. A definição do elemento no projeto provavelmente foi substituída por outra cujos terminais diferem. + +Se você salvar o projeto, estes condutores desaparecerão do arquivo. Feche-o sem salvar para manter o arquivo como está. + + + + + %n objet(s) aligné(s) + + %n objeto alinhado + %n objetos alinhados + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Selecione pelo menos dois elementos, imagens, textos, formas ou grupos não travados + + + + La sélection est déjà alignée, à la grille près + A seleção já está alinhada, dentro da tolerância da grade + + + Répéter : insérer « %1 » Repetir: inserir « %1 » - + Répéter : %1 Repetir: %1 - + folio %1 página %1 - + %n élément(s) redessiné(s). %n elemento redesenhado. @@ -8976,7 +10841,7 @@ Mantenha Ctrl pressionado durante o movimento para posicionar livremente. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. %n elemento cuja definição não foi encontrada ou está ilegível: o desenho atual foi mantido. @@ -8984,7 +10849,7 @@ Mantenha Ctrl pressionado durante o movimento para posicionar livremente. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). %n elemento não redesenhado: o tamanho, o ponto de inserção ou os terminais mudaram (terminal adicionado, removido ou movido). @@ -8992,18 +10857,18 @@ Mantenha Ctrl pressionado durante o movimento para posicionar livremente. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. Para atualizá-los, é necessário excluí-los e inseri-los novamente. Atenção: esta operação exclui os condutores já ligados a esses elementos, que precisarão ser redesenhados. - - + + Exécuter un script Executar um script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9016,335 +10881,437 @@ Um script é executado com as suas permissões: ele pode ler e modificar o proje Ativar os scripts? Esta configuração pode ser alterada em Configurar o QElectroTech > Geral > Projetos. - + Scripts JavaScript (*.js);;Tous les fichiers (*) Scripts JavaScript (*.js);;Todos os arquivos (*) - - + + Ignoré : %1 + Ignorado: %1 + + + + + Arrêter + Parar + + + + Arrêter l'enregistrement de la macro + Parar a gravação da macro + + + + ● Enregistrement : %n étape(s) + + ● Gravando: %n etapa + ● Gravando: %n etapas + + + + + Macro enregistrée + Macro gravada + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + “%1”: %n etapa. + +Para transformá-la em um script, peça ao seu assistente de IA: o botão abaixo copia o pedido, basta colá-lo na janela dele. + “%1”: %n etapas. + +Para transformá-la em um script, peça ao seu assistente de IA: o botão abaixo copia o pedido, basta colá-lo na janela dele. + + + + + &Copier la demande pour l'assistant + &Copiar o pedido para o assistente + + + + &Ouvrir le dossier + &Abrir a pasta + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Pedido copiado: cole-o na janela do assistente + + + + Couper la connexion de l'assistant pour le reste de la session + Cortar a conexão do assistente pelo resto da sessão + + + + Mode direct : assistant connecté + Modo direto: assistente conectado + + + + Mode direct : en attente d'un assistant + Modo direto: aguardando um assistente + + + + + Assistant + Assistente + + + + Demander avant d'exécuter un script écrit par l'assistant + Perguntar antes de executar um script escrito pelo assistente + + + + Pour cette session seulement : chaque démarrage redemande + Somente para esta sessão: cada inicialização pergunta novamente + + + + Mode direct : %1 %2 à %3 + Modo direto: %1 %2 às %3 + + + + %n type(s) d'objets masqué(s) + + %n tipo de objeto oculto + %n tipos de objetos ocultos + + + + + Textes %1 Textos %1 - + Exporte le folio courant dans un autre format status bar tip Exportar a página atual em outro formato - + Imprime un ou plusieurs folios du projet courant status bar tip Imprimir uma ou mais páginas do projeto atual - + Ferme l'application QElectroTech status bar tip Fechar o aplicativo QElectroTech - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Redefinir os caminhos dos condutores ignorando as modificações do usuário - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Edite as propriedades da página (dimensões, informações do bloco de legenda, propriedades dos condutores...) - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Exibe os vários projetos abertos em janelas - + Présente les différents projets ouverts des onglets status bar tip Exibe os vários projetos abertos em abas - + Permet de sélectionner les éléments status bar tip Permite selecionar elementos - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Permite visualizar a página, porém sem poder editá-la - + Dispose les fenêtres en mosaïque status bar tip Dispõe as janelas lado a lado - + Ajouter une nomenclature Adicionar nomenclatura - + Dispose les fenêtres en cascade status bar tip Dispõe as janelas em cascata - + Active le projet suivant status bar tip Ativa o próximo projeto - + Active le projet précédent status bar tip Ativa o projeto anterior - + Grouper les textes sélectionnés Agrupar textos selecionados - + Ajouter une courbe Adicionar uma curva - + Ajouter un plan de bornes Adicionar um plano de terminal - + Ajoute un champ de texte sur le folio actuel Adiciona um campo de texto a página atual - + Ajoute une image sur le folio actuel Adiciona uma imagem a página atual - + Ajoute une page PDF sur le folio actuel Adiciona uma página do PDF na página atual - + Ajoute une ligne sur le folio actuel Adiciona uma linha a página atual - + Ajoute un rectangle sur le folio actuel Adiciona um retângulo a página atual - + Ajoute une ellipse sur le folio actuel Adiciona uma elipse a página atual - + Ajoute une polyligne sur le folio actuel Adiciona uma polilinha na página atual - + Ajoute une courbe de Bézier sur le folio actuel Adiciona uma curva de Bézier ao fólio atual - + Ajoute un plan de bornier sur le folio actuel Adiciona um plano de bloco terminal na folha atual - + Chercher/remplacer Localizar / substituir - + Atteindre un élément Ir para um elemento - + Recherche et sélectionne rapidement un élément du folio status bar tip Localiza e seleciona rapidamente um elemento da página - + Outils Ferramentas - + Affichage Exibir - + Schéma Esquema - + Ajouter Adicionar - + Profondeur toolbar title Profundidade - + &Fichier Ar&quivo - + &Édition &Editar - + &Projet &Projeto - + Afficha&ge E&xibir - + Fe&nêtres Ja&nelas - + &Récemment ouverts Abertos &recentemente - + A&jouter Adi&cionar - + Aligner Alinhar - + Lignes et colonnes Linhas e colunas - + Affiche ou non la barre d'outils principale Alterna a exibição da barra de ferramentas "Principal" - + Affiche ou non la barre d'outils Affichage Alterna a exibição da barra de ferramentas "Exibir" - + Affiche ou non la barre d'outils Schéma Alterna a exibição da barra de ferramentas "Esquema" - + Affiche ou non le panel d'appareils Alterna a exibição do painel de elementos - + Affiche ou non la liste des modifications Alterna a exibição da lista de alterações - + Afficher les projets Exibir os projetos - - + + Projet %1 enregistré dans le repertoire: %2. Projeto %1 salvo na pasta: %2. - + Ouvrir un fichier Abrir um arquivo - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Projetos QElectroTech (*.qet);;Arquivos XML (*.xml);;Todos os arquivos (*) - - + + Impossible d'ouvrir le fichier message box title Não é possível abrir o arquivo - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Aparentemente o arquivo %1 que você está tentando abrir não existe. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Aparentemente o arquivo que você está tentando abrir não é acessível para leitura. Portanto, é impossível abri-lo. Por favor, verifique as permissões do arquivo. - + Ouverture du projet en lecture seule message box title Abrir o projeto em modo somente de leitura - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Aparentemente o projeto que você está tentando abrir não é acessível para escrita. Portanto ele será aberto em modo somente de leitura. - - + + Échec de l'ouverture du projet message box title Não é possível abrir o projeto - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Parece que o arquivo %1 não é um arquivo de projeto QElectroTech. Portanto, ele não pode ser aberto. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9353,7 +11320,7 @@ Ativar os scripts? Esta configuração pode ser alterada em Configurar o QElectr - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9362,30 +11329,30 @@ Ativar os scripts? Esta configuração pode ser alterada em Configurar o QElectr - + Polices du projet message box title Fontes do projeto - + Suppression de borne impossible Não é possível excluir o terminal - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer A exclusão não pode ser realizada porque a seleção contém um ou mais terminais em ponte e/ou pertencentes a um terminal de múltiplos níveis. Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excluí-los - + Groupe Grupo - + %n objet(s) remis sur la grille %n objeto recolocado na grade @@ -9393,12 +11360,12 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl - + La sélection est déjà sur la grille A seleção já está na grade - + (%n objet(s) verrouillé(s) laissé(s) en place) (%n objeto travado mantido no lugar) @@ -9406,79 +11373,79 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl - + Éditer l'élement edit element Editar o elemento - + Éditer le champ de texte edit text field Editar o campo de texto - + Éditer l'image edit image Editar a imagem - + Éditer le conducteur edit conductor Editar o condutor - + Éditer l'objet sélectionné edit selected item Editar o objeto selecionado - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Ocorreu um erro ao abrir o arquivo %1. - + Active le projet « %1 » Ativar o projeto « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? Tem certeza de que deseja excluir esta página? - + Supprimer les folios Excluir páginas - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Tem certeza de que deseja excluir as %1 páginas selecionadas? - + Supprimer %1 folios Excluir %1 páginas - - - - - - - + + + + + + + Déplacer les folios Mover as páginas - + Erreur message box title Erro @@ -9487,42 +11454,42 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl QETElementEditor - + &Nouveau &Novo - + &Ouvrir &Abrir - + &Ouvrir depuis un fichier &Abrir a partir de um arquivo - + &Enregistrer &Salvar - + Enregistrer sous Salvar como - + Enregistrer dans un fichier Salvar em um arquivo - + Recharger Recarregar - + Tout sélectionner Selecionar tudo @@ -9532,333 +11499,333 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl QElectroTech - Editor de elementos - + &Aide &Ajuda - + Annulations Desfazer - + Parties Partes - + Informations Informações - + Outils Ferramentas - + Affichage Exibir - + Élément Elemento - + Annulation Cancelamento - + Exporter en SVG Exportar em SVG - + &Fermer cet éditeur &Fechar este editor - + Fermer cet éditeur Fechar este editor - + Désélectionner tout Desmarcar todos - + Co&uper Cor&tar - + Cop&ier Co&piar - + C&oller C&olar - + C&oller dans la zone C&ole na área - + Un fichier Um arquivo - + Un élément Um elemento - + À &propos de QElectroTech &Sobre QElectroTech - + Affiche des informations sur QElectroTech Exibe informações sobre QElectroTech - + Manuel en ligne Manual on-line - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Inicia o navegador padrão no manual online do QElectroTech - + Chaine Youtube Canal do Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Lançar o navegador padrão para o canal do YouTube do QElectroTech - + Soutenir le projet par un don Apoie o projeto com uma doação - + Soutenir le projet QElectroTech par un don Apoie o projeto QElectroTech com uma doação - + À propos de &Qt Sobre &Qt - + Affiche des informations sur la bibliothèque Qt Exibe informações sobre as bibliotecas Qt - + Rotation Rotação - + Fine-Rotation Rotação fina - + Mirror Espelhar - + Flip Inverter - + Importer un dxf Importar um dxf - + importer un élément à redimensionner Importar um elemento para redimensionar - + Inverser la sélection Inverter a seleção - + &Supprimer E&xcluir - + Éditer le nom et les traductions de l'élément Editar o nome e as traduções do elemento - + Éditer les informations sur l'auteur Editar as informações sobre o autor - + Éditer les propriétés de l'élément Editar as propriedades do elemento - + Annuler Desfazer - + Refaire Refazer - + Profondeur toolbar title Profundidade - + Zoom avant Aumentar Zoom - + Zoom arrière Diminuir Zoom - + Zoom adapté Ajustar à janela - + Pas de zoom Restaurar zoom - + Ajouter une ligne Adicionar uma linha - + Ajouter un rectangle Adicionar um retângulo - + Ajouter une ellipse Adicionar uma elipse - + Ajouter un polygone Adicionar um polígono - + Ajouter du texte Adicionar texto - + Ajouter un arc de cercle Adicionar um arco - + Ajouter une borne Adicionar um terminal - + Ajouter un champ texte dynamique Adicione um campo de texto dinâmico - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Clique duas vezes para completar a forma, clique com o botão direito para cancelar o último ponto - + Parties toolbar title Partes - + &Fichier Ar&quivo - + &Édition &Editar - + Afficha&ge E&xibir - + Coller depuis... Colar a partir de... - + [Modifié] window title tag [Modificado] - + [lecture seule] window title tag [somente leitura] - + Aucune modification Sem modificações - + Éditeur d'éléments status bar message Editor de elementos - - + + %n partie(s) sélectionnée(s). %n parte selecionada. @@ -9866,35 +11833,35 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl - + Absence de borne warning title Sem terminais - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Na ausência de terminais, o elemento não poderá ser conectado a outros elementos por meio de fios. - + Absence de borne Sem terminais - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Erro</b>:<br>Os relatórios de página devem ter um único terminal.<br><b>Solução</b>:<br>Verifique se o elemento tem somente um único terminal - + La vérification de cet élément a généré message box content Verificação deste elemento gerado - + %n erreur(s) errors @@ -9903,200 +11870,256 @@ Remova as pontes e/ou exclua os níveis dos terminais envolvidos para poder excl - + et e - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Erreurs Erros - + Avertissements Avisos - + Le fichier %1 n'existe pas. message box content O arquivo %1 não existe. - + Afficher menu entry Exibir - - + + Impossible d'ouvrir le fichier %1. message box content Não é possível abrir o arquivo %1. - - + + Ce fichier n'est pas un document XML valide message box content Este arquivo não é um documento XML válido - - + + Erreur toolbar title Erro - - + + Édition en lecture seule message box title Edição em modo somente de leitura - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Você não tem as permissões necessárias para editar este elemento. Portanto ele será aberto em modo somente de leitura. - - + + Erreur message box title Erro - + Impossible d'écrire dans ce fichier message box content Não é possível escrever neste arquivo - + Impossible d'enregistrer l'élément message box content Não é possível salvar o elemento - + Trop de primitives, liste non générée: %1 Primitivas em excesso, lista não gerada: %1 - + Nombre de bornes incorrect Número de terminais incorreto - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Erro</b>:<br>As definições de condutor podem ter apenas um terminal.<br><b>Solução</b>:<br>Verifique se o elemento possui apenas um terminal. - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + Nomes de terminais duplicados + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Erro</b>:<br>Vários terminais têm o mesmo nome: %1.<br><b>Solução</b>:<br>Dar um nome único a cada terminal, por exemplo N.1 e N.2. Os terminais em questão estão selecionados. + + + + Bornes sans nom + Terminais sem nome + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n terminal sem nome. Sem nomes de terminais únicos, a lista de fiação (que liga o quê a quê) não pode designar cada terminal e, portanto, não pode servir para a fiação do painel na oficina. + <br>%n terminais sem nome. Sem nomes de terminais únicos, a lista de fiação (que liga o quê a quê) não pode designar cada terminal e, portanto, não pode servir para a fiação do painel na oficina. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Editor de elemento - + Ajouter un texte d'élément non éditable dans les schémas Adicionar texto de elemento não editável em diagramas - + Ajouter un texte d'élément pouvant être édité dans les schémas Adicione texto do elemento que pode ser editado em diagramas - + + Afficher le cadre de fond + Exibir a moldura de fundo + + + + Taille du cadre de fond... + Tamanho da moldura de fundo... + + + + Taille du cadre de fond + Tamanho da moldura de fundo + + + + + px + px + + + + Largeur + Largura + + + + Hauteur + Altura + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title Exportar em SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG Imagem SVG (*.svg) - + Échec de l'export Falha na exportação - + Impossible d'écrire dans le fichier « %1 ». Não foi possível gravar no arquivo « %1 ». - + Avertissement Aviso - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... A importação de um dxf grande pode levar tempo aguarde enquanto importa... - + Importer un élément à redimensionner Importar um elemento para redimensionar - + Éléments QElectroTech (*.elmt) Elementos QElectroTech (*.elmt) - + %n avertissement(s) warnings @@ -10105,99 +12128,99 @@ aguarde enquanto importa... - + Impossible d'ouvrir le fichier message box title Não é possível abrir o arquivo - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Aparentemente o arquivo %1 que você está tentando abrir não existe. - + Recharger l'élément dialog title Recarregar o elemento - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Este elemento foi alterado desde que foi salvo pela última vez. Se você recarregar, essas alterações serão perdidas. Você realmente quer recarregar o elemento? - - - + + + Echec de l'enregistrement Falha ao salvar - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Falha ao salvar, as condições não são válidas - + Enregistrer sous dialog title Salvar como - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elementos QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Salvar o elemento atual? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Deseja salvar o elemento %1? - + Ouvrir un fichier dialog title Abrir um arquivo - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elementos QElectroTech (*.elmt);;Arquivos XML (*.xml);;Todos os arquivos (*) - - - - + + + + Élément inexistant. message box title Elemento inexistente. - - + + L'élément n'existe pas. message box content Este elemento não existe. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content O caminho virtual escolhido não corresponde a um elemento. @@ -10206,137 +12229,172 @@ as condições não são válidas QETMainWindow - + &Configurer QElectroTech &Configurar QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permite especificar vários parâmetros do QElectroTech - + À &propos de QElectroTech &Sobre QElectroTech - + Affiche des informations sur QElectroTech status bar tip Exibe informações sobre QElectroTech - + Manuel en ligne Manual on-line - + Chaine Youtube Canal do Youtube - - + + Télécharger une nouvelle version (dev) Baixe uma nova versão (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Inicia o navegador padrão no manual online do QElectroTech - - + + Enregistrer la configuration sous... + Salvar a configuração como... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Salva as configurações do QElectroTech em um arquivo + + + + + + Général Geral - + + Charger une configuration... + Carregar uma configuração... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Substitui as configurações do QElectroTech pelas de um arquivo e depois fecha o QElectroTech + + + + Connecter un assistant IA... + Conectar um assistente de IA... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Exibe a configuração que permite a um assistente de IA usar o QElectroTech + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Lançar o navegador padrão para o canal do YouTube do QElectroTech - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Abre o navegador padrão no repositório Nightly on-line do QElectroTech - + Soutenir le projet par un don Apoie o projeto com uma doação - + Soutenir le projet QElectroTech par un don status bar tip Apoie o projeto QElectroTech com uma doação - + À propos de &Qt Sobre &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Exibe informações sobre as bibliotecas Qt - + Enregistrer un rapport de diagnostic... Salvar um relatório de diagnóstico... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Gera um relatório com as últimas mensagens de registro, para incluir em um relatório de bug - + &Configuration window menu &Configuração - + &Aide window menu &Ajuda - + Sortir du &mode plein écran Sair do &modo de tela cheia - + Affiche QElectroTech en mode fenêtré status bar tip Exibe QElectroTech em modo de visualização por janelas - + Passer en &mode plein écran Alternar para o &modo de tela cheia - + Affiche QElectroTech en mode plein écran status bar tip Exibir QElectroTech no modo de tela cheia - + Afficher menu entry Exibir @@ -10345,52 +12403,52 @@ as condições não são válidas QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projeto « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Projeto %1 - + Projet sans titre displayed title for a project-less, file-less project Projeto sem título - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [somente leitura] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [Modificado] - + Renumber elements Renumerar elementos - + Renumber elements (%1) Renumerar elementos (%1) - + Système de contacts modifié Sistema de contatos modificado - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10401,19 +12459,19 @@ Os elementos escravos existentes não serão atribuídos automaticamente. Você Deseja continuar? - + Une erreur s'est produite durant l'intégration du modèle. error message Ocorreu um erro durante a integração do modelo. - + Avertissement message box title Aviso - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10422,7 +12480,7 @@ Vous utilisez actuellement QElectroTech en version %2 Você está usando o QElectroTech na versão %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10431,32 +12489,32 @@ Que désirez vous faire ? O que você deseja fazer? - + Avertissement message box title Aviso - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. O projeto que você está tentando abrir é parcialmente compatível com sua versão %1 do QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Para torná-lo totalmente compatível, abra este mesmo projeto com a versão 0.8 ou 0.80 do QElectroTech e salve o projeto e abra-o novamente com esta versão. O que você deseja fazer? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Abrindo o projeto atual...</b><br/>Criação das páginas</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Abertura do projeto...</b><br/>Configurando referências cruzadas</p> @@ -10859,44 +12917,44 @@ O que você deseja fazer? um elemento gráfico - + supprimer %1 undo caption - %1 is a sentence listing the removed content excluir %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste colar %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut cortar %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content mover %1 - + modifier le texte undo caption editar o texto - + modifier un conducteur undo caption editar um condutor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Reinicializar %1 @@ -10908,7 +12966,7 @@ O que você deseja fazer? editar o bloco de legenda - + modifier les dimensions du folio undo caption editar as dimensões da página @@ -10950,6 +13008,7 @@ O que você deseja fazer? + Titre Título @@ -11148,32 +13207,32 @@ O que você deseja fazer? um grupo de texto - + Folio sans titre Página sem título - + schema esquema - + Conserver les proportions Conservar proporções - + Réinitialiser les dimensions Reinicializar dimensões - + Aperçu Visualização - + Exporter vers le presse-papier Exportar para a área de transferência @@ -11273,34 +13332,34 @@ O que você deseja fazer? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - + %n elemento %n elementos - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - + %n condutor %n condutores - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - + %n campo de texto %n campos de texto - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11309,7 +13368,7 @@ O que você deseja fazer? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11318,25 +13377,25 @@ O que você deseja fazer? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - - %n texto do elemento - %n textos do elemento + + %n texto de elemento + %n textos de elementos - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - + %n tabela %n tabelas - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11345,85 +13404,85 @@ O que você deseja fazer? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? O arquivo de texto que contém a licença GNU/GPL não foi encontrado - bem, de qualquer modo você a conhece de cor, não é? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? O arquivo de texto que contém a licença GNU/GPL existe mas não pôde ser aberto - bem, de qualquer modo você a conhece de cor, não é? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Não é possível abrir o arquivo %1 para escrita, encontrado erro %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Ocorreu um erro ao gravar o arquivo %1, erro %2encontrado. - + Amener au premier plan Trazer para a frente - + Rapprocher Avançar - + Éloigner Recuar - + Envoyer au fond Enviar para trás - + Ramène la ou les sélections au premier plan Traz as seleções para o primeiro plano - + Rapproche la ou les sélections Aproximar as seleções - + Éloigne la ou les sélections Remover seleções - + Envoie en arrière plan la ou les sélections Envie a seleção para segundo plano - - - - + + + + Profondeur Profundidade - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Aviso: o elemento foi salvo por uma versão mais recente do QElectroTech. - + Borne tooltip Terminal @@ -11579,6 +13638,7 @@ O que você deseja fazer? Propriedades do projeto + Modifier les informations de l'élément : %1 Editar as informações do elemento: %1 @@ -11595,22 +13655,22 @@ O que você deseja fazer? Editar as referências cruzadas - + Collection QET Coleção do QET - + Collection Company Coleção da empresa - + Collection utilisateur Coleção do usuário - + Macros Macros @@ -11619,12 +13679,12 @@ O que você deseja fazer? Macros - + Collection inconnue Coleção desconhecida - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. O arquivo « %1 » está ausente ou ilegível: não foi possível ler o nome traduzido desta pasta, o nome da pasta é exibido no lugar. @@ -11638,8 +13698,13 @@ O que você deseja fazer? Collection Coleção + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + Este grupo não pode ser movido: a posição de um dos seus elementos está travada. + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11711,7 +13776,7 @@ O que você deseja fazer? %1 grupos de textos - + %n texte(s) %n texto @@ -11719,13 +13784,13 @@ O que você deseja fazer? - - + + Pivoter %1 Girar %1 - + Orienter les textes sélectionnés window title Escolha a orientação dos textos selecionados @@ -11774,13 +13839,13 @@ Deseja substituí-lo? Importar a configuração de texto: %1 - + %p% effectué (%v sur %m) %p% feito (%v em %m) - - + + chargement %p% (%v sur %m) Carregando %p% (%v de %m) @@ -11790,22 +13855,22 @@ Deseja substituí-lo? Localizar / substituir propriedades da página - + Chercher/remplacer les propriétés d'éléments. Encontrar / substituir propriedades do elemento. - + Chercher/remplacer les propriétés de conducteurs. Encontrar / substituir as propriedades do condutor. - + Rechercher / remplacer avancé Localizar / substituir avançado - + Chercher/remplacer des textes independants Pesquisar / substituir textos independentes @@ -11902,35 +13967,35 @@ Deseja substituí-lo? - - - + + + Type Tipo - - - + + + Adresse Endereço - - - + + + Commentaire Comentário - - - + + + Réf. croisée Ref. cruzada @@ -11938,9 +14003,9 @@ Deseja substituí-lo? - - - + + + Fonction Função @@ -12270,27 +14335,27 @@ Deseja substituí-lo? Caminho do arquivo salvo - + Création de conducteurs Criação do condutor - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Para instalar o plugin qet_tb_generator<br>Acesse:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requer python 3.5 ou superior.<br><B><U> Primeira instalação no Windows</B></U><br>1. Instale, se necessário, python 3.5 ou superior<br>Acesse:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U>Atualização no Windows</B></U> <br>python -m pip install --upgrade qet_tb_generator<br>>> o usuário pode iniciar em um terminal esse script neste diretório <br>C: \ users \ XXXX \ AppData \ Local \ Programas \ Python \ Python36-32 \ Scripts<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Para instalar o plugin qet_tb_generator<br>Acesse:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Primeira instalação no macOSX</B></U><br>1. Instale, se necessário, apenas o pacote python 3.11, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Execute o script Profile.command<br>porque o programa usa PATH codificado para localizar o plugin qet-tb-generator <br> Acesse:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>como fazer</a><br>2. pip3 install qet_tb_generator<br><B><U> Atualização no macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Para instalar o plugin qet_tb_generator<br>Acesse:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requer python 3.5 ou superior.<br><br><B><U> Primeira instalação no Linux</B></U><br>1. verifique se o pip3 está instalado: pip3 --version<br>Se não estiver, instale com: sudo apt-get install python3-pip<br>2. Instale o programa: sudo pip3 install qet_tb_generator<br>3. Execute o programa: qet_tb_generator<br><br><B><U>Atualizar no Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Erro ao iniciar o plugin qet_tb_generator @@ -12310,15 +14375,15 @@ Deseja substituí-lo? Colar - - + + - - - - - - + + + + + + this is an error in the code este é um erro no código @@ -12519,12 +14584,12 @@ Deseja substituí-lo? Alterar a cor de uma ponte terminal - + Ouvrir un element Abra um elemento - + Importer un fichier dxf Importar um arquivo dxf @@ -12614,7 +14679,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Faça o download seguindo o link abaixo e descompacte-o na pasta de instalação - + Automatic terminal numbering Numeração automática de terminais @@ -12690,14 +14755,14 @@ Faça o download seguindo o link abaixo e descompacte-o na pasta de instalação %n texte(s) d'élément - - %n texto do elemento - %n textos do elemento + + %n texto de elemento + %n textos de elementos - + %n groupe(s) de textes %n grupo de textos @@ -12706,8 +14771,8 @@ Faça o download seguindo o link abaixo e descompacte-o na pasta de instalação - - + + Déplacer %1 Mover %1 @@ -12836,98 +14901,111 @@ Faça o download seguindo o link abaixo e descompacte-o na pasta de instalação - + Aligner %n objet(s) sur la grille Alinhar %n objeto à grade Alinhar %n objetos à grade - - - Ajouter %1 - Adicionar %1 + + + Aligner %n objet(s) + + Alinhar %n objeto + Alinhar %n objetos + - + + Ajouter %1 + Adicionar %1 + + + Modifier les propriétés du conducteur Editar as propriedades do condutor - + Modifier un texte Editar um texto - + Modifier la couleur d'un texte - Modificador de cor de texto + Modificador de cor de texto - + Pivoter un texte Girar um texto - + Modifier le trait d'une forme Editar o contorno de uma forma - + Modifier le remplissage d'une forme Editar o preenchimento de uma forma - + Pivoter une forme Girar uma forma - - + + Modifier la forme d'%1 Alterar a forma de %1 - + Fermer/Ouvrir %1 Fechar/Abrir %1 - + Redimensionner une image Redimensionar uma imagem - + Pivoter une image Girar uma imagem - + Modifier un texte d'élément - Editar texto do elemento + Editar texto do elemento - + Numéroter automatiquement un élément - Numerar automaticamente um elemento + Numerar automaticamente um elemento - + + Renuméroter les éléments (%1) + Renumerar os elementos (%1) + + + Rechercher et remplacer Localizar e substituir - - - + + + Script Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12939,6 +15017,47 @@ Um script tem acesso a todo o projeto e pode gravar arquivos, por isso esta fun Para ativá-la: Configurar o QElectroTech > Geral > Projetos, ou defina a variável de ambiente QET_ENABLE_SCRIPTING=1 para execução sem interface (CI, processamento em lote). + + + Assistant : %1 + Assistente: %1 + + + + Script : %1 + Script: %1 + + + + Grouper %n objet(s) + + Agrupar %n objeto + Agrupar %n objetos + + + + + Dégrouper %n objet(s) + + Desagrupar %n objeto + Desagrupar %n objetos + + + + + Figer le nom de l'élément + Congelar o nome do elemento + + + + Dégeler le nom de l'élément + Descongelar o nome do elemento + + + + Folio + Página + QTextOrientationWidget @@ -12959,371 +15078,439 @@ Para ativá-la: Configurar o QElectroTech > Geral > Projetos, ou defina a QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. A informação a ser exibida é maior do que a quantidade máxima que pode ser exibida pelas tabelas. Adicione uma nova tabela ou ajuste as tabelas existentes para mostrar todas as informações. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. A informação a ser exibida é maior do que a quantidade máxima que pode ser exibida pela tabela. Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as informações. - + Limitation de tableau Limitação de tabela - + Modifier la géometrie d'un tableau Modifique a geometria de uma tabela + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + erro de sintaxe na linha %1, coluna %2: +%3 + + + + Aucun répertoire de collection n'a été donné. + Nenhum diretório de coleção foi informado. + + + + l'élément racine <%1> n'est pas <labels>. + o elemento raiz <%1> não é <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + o arquivo não pôde ser aberto: %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Arquivo de prefixos (etiquetas) da coleção do usuário. +Um prefixo é atribuído a cada pasta: os elementos de uma pasta +herdam o prefixo dessa pasta, a menos que eles próprios tenham uma +etiqueta. Uma pasta sem prefixo herda o da sua pasta pai. +Este arquivo é criado e modificado pelo QElectroTech (Programa de configurações: +Configurar os prefixos…), mas continua podendo ser editado manualmente. + + + + Aucun fichier de préfixes à enregistrer. + Nenhum arquivo de prefixos a salvar. + + + + Le répertoire %1 n'a pas pu être créé. + O diretório %1 não pôde ser criado. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + O arquivo %1 não pôde ser copiado ao lado antes de ser substituído: +nada foi modificado. + + QetShapeItem - - + + Ajouter un point Adicionar um ponto - + Supprimer ce point Excluir este ponto - + Déformer une courbe Deformar uma curva - + Nœud le plus proche Nó mais próximo - + Lisse Suave - + Symétrique Simétrico - + Anguleux Anguloso - + Supprimer le nœud le plus proche Excluir o nó mais próximo - + Convertir en polyligne Converter em polilinha - + Convertir en courbe de Bézier Converter em curva de Bézier - + Miroir horizontal Espelhar horizontalmente - + Miroir vertical Espelhar verticalmente - + Taille - Tamanho + Tamanho - + Coins arrondis Cantos arredondados - + Édition des nœuds Edição de nós - + Rotation/Inclinaison Rotação/Inclinação - + Cliquer : mode %1 Clique: modo %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Arraste um canto/borda: redimensionar (Ctrl = a partir do centro, Shift = proporções, Alt = separar em polilinha) - + ; point turquoise : arc ; ponto turquesa: arco - + Glisser une extrémité : la déplacer Arraste uma extremidade: movê-la - + Glisser un point : le déplacer Arraste um ponto: movê-lo - + Glisser le point violet : arrondir les coins Arraste o ponto roxo: arredondar os cantos - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Arraste uma alça ou a curva: deformar (Alt = quebrar a tangente); Alt+arrastar um ponto anguloso: criar alças; clique direito: menu do nó mais próximo - + une extrémité uma extremidade - + un coin um canto - + un point um ponto - + Glisser %1 : rotation (Maj = 15°) Arrastar %1: rotação (Shift = 15°) - + ; un bord : inclinaison ; uma borda: inclinação - + ; point rouge : glisser pour repositionner le centre de rotation ; ponto vermelho: arraste para reposicionar o centro de rotação - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Ctrl durante o arraste = posição livre, sem ajuste à grade) - + — Cliquer : mode %1 — Clique: modo %1 - + Glisser : déplacer ce point Arraste: mover este ponto - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Arraste: redimensionar (Ctrl = a partir do centro + posição livre, Shift = proporções - + , Alt = détacher en polyligne , Alt = separar em polilinha - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Arraste: rotação (Ctrl = posição livre, Shift = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Arraste: inclinação (Ctrl = posição livre, Shift = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Arraste: reposicionar o centro de rotação (Ctrl = posição livre) - + Glisser : arrondir les coins (Ctrl = position libre) Arraste: arredondar os cantos (Ctrl = posição livre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Arraste: ajustar o arco (Ctrl = posição livre, Shift = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Arrastar: aprofundar ou achatar o arco, suas extremidades permanecem no lugar (Ctrl = posição livre) + + + Glisser : déplacer le point (Ctrl = position libre Arraste: mover o ponto (Ctrl = posição livre - + , Alt = créer des poignées , Alt = criar alças - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Arraste: deformar a curva (Ctrl = posição livre, Alt = quebrar a tangente) - + Ajouter un point à un polygone Adicionar um ponto a um polígono - + Supprimer un point d'un polygone Excluir um ponto de um polígono - + Ajouter un point à une courbe Adicionar um ponto a uma curva - + Supprimer un point d'une courbe Excluir um ponto de uma curva - + Convertir %1 en courbe de Bézier Converter %1 em curva de Bézier - + Convertir %1 en polyligne Converter %1 em polilinha - + Miroir impossible : inclinaison trop extrême pour cette forme Espelhamento impossível: inclinação extrema demais para esta forma - + Miroir horizontal de %1 Espelhamento horizontal de %1 - + Miroir vertical de %1 Espelhamento vertical de %1 - + Modifier le type d'un nœud Alterar o tipo de um nó - + Redimensionner %1 Redimensionar %1 - + Faire pivoter %1 Girar %1 - + Incliner %1 Inclinar %1 - + Deplacer le centre de rotation Mover o centro de rotação - + Arrondir les coins d'%1 Arredondar os cantos de %1 - + Modifier l'angle d'un arc Alterar o ângulo de um arco - - + + Modifier la courbure d'un arc + Modificar a curvatura de um arco + + + + Modifier la forme d'%1 Alterar a forma de %1 - + Modifier la courbure d'%1 Alterar a curvatura de %1 - + Modifier %1 Editar %1 - + une ligne uma linha - + un rectangle um retângulo - + une éllipse uma elipse - + un arc um arco - + une polyligne uma linha poligonal - + une courbe uma curva - + une shape uma forma @@ -13405,7 +15592,7 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor Texto da legenda - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? O elemento « %1 » já existe. O que você deseja fazer? @@ -13413,31 +15600,75 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor RenumberElementsDialog - + Renumber element(s) Renumerar elemento(s) - + Scope Escopo - + All schemes Todos os diagramas - + One scheme Um diagrama - + Scheme: Diagrama: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + %n elemento mantém o nome que tem. + %n elementos mantêm o nome que têm. + + + + + %n élément(s) restent comme ils sont. + + %n elemento permanece como está. + %n elementos permanecem como estão. + + + + + Folio + Página + + + + Élément + Elemento + + + + Nom actuel + Nome atual + + + + Nouveau nom + Novo nome + + + + (figé) + (congelado) + + ReplaceConductorDialog @@ -13461,9 +15692,9 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor - - - + + + Ne pas modifier Não modifique @@ -13583,97 +15814,97 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor fase - - + + Nombre de phase Número de fases - + Neutre Neutro - + neutre neutro - + Terre Terra - + terre terra - + TextLabel Rótulo - + PushButton Botão de apertar - + Apparence Aparência - + Taille : Tamanho: - - + + Couleur : Cor: - + Style : Estilo: - - + + Modifier Editar - + Couleur secondaire : Cor secundária: - + Taille de trait : Tamanho da linha: - + px px - + Trait plein conductor style: solid line Linha contínua - + Trait en pointillés conductor style: dashed line Linha pontilhada - + Traits et points conductor style: dashed and dotted line Pontos e traços @@ -13682,7 +15913,7 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor ReplaceElementDialog - + Ne pas modifier Não modifique @@ -13724,10 +15955,10 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor - - - - + + + + Ne pas modifier Não modifique @@ -13787,12 +16018,12 @@ Adicione uma nova tabela ou ajuste a tabela existente para exibir todas as infor Aplicar a data atual - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponível como %plant para os modelos de legenda</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13805,33 +16036,33 @@ As seguintes variáveis são utilizáveis: - %autonum : Autonumeração da página - + Disponible en tant que %locmach pour les modèles de cartouches Disponível como %locmach para modelos de bloco de legenda - + Titre : Título: - - - - - - - + + + + + + + Supprimer ce texte Excluir este texto - + Personnalisées Personalizados - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Você pode definir aqui as suas próprias associações de nomes/valores para que sejam levados em conta pelo bloco de legenda. Exemplo: @@ -13870,6 +16101,189 @@ Crie seu próprio texto usando as seguintes variáveis: %c : o número da coluna + + ScriptManagerDialog + + + + + Gérer les scripts + Gerenciar os scripts + + + + &Nouveau + &Novo + + + + Supp&rimer + Excl&uir + + + + Le texte du bouton + O texto do botão + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + vazio: as iniciais do nome; builtin:<nome>: um ícone do tema + + + + Choisir une image (SVG ou PNG)… + Escolher uma imagem (SVG ou PNG)… + + + + Toujours + Sempre + + + + Avec une sélection + Com uma seleção + + + + Avec un conducteur sélectionné + Com um condutor selecionado + + + + Nom : + Nome: + + + + Icône : + Ícone: + + + + Info-bulle : + Dica: + + + + Raccourci : + Atalho: + + + + Actif : + Ativo: + + + + &Tester + &Testar + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Salva e depois executa o script no projeto atual (Ctrl+Z desfaz a execução) + + + + &Enregistrer + &Salvar + + + + Ouvrir le &dossier + Abrir a &pasta + + + + &Fermer + &Fechar + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Script (o objeto qet; qet.currentFolio() é a página exibida): + + + + Pas de bouton : %1 + Sem botão: %1 + + + + Pas de bouton pour ce fichier : %1 + Sem botão para este arquivo: %1 + + + + Nouveau script + Novo script + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() é a página exibida; um clique se desfaz +// com um único Ctrl+Z. Lista de chamadas: qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texto", 40, 40); + + + + + Pas encore enregistré + Ainda não salvo + + + + Le script doit avoir un nom. + O script deve ter um nome. + + + + Non enregistré : %1 + Não salvo: %1 + + + + Impossible d'écrire %1 + Não foi possível gravar %1 + + + + Supprimer le script + Excluir o script + + + + Supprimer « %1 » et son bouton ? + Excluir “%1” e seu botão? + + + + Icône du script + Ícone do script + + + + Images (*.svg *.png) + Imagens (*.svg *.png) + + + + Impossible de copier %1 + Não foi possível copiar %1 + + + + Le script affiché n'est pas enregistré. Enregistrer ? + O script exibido não está salvo. Salvar? + + SearchAndReplaceWidget @@ -13883,42 +16297,42 @@ Crie seu próprio texto usando as seguintes variáveis: Ir para a próxima ocorrência - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Mostrar opções avançadas</p></body></html> - + Aller à la correspondance précédente Ir para a ocorrência anterior - + Quitter Sair - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Defina as propriedades a serem substituídas nos elementos</p></body></html> - + Champ texte de folio Campo de texto em página - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Defina as propriedades a serem substituídas nos condutores</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Defina as propriedades a serem substituídas nas páginas</p></body></html> - + Folio Página @@ -13943,42 +16357,42 @@ Crie seu próprio texto usando as seguintes variáveis: Diferencia maiúsculas de minúsculas - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Substitua a correspondência selecionada</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Substitua correspondências marcadas </p></body></html> - + avancé avançado - + Élément Elemento - + Conducteur Condutor - + Remplacer : Substituir: - + Remplacer Substituir - + Tout remplacer Substituir tudo @@ -13988,105 +16402,105 @@ Crie seu próprio texto usando as seguintes variáveis: Procurar: - + Actualiser Atualizar - + Correspondance : Correspondência: - + Folios Páginas - + Champs texte Campos do texto - + Eléments Elementos - + Eléments simple Elementos simples - + Eléments maître Elemento mestre - + Eléments esclave Elemento escravo - + Eléments report de folio Elementos de transporte de página - + Eléments bornier Elementos do bloco de terminais - + Sélectionner les éléments de ce folio Selecione os elementos desta página - + Sélectionner les conducteurs de ce folio Selecione os condutores desta página - + Sélectionner les textes de ce folio Selecione os textos desta página - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [editado] - + Conducteurs Condutores - + Inconnue Desconhecido @@ -14114,53 +16528,81 @@ Crie seu próprio texto usando as seguintes variáveis: Excluir a numeração - + Définition Definição - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Excluir uma variável de numeração</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Adicionar uma variável de numeração</p></body></html> - Précédent - Anterior + Anterior - Suivant - Próxima + Próxima - + Type Tipo - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + Para um número: o próximo número atribuído. Para um texto: o texto fixo. + + + Valeur Valor - + Incrémentation Incrementação - + + Annuler + Cancelar + + + + Revenir à la définition enregistrée + Voltar à definição salva + + + + Monter cette variable + Mover esta variável para cima + + + + Descendre cette variable + Mover esta variável para baixo + + + + Supprimer cette variable + Excluir esta variável + + + Folio Autonumérotation title window Autonumeração da página - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14188,7 +16630,7 @@ O campo "Incremento" não é usado. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14226,13 +16668,13 @@ Os outros campos não são utilizados. Os outros campos não são utilizados. - + Element Autonumérotation title window Autonumeração de elementos - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14271,7 +16713,17 @@ Os outros campos não são usados. Os outros campos não são usados. - + + Nouvelle numérotation… + Nova numeração… + + + + Renommer la numérotation… + Renomear a numeração… + + + Conducteur Autonumérotation title window Autonumeração do Condutor @@ -14359,13 +16811,13 @@ Os outros campos não são usados. Largeur - Largura + Largura Hauteur - Altura + Altura @@ -16665,12 +19117,12 @@ Os outros campos não são usados. Informações a serem exibidas - + Configuration Configuração - + Requête SQL : Consulta SQL: @@ -16680,6 +19132,18 @@ Os outros campos não são usados. Posição + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + Este terminal já tem %n condutor, o limite do projeto. Adicione um terminal para conectar mais um condutor. + Este terminal já tem %n condutores, o limite do projeto. Adicione um terminal para conectar mais um condutor. + + + TerminalEditor @@ -17014,58 +19478,58 @@ Os outros campos não são usados. Arranjo - + Ponter les bornes Pontear os terminais - + Déponter les bornes Remover ponte dos terminais - + Propriétés Propriedades - + Nom : Nome: - + Commentaire : Comentário: - + Description Descrição - + Installation : Instalação: - + Localisation : Localização: - + Type : Tipo: - + Degrouper les bornes Desagrupar terminais - - + + Générique Genérico @@ -17080,62 +19544,62 @@ Os outros campos não são usados. Efetuar o deslocamento - + Couleur pont : Cor da ponte: - + Fusible Fusível - + Sectionnable Secionável - + Diode Diodo - + Terre Terra - + Déplacer dans : Mover para: - + Phase Fase - + Neutre Neutro - + Position automatique Posição automática - + Étage : Estágio: - + Grouper les bornes Agrupar os terminais - + Fonction : Função: @@ -17150,7 +19614,7 @@ Os outros campos não são usados. Com - + LED : LED: @@ -17178,32 +19642,32 @@ Os outros campos não são usados. Barra de ferramentas - + Ajouter un bornier Adicionar um bloco de terminais - + Ajouter un bornier au projet Adicionar uma régua de terminais ao projeto - + Supprimer le bornier Excluir bloco de terminais - + Supprimer le bornier du projet Excluir régua de terminais do projeto - + Recharger Recarregar - + Recharger les borniers Recarregue os terminais @@ -17433,12 +19897,12 @@ Os outros campos não são usados. Explorador de terminais - + Projet sans titre Projeto sem título - + Bornes indépendante Terminais independentes @@ -17541,7 +20005,7 @@ Os outros campos não são usados. Baixar - + Dossier installation Pasta de instalação @@ -17549,37 +20013,37 @@ Os outros campos não são usados. TitleBlockDimensionWidget - + Largeur : default dialog label Largura: - + Absolu a traditional, absolute measure Absoluto - + Relatif au total a percentage of the total width Relativo ao total - + Relatif au restant a percentage of what remains from the total width Relativo ao restante - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17603,77 +20067,77 @@ Os outros campos não são usados. Modelo: - + Principales Principais - + Auteur : Autor: - + Disponible en tant que %locmach pour les modèles de cartouches Disponível como %locmach para modelos de bloco de legenda - + Pas de date Sem data - + Date courante Data atual - + Appliquer la date actuelle Aplicar a data atual - + Disponible en tant que %date pour les modèles de cartouches Disponível como %date para os modelos de bloco de legenda - + Date fixe : Data fixa: - + Date : Data: - + Fichier : Arquivo: - + Disponible en tant que %title pour les modèles de cartouches Disponível como %title para os modelos de bloco de legenda - + Titre : Título: - + Disponible en tant que %author pour les modèles de cartouches Disponível como %author para os modelos de bloco de legenda - + Folio : Página: - + Disponible en tant que %filename pour les modèles de cartouches Disponível como %filename para os modelos de bloco de legenda @@ -17683,17 +20147,17 @@ Os outros campos não são usados. <html><head/><body><p>Exibir o bloco de legenda embaixo (horizontalmente) ou à direita (verticalmente) da página.</p></body></html> - + Indice Rev: Índice de Rev: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Disponível como uma %plant para modelos de legenda </p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17706,62 +20170,63 @@ As seguintes variáveis são utilizáveis: - %autonum: Autonumeração da página - + Page Num: Nº Pág: - + Installation : Instalação: - + Disponible en tant que %indexrev pour les modèles de cartouches Disponível como %indexrev para modelos de blocos de legenda - + Localisation: Localização: - + Personnalisées Personalizados - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Você pode definir aqui as suas próprias associações de nomes/valores para que sejam levados em conta pelo bloco de legenda. Exemplo: associar o nome "variável_personalizada" e o valor "1745" vai resultar na substituição de %{variável_personalizada} por 1745 dentro do bloco de legenda. - + Éditer ce modèle menu entry Editar o modelo - + Dupliquer et éditer ce modèle menu entry Duplicar e editar este modelo - + Title block templates actions Ações dos modelos dos blocos de título - - + + + Créer un Folio Numérotation Auto Criar uma autonumeração da página - + Modèle par défaut Modelo padrão @@ -17769,13 +20234,13 @@ associar o nome "variável_personalizada" e o valor "1745" v TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18279,50 +20744,50 @@ associar o nome "variável_personalizada" e o valor "1745" v WiringListDialog - + Liste de câblage window title Lista de fiação - + Fil column title Fio - + Composant 1 column title - Componente 1 - - - - Borne 1 - column title - Terminal 1 + Componente 1 - Composant 2 + Borne 1 column title - Componente 2 + Terminal 1 - Borne 2 + Composant 2 column title - Terminal 2 + Componente 2 + Borne 2 + column title + Terminal 2 + + + Folio column title - Página + Página - - + + %n conducteur(s) listé(s). wiring list summary @@ -18331,7 +20796,7 @@ associar o nome "variável_personalizada" e o valor "1745" v - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18343,96 +20808,115 @@ associar o nome "variável_personalizada" e o valor "1745" v WiringListExport - - + + Erreur Erro - + Impossible de lire la structure en mémoire du projet. Não foi possível ler a estrutura do projeto na memória. - + Exporter le plan de câblage Exportar o plano de fiação - + Fichiers CSV (*.csv) Arquivos CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Não foi possível abrir o arquivo para gravação. - + Page Wiring list CSV header Página - + Composant 1 Wiring list CSV header Componente 1 - + Borne 1 Wiring list CSV header Terminal 1 - + Composant 2 Wiring list CSV header Componente 2 - + Borne 2 Wiring list CSV header Terminal 2 - + Tension / Protocole Wiring list CSV header Tensão / Protocolo - + Couleur du fil Wiring list CSV header Cor do cabo - + Section du fil Wiring list CSV header Seção do cabo - + Fonction Wiring list CSV header Função - + + Câble + Wiring list CSV header + Cabo + + + Export réussi Exportação concluída - + Le plan de câblage a été exporté avec succès ! O plano de fiação foi exportado com sucesso! + + WiringRulesWarning + + + Avertissement + Aviso + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + <b>As regras de condutores por terminal são um recurso experimental.</b><br><br>Elas contam os condutores como o QElectroTech os representa hoje. Elas poderão mudar, e suas configurações talvez precisem ser refeitas, se os fios e os condutores se tornarem objetos distintos em uma versão futura.<br><br>Todas estas regras podem ser desativadas em Configurar QElectroTech > Geral. + + XRefPropertiesWidget @@ -18646,27 +21130,27 @@ associar o nome "variável_personalizada" e o valor "1745" v projectDataBase - + La requête est vide. A consulta está vazia. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). Apenas uma consulta SELECT é permitida (o caractere ';' só pode aparecer no final). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. Somente consultas de leitura (SELECT ou WITH ... SELECT) são permitidas. - + Exporter la base de données interne du projet Exportar o banco de dados interno do projeto - + sans_nom Sem Nome @@ -18674,7 +21158,7 @@ associar o nome "variável_personalizada" e o valor "1745" v qdesigner_internal::ColorAction - + Text Color Cor do texto @@ -18682,7 +21166,7 @@ associar o nome "variável_personalizada" e o valor "1745" v qdesigner_internal::HtmlTextEdit - + Insert HTML entity Inserir entidade HTML @@ -18690,27 +21174,27 @@ associar o nome "variável_personalizada" e o valor "1745" v qdesigner_internal::RichTextEditorDialog - + Edit text Editar o texto - + Rich Text Rich Text - + Source Origem - + &OK &OK - + &Cancel &Cancelar @@ -18718,69 +21202,69 @@ associar o nome "variável_personalizada" e o valor "1745" v qdesigner_internal::RichTextEditorToolBar - + Texte en gras Texto em negrito - - - + + + Éditeur de texte Editor de texto - + Texte en italique Texto em itálico - + Texte souligé Texto sublinhado - + Left Align Alinhar à esquerda - + Center Centralizar - + Right Align Alinhar à direita - + Justify Justificar - + Superscript Sobrescrito - + Subscript Subscrito - + Insérer un lien Inserir uma linha - + Insert &Image Inserir &Imagem - + Simplify Rich Text Simplificar Rich Text diff --git a/lang/qet_ro.ts b/lang/qet_ro.ts index 568faafac..cb5c4d147 100644 --- a/lang/qet_ro.ts +++ b/lang/qet_ro.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectrotech, o aplicaţie pentru realizarea schemelor electrice. - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale Ideea originală - - + - - + + + Développement Dezvoltare - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol Traducerea în spaniolă - + Traduction en russe Traducerea în rusă - + Traduction en portugais Traducerea în portugheză - + Traduction en tchèque Traducerea în cehă - + Traduction en polonais Traducerea în poloneză - + Traduction en allemand Traducerea în germană - + Traduction en roumain Traducerea în română - + Traduction en italien Traducerea în italiană - + Traduction en arabe Traducerea în arabă - + Traduction en croate Traducerea în croată - + Traduction en catalan Traducerea în catalană - + Traduction en grec Traducerea în greacă - + Traduction en néerlandais Traducerea în olandeză - + Traduction en flamand Traducerea în flamandă - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat Pachete Fedora și Red Hat - + Paquets Mageia Pachete Mageia - + Paquets Debian Pachete pentru Debian - + Paquets Gentoo Pachete Gentoo - + Paquets OS/2 Pachete OS/2 - + Paquets FreeBSD Pachete FreeBSD - + Paquets MAC OS X Pachete MAC OS X - + Paquets Archlinux AUR Pachete Archlinux AUR - + Icônes Pictograme - + Documentation Documentație - + Collection d'éléments Colecție de elemente - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Unghi: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur Conductor - + Configurer les règles d'auto numérotation - + Configurer @@ -573,10 +734,92 @@ Folio - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1034,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Previzualizare - + nomenclature_ listă componente_ - + Enregister sous... Salvează ca... - + Fichiers csv (*.csv) Fișiere csv (*.csv) - - + + Erreur Eroare - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1115,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1182,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1213,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1222,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1237,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir Negru - + Marron - + Gris Gri - + Bleu Albastru - + Vert Verde - + Rouge Roșu - + Orange - + Violet - + Blanc Alb - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -995,7 +1313,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1013,13 +1331,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Aplică proprietățile tuturor conductorilor cu acest potențial - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1028,24 +1346,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Aplică proprietățile tuturor conductorilor cu acest potențial + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Conductor @@ -1059,12 +1387,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte Text - - + + Unifilaire Monofilar @@ -1080,6 +1409,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible Text vizibil @@ -1089,35 +1419,52 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Activează opțiunea un text pe potențial - + phase faza - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Linie continuă - + Trait en pointillés conductor style: dashed line Linie punctată - + Traits et points conductor style: dashed and dotted line Puncte și linii - + terre împământare - + neutre nul @@ -1198,101 +1545,101 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Editare numerotare - + Formule du texte : - + cable - + bus - - + + Nombre de phase Număr de faze - + Neutre Neutru - + Phase Faze - + Protective Earth Neutral Împământare neutră de protecție - + PEN PEN - + Terre Împământare - + TextLabel Text etichetă - + Taille : - - + + Style du conducteur Stil conductor - + Couleur secondaire : - + Taille de trait : - + px px - + Couleur du conducteur Culoare conductor - + Apparence Aspect - - + + Couleur : Culoare : - + Style : Stil : @@ -1313,128 +1660,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Tip - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Anulează - + Normalement ouvert Normal deschis - + Normalement fermé Normal închis - + Inverseur Inversor - + Autre - - + + Inconnu - + Simple Simplu - + Puissance Putere - + Temporisé travail Comutare temporizată - + Temporisé repos Temporizare pauză - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1464,27 +1836,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Eroare - + Impossible d'écrire dans le fichier « %1 ». @@ -1492,7 +1864,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1632,7 +2004,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1649,262 +2021,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image o imagine - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Selectați o imagine... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Eroare - + Impossible de charger l'image. Nu se poate încărca imaginea. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1912,7 +2352,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1921,12 +2361,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Mențineți ctrl apăsat pentru mișcare liberă - + <Shift> to move @@ -1935,78 +2375,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Aceasta este zona în care concepeți schemele dumneavoastră prin adăugarea elementelor și conductorilor între terminale. De asemenea puteți adăuga texte independente. - + Coller ici context menu action Lipește aici - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams Nedenumit - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Eroare - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur Alegeți noua culoare pentru acest conductor @@ -2024,7 +2470,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Titlu - + TextLabel Text etichetă @@ -2032,42 +2478,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Sus - + Bas Dedesubt - + Gauche Stânga - + Droite Dreapta - + Direction : @@ -2075,17 +2521,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2104,30 +2550,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2339,21 +2785,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Stânga - + Droite Dreapta - + Centre @@ -2452,64 +2898,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2517,32 +2963,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche Stânga - + Centre - + Droite Dreapta @@ -2550,12 +2996,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2596,153 +3042,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Deschide un element - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Alegeți elementul pe care doriți să-l deschideți. - + Enregistrer un élément dialog title Salvați un element - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Selectați elementul în care vreți să salvați definiția. - + Ouvrir une catégorie dialog title Deschide o categorie - - + + Choisissez une catégorie. dialog content Alegeți o categorie. - + Enregistrer une catégorie dialog title Salvează o categorie - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Titlu - + Label Etichetă - + Nom du nouveau template - + Nom du nouveau dossier - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Selecția inexistentă - + La sélection n'existe pas. message box content Selecția nu există. - - + + Sélection incorrecte message box title Selecție incorectă - + La sélection n'est pas un élément. message box content Selecția nu este un element. - + Écraser l'élément ? message box title Se suprascrie elementul? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Elementul există deja. Doriti sa fie suprascris ? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2766,12 +3285,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2789,104 +3314,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Informații - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Anulează - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2902,8 +3537,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Tip @@ -2986,8 +3621,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3017,302 +3652,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple Simplu - + Maître Master - + Esclave Sclav - + Renvoi de folio suivant Referință folio următoare - + Renvoi de folio précédent Referință folio anterioară - + Bornier Bloc terminal - + Vignette - + Définition de conducteur - - + + Normalement ouvert Normal deschis - - + + Normalement fermé Normal închis - - + + Inverseur Inversor - + Other - + Esclave PLC - - + + Puissance Putere - - + + Temporisé travail Comutare temporizată - - + + Temporisé repos Temporizare pauză - - + + Temporisé travail & repos - + Bobine Bobină - + Organe de protection Organ de protecție - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase Faze - + Neutre Neutru - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Comentariu - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Nimic - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Împământare @@ -3326,7 +3961,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3454,249 +4089,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter Exportă - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Eroare - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3704,29 +4339,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title Editați informația despre autor - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Puteți utiliza acest câmp pentru a menționa autorii elementului, licența acestuia sau toate celelalte informații pe care le considerați utile. - + Éditer les noms window title Editați denumirile - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Puteți specifica numele elementului in mai multe limbi. @@ -3734,101 +4369,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title Categorie inexistentă - + La catégorie demandée n'existe pas. Abandon. message box content Categoria solicitată nu există. Se abandonează. - + Éditer une catégorie window title Editați o categorie - + Créer une nouvelle catégorie window title Creează o noua categorie - + Nom de la nouvelle catégorie default name when creating a new category Numele noii categorii - + Édition en lecture seule message box title Editare în mod doar citire - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Nu aveti dreptul pentru modificarea acestei categorii. Va fi deschisă în mod doar citire. - + Nom interne : Nume intern : - + Vous pouvez spécifier un nom par langue pour la catégorie. Puteți adăuga un nume pe limbă pentru categorie. - + Nom interne manquant message box title Numele intern lipsește - + Vous devez spécifier un nom interne. message box content Trebuie să specificați un nume intern. - + Nom interne déjà utilisé message box title Numele intern este deja utilizat - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Numele intern pe care l-ați ales este deja utilizat de o altă categorie. Alegeți un alt nume. - + Erreur message box title Eroare - + Impossible de créer la catégorie message box content Nu se poate crea categoria @@ -3837,122 +4472,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Deschide dosarul corespunzător - + Éditer l'élément Editare element - + Supprimer l'élément Șterge elementul - + Supprimer le dossier - + Recharger les collections Reâncarcă colecțiile - + Éditer le dossier - + Nouveau dossier - + Nouvel élément Element nou - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title Se șterge elementul? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title Se șterge elementul - + La suppression de l'élément a échoué. message box content A eșuat ștergerea elementului. - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3968,43 +4603,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4013,7 +4648,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4022,32 +4657,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4117,124 +4752,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Deschide dosarul corespunzător - + Copier le chemin Copiază calea întreagă - + Basculer vers ce projet Activează acest proiect - + Fermer ce projet Închide acest proiect - + Propriétés du projet Proprietățile proiectului - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle Model nou - + Éditer ce modèle Editează acest model - + Supprimer ce modèle Șterge acest model - - + + Panneau des éléments - + Filtrer @@ -4280,7 +4915,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Export @@ -4289,102 +4924,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter Exportă - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher Selectează tot - + Tout décocher Deselectează tot - + Titre du folio - + Nom de fichier Nume fișier - + Dimensions Dimensiuni - + Noms des fichiers cibles message box title Numele fișierelor țintă - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title Dosarul nu este specificat - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Trebuie să specificați calea dosarului în care vor fi salvate fișierele imagine. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Nu se poate scrie în acest fișier - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Se pare că nu aveți permisiunile necesare pentru a scrie în fișierul %1. - + Aperçu Previzualizare - - + + px px @@ -4648,63 +5283,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre Împământare - + Phase Faze - + Neutre Neutru - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4712,27 +5357,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Etichetă - + Référence croisé - + Type Tip - + Fonction - + led @@ -4755,22 +5400,22 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets Proiecte @@ -4780,7 +5425,7 @@ that you create. Text and number inputs are Utilizează gesturi touchpad - + Mettre en valeur dans le panel les éléments fraîchement intégrés Evidențiază elementele integrate recent în panou @@ -4790,109 +5435,110 @@ that you create. Text and number inputs are Formular - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4907,445 +5553,658 @@ that you create. Text and number inputs are - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments Administrare elemente - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : Font : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title General - + Système Sistem - + Arabe Arabă - + Brézilien - + Catalan Catalană - + Tchèque Cehă - + Allemand Germană - + Danois - + Grec Greacă - + Anglais Engleză - + Espagnol Spaniolă - + Français Franceză - + Croate Croată - + Italien Italiană - + Japonais - + Coréen - + Polonais Poloneză - + Portugais Portugheză - + Roumains Română - + Russe Rusă - + Slovène Slovenă - + Pays-Bas Olandeză - + Norvege - + Belgique-Flemish Belgiană-flamandă - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Fișiere csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5400,7 +6259,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] %1 [nu sunt utilizate în proiect] @@ -5657,42 +6516,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Previzualizare - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5879,28 +6738,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6143,6 +7002,97 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Desfă + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6189,7 +7139,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6294,7 +7244,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6304,6 +7254,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Anulează + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Anulează + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6353,10 +7455,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6366,7 +7473,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6394,7 +7501,7 @@ Voulez-vous tout de même lier ce contact esclave ? Adaugă o linie - + Copier dans le presse papier @@ -6452,13 +7559,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title Proiect nou @@ -6733,13 +7840,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6799,25 +7906,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6826,32 +7952,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6957,12 +8083,12 @@ Voulez-vous tout de même lier ce contact esclave ? Poligon închis - + Ajouter un point - + Supprimer ce point @@ -7014,54 +8140,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7070,23 +8196,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7094,10 +8220,108 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + Șterge + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Tipărește @@ -7106,155 +8330,365 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom + Nume + + + + Folio + Folio + + + + Élément + Element + + + + Figé - - Numérotation auto des folios + + Attribuer un numéro libre… - - Importer depuis un autre projet... - - - - - Reprendre les numérotations automatiques enregistrées dans un autre projet - - - - - - - - - - - Sans nom - Fără nume - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + Șterge numerotarea + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Sans nom + Fără nume + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - - - - - - - - - Nom de la nouvelle numérotation - Numele noii numerotări + Numele noii numerotări ProjectDBModel - + Position - + Position du folio @@ -7273,50 +8707,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title General - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7360,137 +8878,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre Desenează cadrul - + Dessiner le cartouche Desenează cartușul - + Conserver les couleurs des conducteurs Păstrează culorile conductorilor - + Dessiner les bornes Desenează bornele - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille Utilizează toată pagina - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur Potrivește lățimea - + Ajuster la page Potrivește pagina - + Zoom arrière Scade zoom - + Zoom avant Mărește zoom - + Paysage Peisaj - + Portrait Portret - + Première page Prima pagină - + Page précédente Pagina anterioară - + Page suivante Pagina următoare - + Dernière page Ultima pagină - + Afficher une seule page - + Afficher deux pages Afișează două pagini - + Afficher un aperçu de toutes les pages Afișează o previzualizare cu toate paginile - + mise en page @@ -7668,238 +9186,274 @@ Doriți să se salveze modificările ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Se încarcă... Se inițializează cache colecție elemente - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption Se încarcă... Se deschid fișiere - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Cartușe QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Cartușe utilizator - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schemă - + Electrique Normal example text - translate length, not meaning Electric - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Configurare QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Eroare + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Se încarcă... - + Chargement... icône du systray splash screen caption Se încarcă... Pictograma din bara de sistem - + QElectroTech systray menu title QElectroTech - + &Quitter &Termină - + &Masquer &Ascunde - + &Restaurer &Arată - + &Masquer tous les éditeurs de schéma &Ascunde editoarele de schemă - + &Restaurer tous les éditeurs de schéma &Arată toate editoarele de schemă - + &Masquer tous les éditeurs d'élément &Ascunde toate editoarele de elemente - + &Restaurer tous les éditeurs d'élément &Arată toate editoarele de elemente - + &Masquer tous les éditeurs de cartouche systray submenu entry &Ascunde toate editoarele de cartuș - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Arată toate editoarele de cartuș - + &Nouvel éditeur de schéma Editor de schemă &nou - + &Nouvel éditeur d'élément Editor de element &nou - + Ferme l'application QElectroTech Închide aplicația QElectroTech - + Réduire QElectroTech dans le systray Minimizează QElectroTech în bara de sistem - + Restaurer QElectroTech Restaurează QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Editoare de schemă - + Éditeurs d'élément Editoare element - + Éditeurs de cartouche systray menu entry Editoare cartuș - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Utilizare : - + [options] [fichier]... @@ -7908,7 +9462,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7925,32 +9479,32 @@ Opțiuni disponibile: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Definește dosarul colecției de elemente - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Definește dosarul colecției de cartușe - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Definește dosarul de configurare - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --config-dir=DIR Definește dosarul care conține fișierele de limbă @@ -7959,1102 +9513,1369 @@ Opțiuni disponibile: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title Anulări - + Aucune modification Nici o modificare - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Apăsați pe o acțiune pentru a reveni la modificările efectuate schemei - + &Nouveau &Nou - + &Ouvrir &Deschide - + + &Fermer &Închide - + &Enregistrer &Salvează - + Enregistrer sous Salvează ca - + E&xporter E&xportă - + Imprimer Tipărește - + &Quitter &Termină - + Annuler Anulează - + Refaire Refă - + Co&uper Ta&ie - + Cop&ier Cop&iază - + C&oller Li&pește - + Ajouter une ligne Add row Adaugă o linie - + Enlever une ligne Remove row Elimină un rând - + Tout sélectionner Selectează tot - + Désélectionner tout Deselectează tot - + Inverser la sélection Inversează selecția - + Profondeur toolbar title Adâncime - + Supprimer Șterge - + Pivoter Rotește - + Orienter les textes Orientare texte - + Retrouver dans le panel Găsește în panou - + Réinitialiser les conducteurs Reinițializarea conductorilor - + Ajouter un champ de texte Adaugă un câmp text - + Ajouter une colonne Adaugă o coloană - + Ajouter une image Adaugă o imagine - + Enlever une colonne Elimină o coloană - + Propriétés du projet Proprietățile proiectului - + Nettoyer le projet Curăță proiectul - + Ajouter un sommaire Adaugă un rezumat - + Zoom avant Mărește zoom - + Zoom arrière Scade zoom - + Zoom sur le contenu Focalizare pe conținut - + Zoom adapté Potrivește zoom - + Pas de zoom Fără zoom - + en utilisant des onglets utilizând file - + en utilisant des fenêtres utilizând ferestre - + Mode Selection Mod Selectare - + Mode Visualisation Mod Vizualizare - + &Mosaïque &Mozaic - + &Cascade &Cascadă - + Projet suivant Proiectul următor - + Projet précédent Proiectul anterior - + Ajouter un rectangle Adaugă un dreptunghi - + Ajouter une ellipse Adaugă o elipsă - + Retrouve l'élément sélectionné dans le panel status bar tip Găsește în panou elementul selectat - - + + Projet %1 enregistré dans le repertoire: %2. Proiect %1 înregistrat în director: %2. - - + + Impossible d'ouvrir le fichier message box title Nu se poate deschide fișierul - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Se pare că fișierul %1 pe care încercați să-l deschideți nu există sau nu mai există. - + Ouverture du projet en lecture seule message box title Deschide proiectul numai pentru citire - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Eroare - + Ferme l'application QElectroTech status bar tip Închide aplicația QElectroTech - + Annule l'action précédente status bar tip Anlează acțiunea precedentă - + Restaure l'action annulée status bar tip Refă acțiunea anulată - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Transferă elementele selectate în memoria tampon - + Copie les éléments sélectionnés dans le presse-papier status bar tip Copiază elementele selectate în memoria tampon - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Deselectează elementele selectate și selectează-le pe cele neselectate - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Recalculează calea conductorilor, ignorând modificările - + Pivote les éléments et textes sélectionnés status bar tip Rotește elementele și textele selectate - + Éditer l'item sélectionné Editează elementul selectat - + Pivote les textes sélectionnés à un angle précis status bar tip Rotește textele selectate la un unghi specificat - + Création automatique de conducteur(s) Tool tip of auto conductor Creează automat conductor(i) - + Projets dock title Proiecte - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Utilizează crearea automată a conductorilor când este posibil - + Restaure le zoom par défaut status bar tip Revenino la factorul de zoom implicit - + Ajouter une ligne Draw line Adaugă o linie - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Prezentați diferitele proiecte deschise în ferestre - + Présente les différents projets ouverts des onglets status bar tip Prezentați diferitele proiecte deschise în file - + Permet de sélectionner les éléments status bar tip Permite selectarea elementelor - + Dispose les fenêtres en mosaïque status bar tip Dispune ferestrele în mozaic - + Collections - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Afișează + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Referință încrucișată + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Ajouter un folio - - - + + + Supprimer le folio - + Exporter au format CSV - + Ajouter une nomenclature - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + Dispose les fenêtres en cascade status bar tip Dispune ferestrele în cascadă - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Active le projet suivant status bar tip Activează proiectul următor - + Active le projet précédent status bar tip Activează proiectul anterior - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Pivoter le groupe - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + + Scripts + toolbar title + + + + &Fichier &Fișier - + &Édition &Editare - + &Projet &Proiect - + Afficha&ge Afișa&re - + Fe&nêtres Feres&tre - + &Récemment ouverts Deschise &recent - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Afișează sau nu bara de unelte principală - + Affiche ou non la barre d'outils Affichage Afișează sau nu bara de unelte Vizualizare - + Affiche ou non la barre d'outils Schéma Afișează sau nu bara de unelte Schemă - + Affiche ou non le panel d'appareils Afișează sau nu panoul de aparate - + Affiche ou non la liste des modifications Afișează sau nu lista modificărilor - + Afficher les projets Afișează proiectele - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9063,7 +10884,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9072,7 +10893,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9081,18 +10902,18 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9101,93 +10922,194 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 - + Outils Unelte - + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Affichage Vizualizare - + Schéma Schemă - + Ajouter Adaugă - + Ouvrir un fichier Deschide un fișier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Se pare că fișierul pe care încercați să-l deschideți nu este accesibil pentru citire. Este, în consecință, imposiibil de deschis. Verificați permisiunile asupra fișierului. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Se pare că proiectul pe care încercați să-l deschideți nu este accesibil pentru scriere. Va fi deschis numai pentru citire. - - + + Échec de l'ouverture du projet message box title Nu se poate deschide proiectul - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Se pare că fișierul %1 nu este un proiect QElectroTech. În consecință, nu a putut fi deschis. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9197,7 +11119,7 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9207,29 +11129,29 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Polices du projet message box title - + Suppression de borne impossible - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - + Groupe - + %n objet(s) remis sur la grille @@ -9238,12 +11160,12 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + La sélection est déjà sur la grille - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9252,31 +11174,31 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Editare element - + Éditer le champ de texte edit text field Editare câmp text - + Éditer l'image edit image Editare imagine - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item Editează obiectele selectate @@ -9285,42 +11207,42 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QETElementEditor - + &Nouveau &Nou - + &Ouvrir &Deschide - + &Ouvrir depuis un fichier &Deschide dintr-un fișier - + &Enregistrer &Salvează - + Enregistrer sous Salvează ca - + Enregistrer dans un fichier Salvează într-un fișier - + Recharger Reâncarcă - + Tout sélectionner Selectează tot @@ -9330,263 +11252,263 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s QElectroTech - Editor de elemente - + &Aide &Ajutor - + Annulations Anulări - + Parties Componente - + Informations Informații - + Outils Unelte - + Affichage - + Élément Element - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout Deselectează tot - + Co&uper Ta&ie - + Cop&ier Cop&iază - + C&oller Li&pește - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech &Despre QElectrotech - + Affiche des informations sur QElectroTech Afișează informații despre QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt Despre &Qt - + Affiche des informations sur la bibliothèque Qt Afișează informații despre biblioteca Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection Inversează selecția - + &Supprimer &Șterge - + Zoom avant Mărește zoom - + Zoom arrière Scade zoom - + Zoom adapté Potrivește zoom - + Pas de zoom Fără zoom - + Éditer les informations sur l'auteur Editați informația despre autor - + Ajouter une ligne Adaugă o linie - + Ajouter un rectangle Adaugă un dreptunghi - + Ajouter une ellipse Adaugă o elipsă - + Ajouter un polygone Adaugă un poligon - + Ajouter du texte Adaugă text - + Ajouter un arc de cercle Adaugă un arc de cerc - + Ajouter une borne Adaugă o bornă - + Annuler Anulează - + Afficher menu entry Afișează - + Trop de primitives, liste non générée: %1 - + %n avertissement(s) warnings @@ -9596,125 +11518,125 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + <b>%1</b> : %2 warning title: warning description - + Refaire Refă - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) Elemente QElectroTech (*.elmt) - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Avertissement Avertisment - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Parties toolbar title Componente - + Profondeur toolbar title Adâncime - + Éditer le nom et les traductions de l'élément Editare nume și informație element - + Éditer les propriétés de l'élément Editare proprietăți element - + &Fichier &Fișier - + &Édition &Editare - + Afficha&ge Afișa&re - + Coller depuis... Lipește din... - + [Modifié] window title tag [Modificat] - + [lecture seule] window title tag [doar citire] - + Aucune modification Nici o modificare - + Éditeur d'éléments status bar message Editor de elemente - - + + %n partie(s) sélectionnée(s). %n componentă selectată. @@ -9723,35 +11645,35 @@ veuillez patienter durant l'import... - + Absence de borne warning title Lipsă borne - + Absence de borne Lipsă borne - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br> În lipsa bornei, elementul poate fi conectat la alte elemente prin intermediul conductorilor. - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Eroare</b> :<br>Rapoartele folio trebuie să aibă un singur terminal.<br><b>Soluția</b> :<br>Verificați care element nu are o singură bornă - + La vérification de cet élément a généré message box content Verificarea acestui element a generat - + %n erreur(s) errors @@ -9761,243 +11683,300 @@ veuillez patienter durant l'import... - + et și - + Erreurs Erori - + Avertissements Avertismente - + Le fichier %1 n'existe pas. message box content Fișierul %1 nu există. - - + + Impossible d'ouvrir le fichier %1. message box content Nu se poate deschide fișierul %1. - - + + Ce fichier n'est pas un document XML valide message box content Acest fișier nu este un document XML valid - - + + Erreur toolbar title Eroare - - + + Édition en lecture seule message box title Editare în mod doar citire - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Nu aveți drepturile necesare pentru modificarea acestui element. Va fi deschis în mod doar citire. - - + + Erreur message box title Eroare - + Impossible d'écrire dans ce fichier message box content Nu se poate scrie în acest fișier - + Impossible d'enregistrer l'élément message box content Nu se poate salva elementul - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + Impossible d'ouvrir le fichier message box title Fișierul nu poate fi deschis - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Se pare că fișierul %1 pe care încercați să-l deschideți nu există sau nu mai există. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title Reâncarcă elementul - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Ați făcut modificări pe acest element. Dacă îl reâncărcați, aceste modificări se vor pierde. Sigur doriți să reâncărcați acest element ? - - - + + + Echec de l'enregistrement A eșuat înregistrarea - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides A eșuat înregistrarea, condițiile nu sunt valide - + Enregistrer sous dialog title Salvează ca - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Elemente QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Se salvează elementul curent? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Doriți să salvați elementul %1 ? - + Ouvrir un fichier dialog title Deschide un fișier - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Elemente QElectroTech (*.elmt);;Fișiere XML (*.xml);;Toate fișierele (*) - - - - + + + + Élément inexistant. message box title Element inexistent. - - + + L'élément n'existe pas. message box content Elementul nu există. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Calea virtuală selectată nu corespunde nici unui element. @@ -10006,137 +11985,172 @@ condițiile nu sunt valide QETMainWindow - + &Configurer QElectroTech &Configurare QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Permite configurarea unor parametrii diferiți pentru QElectroTech - + À &propos de QElectroTech &Despre QElectrotech - + Affiche des informations sur QElectroTech status bar tip Afișează informații despre QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général General - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt Despre &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Afișează informații despre biblioteca Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Configurare - + &Aide window menu &Ajutor - + Sortir du &mode plein écran Ieșire &mode ecran complet - + Affiche QElectroTech en mode fenêtré status bar tip Afișează QElectroTech în mod fereastră - + Passer en &mode plein écran Schimbă în &mod ecran complet - + Affiche QElectroTech en mode plein écran status bar tip Afișează QElectroTech în mod ecran complet - + Afficher menu entry Afișează @@ -10145,52 +12159,52 @@ condițiile nu sunt valide QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name Proiect %1 - + Projet sans titre displayed title for a project-less, file-less project Proiect fără titlu - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [doar citire] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modificat] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10198,56 +12212,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message A intervenit o eroare în timpul introducerii modelului. - + Avertissement message box title Avertisment - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10615,8 +12629,8 @@ Que désirez vous faire ? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Atenție : elementul a fost salvat cu o versiune mai nouă de QElectroTech. @@ -10636,50 +12650,50 @@ Que désirez vous faire ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content șterge %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste lipește %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut taie %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content mută %1 - + modifier le texte undo caption modifică textul - + modifier un conducteur undo caption modifică un conductor - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Resetează %1 - + modifier les dimensions du folio undo caption @@ -10823,32 +12837,32 @@ Que désirez vous faire ? text - + Folio sans titre - + schema schemă - + Conserver les proportions Păstrează proporțiile - + Réinitialiser les dimensions Resetează dimensiunile - + Aperçu Previzualizare - + Exporter vers le presse-papier Exportă în memoria tampon @@ -10894,7 +12908,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10904,7 +12918,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10914,7 +12928,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10924,7 +12938,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10934,7 +12948,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10944,7 +12958,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10954,7 +12968,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10964,7 +12978,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -10974,79 +12988,79 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Fișierul text conținând licența GNU/GPL nu a putut fi găsit - oricum, îl cunoașteți pe dinafară, nu este așa ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Fișierul text conținând licența GNU/GPL există dar nu poate fi deschis - oricum, îl cunoașteți pe dinafară, nu este așa ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Nu se poate deschide fișierul %1 cu drept de scriere, a intervenit o eroare %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan Adu în prim plan - + Rapprocher Crește - + Éloigner Micșorează - + Envoyer au fond Trimite în fundal - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur Adâncime - + Borne tooltip Bornă @@ -11204,6 +13218,7 @@ Que désirez vous faire ? + Titre Titlu @@ -11286,6 +13301,7 @@ Que désirez vous faire ? Text + Modifier les informations de l'élément : %1 Modifică informațiile elementului : %1 @@ -11324,32 +13340,32 @@ Que désirez vous faire ? - + Collection QET Colecție QET - + Collection Company - + Collection utilisateur Colecție utilizator - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -11368,7 +13384,7 @@ Que désirez vous faire ? Rotește - + %n texte(s) @@ -11377,13 +13393,13 @@ Que désirez vous faire ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orientare texte selectate @@ -11511,35 +13527,35 @@ Que désirez vous faire ? - - - + + + Type Tip - - - + + + Adresse - - - + + + Commentaire Comentariu - - - + + + Réf. croisée @@ -11547,9 +13563,9 @@ Que désirez vous faire ? - - - + + + Fonction @@ -11964,7 +13980,7 @@ Que désirez vous faire ? - + %p% effectué (%v sur %m) @@ -11988,15 +14004,15 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code @@ -12007,12 +14023,12 @@ Que désirez vous faire ? - + Importer un fichier dxf - + Ouvrir un element @@ -12022,13 +14038,18 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -12080,22 +14101,22 @@ Voulez-vous la remplacer ? - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin @@ -12105,22 +14126,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12222,7 +14243,7 @@ Voulez-vous la remplacer ? - + Création de conducteurs @@ -12303,7 +14324,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12387,7 +14408,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12397,8 +14418,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12535,7 +14556,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12543,91 +14564,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12635,6 +14670,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Folio + QTextOrientationWidget @@ -12654,369 +14732,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape o formă - + une ligne o linie - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + un rectangle un dreptunghi - + une éllipse o elipsă - + un arc - + une polyligne o linie multiplă - + une courbe @@ -13098,7 +15237,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Text etichetă - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -13106,31 +15245,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + Folio + + + + Élément + Element + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13175,9 +15360,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13276,97 +15461,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af faza - - + + Nombre de phase Număr de faze - + Neutre Neutru - + neutre nul - + Terre Împământare - + terre împământare - + TextLabel Text etichetă - + PushButton - + Apparence Aspect - + Taille : - - + + Couleur : Culoare : - + Style : Stil : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px px - + Trait plein conductor style: solid line Linie continuă - + Trait en pointillés conductor style: dashed line Linie punctată - + Traits et points conductor style: dashed and dotted line Puncte și linii @@ -13375,7 +15560,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13417,10 +15602,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13480,7 +15665,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Configurează la data curentă - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13489,38 +15674,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : Titlu : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées Personalizat - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Puteți defini aici numele/valoarea personalizată de utilizat în cartuș. Ex. : @@ -13552,6 +15737,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Nou + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Nume : + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Salvează + + + + Ouvrir le &dossier + + + + + &Fermer + &Închide + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13560,12 +15924,12 @@ Créer votre propre texte en vous aidant des variables suivantes : Formular - + Folio Folio - + Élément Element @@ -13600,175 +15964,175 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur Conductor - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer Înlocuiește - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13781,17 +16145,17 @@ Créer votre propre texte en vous aidant des variables suivantes : Formular - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Șterge o numerotare variabilă</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Adaugă o numerotare variabilă</p></body></html> - + Définition Definiție @@ -13811,38 +16175,66 @@ Créer votre propre texte en vous aidant des variables suivantes : Șterge numerotarea - Précédent - Anterior + Anterior - Suivant - Următor + Următor - + Type Tip - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Valoare - + Incrémentation Se incrementează - + + Annuler + Anulează + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13859,13 +16251,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13887,13 +16279,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13914,6 +16306,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16304,12 +18706,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16319,6 +18721,19 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16648,17 +19063,17 @@ Les autres champs ne sont pas utilisés. TerminalStripEditor - + Propriétés Proprietăți - + Nom : Nume : - + Type : Tip : @@ -16688,108 +19103,108 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre Împământare - + LED : - + Fonction : - + Déplacer dans : - + Phase Faze - + Neutre Neutru - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16817,32 +19232,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger Reâncarcă - + Recharger les borniers @@ -17067,12 +19482,12 @@ Les autres champs ne sont pas utilisés. TerminalStripTreeDockWidget - + Projet sans titre Proiect fără titlu - + Bornes indépendante @@ -17180,7 +19595,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17188,37 +19603,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Lățime : - + Absolu a traditional, absolute measure Absolut - + Relatif au total a percentage of the total width Relativ la total - + Relatif au restant a percentage of what remains from the total width Relativ la rest - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17227,30 +19642,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Model implicit - + Éditer ce modèle menu entry Editează acest model - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions Acțiuni șabloane bloc titlu - - + + + Créer un Folio Numérotation Auto @@ -17265,12 +19681,12 @@ Les autres champs ne sont pas utilisés. Formular - + Folio : Folio : - + Auteur : Autor : @@ -17280,42 +19696,42 @@ Les autres champs ne sont pas utilisés. - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Disponibil ca % nume fișier pentru modelele de cartușe - + Pas de date Fără dată - + Date courante Data curentă - + Appliquer la date actuelle Configurează la data curentă - + Principales Principal @@ -17325,17 +19741,17 @@ Les autres champs ne sont pas utilisés. Informații cartușe - + Disponible en tant que %date pour les modèles de cartouches Disponibil ca % date pentru modelele de cartușe - + Date fixe : Dată fixă : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17344,57 +19760,57 @@ Les variables suivantes sont utilisables : - + Titre : Titlu : - + Fichier : Fișier : - + Date : Dată : - + Disponible en tant que %author pour les modèles de cartouches Disponibil ca % autor pentru modelele de cartușe - + Disponible en tant que %title pour les modèles de cartouches Disponibil ca % titlu pentru modelele de cartușe - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées Personalizat - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Puteți defini aici numele/valoarea personalizată de utilizat în cartuș. Ex. : @@ -17404,13 +19820,13 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -17907,50 +20323,50 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Folio - - + + %n conducteur(s) listé(s). wiring list summary @@ -17960,7 +20376,7 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17973,96 +20389,115 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ WiringListExport - - + + Erreur Eroare - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Avertisment + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18270,27 +20705,27 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18298,7 +20733,7 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ qdesigner_internal::ColorAction - + Text Color Culoare text @@ -18306,7 +20741,7 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ qdesigner_internal::HtmlTextEdit - + Insert HTML entity Introdu intrare HTML @@ -18314,27 +20749,27 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ qdesigner_internal::RichTextEditorDialog - + Edit text Editare text - + Rich Text Text îmbogățit - + Source Sursă - + &OK &OK - + &Cancel &Anulează @@ -18342,69 +20777,69 @@ asociind numele "volta" cu valoarea "1745" se va înlocui %{ qdesigner_internal::RichTextEditorToolBar - + Texte en gras Text aldin - - - + + + Éditeur de texte - + Texte en italique Text cursiv - + Texte souligé Textsubliniat - + Left Align Aliniază la stânga - + Center Centru - + Right Align Aliniază la dreapta - + Justify Justifică - + Superscript Exponent - + Subscript Indice - + Insérer un lien Introdu o linie - + Insert &Image Introdu &Imagine - + Simplify Rich Text Text îmbogățit simplificat diff --git a/lang/qet_rs.ts b/lang/qet_rs.ts index 3ef81afa8..ca50bc55c 100644 --- a/lang/qet_rs.ts +++ b/lang/qet_rs.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,139 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1034,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1115,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1182,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1213,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1222,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1237,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -995,7 +1313,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1013,13 +1331,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1028,24 +1346,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1075,12 +1403,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur + Texte @@ -1106,6 +1435,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1165,133 +1495,150 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : - + cable - + bus - - + + Unifilaire - + TextLabel - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Apparence - + Taille : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + Taille de trait : - + px - - + + Couleur : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1313,128 +1660,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1464,27 +1836,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1492,7 +1864,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1632,7 +2004,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1649,262 +2021,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1912,7 +2352,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1921,12 +2361,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1935,78 +2375,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. @@ -2024,7 +2470,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2032,42 +2478,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2075,17 +2521,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2104,30 +2550,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2339,21 +2785,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2452,64 +2898,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2517,32 +2963,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2550,12 +2996,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2596,153 +3042,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2766,12 +3285,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2789,104 +3314,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2902,8 +3537,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2986,8 +3621,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3017,302 +3652,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3326,7 +3961,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3453,249 +4088,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3703,29 +4338,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3733,101 +4368,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3836,122 +4471,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3967,43 +4602,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4012,7 +4647,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4021,32 +4656,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4116,124 +4751,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4279,7 +4914,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4288,102 +4923,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4647,63 +5282,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4711,27 +5356,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4764,129 +5409,130 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4901,450 +5547,663 @@ that you create. Text and number inputs are - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments - + Mettre en valeur dans le panel les éléments fraîchement intégrés - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5399,7 +6258,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5632,42 +6491,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5838,28 +6697,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6102,6 +6961,97 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6153,7 +7103,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6253,7 +7203,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6263,6 +7213,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6312,10 +7414,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6325,7 +7432,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6353,7 +7460,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6411,13 +7518,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6692,13 +7799,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6758,25 +7865,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6785,32 +7911,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6921,12 +8047,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6973,54 +8099,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7029,23 +8155,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7053,10 +8179,108 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7065,142 +8289,344 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7208,12 +8634,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7221,50 +8647,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7308,137 +8818,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7615,245 +9125,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7864,31 +9410,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7897,1114 +9443,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title - + Collections - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprimer - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter - + Ferme l'application QElectroTech status bar tip - + Annuler - + Annule l'action précédente status bar tip - + Refaire - + Restaure l'action annulée status bar tip - + Co&uper - + Cop&ier - + C&oller - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Exporter au format CSV - + Ajouter une nomenclature - + Ajouter un sommaire - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + en utilisant des onglets - + Présente les différents projets ouverts des onglets status bar tip - + en utilisant des fenêtres - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + &Mosaïque - + Dispose les fenêtres en mosaïque status bar tip - + &Cascade - + Dispose les fenêtres en cascade status bar tip - + Mode Selection - + Permet de sélectionner les éléments status bar tip - + Mode Visualisation - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Projet suivant - + Active le projet suivant status bar tip - + Projet précédent - + Active le projet précédent status bar tip - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter un rectangle - + Ajouter une ellipse - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9014,7 +10785,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9024,30 +10795,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9055,12 +10824,56 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9069,100 +10882,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9171,7 +10984,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9180,7 +10993,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9189,18 +11002,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9209,13 +11022,114 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 @@ -9228,401 +11142,401 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Fichier - + &Édition - + Coller depuis... - + Afficha&ge - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Tout sélectionner - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Exporter en SVG - + Recharger - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + Inverser la sélection - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Afficher menu entry - + Le fichier %1 n'existe pas. message box content - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content - + Impossible d'enregistrer l'élément message box content - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - + [Modifié] window title tag - + [lecture seule] window title tag - + Trop de primitives, liste non générée: %1 - - + + %n partie(s) sélectionnée(s). @@ -9631,45 +11545,69 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9679,12 +11617,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et - + %n avertissement(s) warnings @@ -9694,248 +11632,281 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Annuler - + Refaire - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + Profondeur toolbar title - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Parties toolbar title - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + Aucune modification - + X: %1 Y: %2 - + Éditeur d'éléments status bar message - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) @@ -9943,137 +11914,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10082,52 +12088,52 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10135,56 +12141,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Avertissement message box title - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10549,52 +12555,52 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) - - + + - - - - - - + + + + + + this is an error in the code - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10614,22 +12620,22 @@ Que désirez vous faire ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -10725,44 +12731,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content - + modifier les dimensions du folio undo caption @@ -10807,7 +12813,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Ouvrir un element @@ -10985,12 +12991,17 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Importer un fichier dxf + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11042,38 +13053,38 @@ Voulez-vous la remplacer ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. @@ -11179,7 +13190,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11189,7 +13200,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11199,7 +13210,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11209,7 +13220,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11219,7 +13230,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11229,7 +13240,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11239,7 +13250,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11249,7 +13260,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11259,74 +13270,74 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur @@ -11389,27 +13400,27 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin - + Borne tooltip @@ -11426,6 +13437,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + Titre @@ -11552,35 +13564,35 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11588,9 +13600,9 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - - + + + Fonction @@ -12046,7 +14058,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %p% effectué (%v sur %m) @@ -12118,6 +14130,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + Modifier les informations de l'élément : %1 @@ -12134,7 +14147,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + supprimer %1 undo caption - %1 is a sentence listing the removed content @@ -12156,7 +14169,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n texte(s) @@ -12165,24 +14178,24 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs - + Automatic terminal numbering @@ -12266,7 +14279,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12276,8 +14289,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12414,7 +14427,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12422,91 +14435,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12514,6 +14541,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12533,369 +14603,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -12977,7 +15108,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -12985,31 +15116,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13033,9 +15210,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13155,97 +15332,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13254,7 +15431,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13296,10 +15473,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13359,7 +15536,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13368,38 +15545,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13430,6 +15607,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13468,185 +15824,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13674,53 +16030,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13737,13 +16113,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13765,13 +16141,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13792,6 +16168,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16182,12 +18568,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16197,6 +18583,19 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16551,123 +18950,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Type : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16695,32 +19094,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16950,12 +19349,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17058,7 +19457,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17066,37 +19465,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17125,87 +19524,87 @@ Les autres champs ne sont pas utilisés. - + Principales - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17214,66 +19613,67 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut @@ -17281,13 +19681,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17784,50 +20184,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17837,7 +20237,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17850,96 +20250,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18147,27 +20566,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18175,7 +20594,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18183,7 +20602,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18191,27 +20610,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18219,69 +20638,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_ru.ts b/lang/qet_ru.ts index b4dffbe76..6338aead4 100644 --- a/lang/qet_ru.ts +++ b/lang/qet_ru.ts @@ -46,7 +46,7 @@ Licenses - + Лицензионное соглашение @@ -54,275 +54,275 @@ Журнал - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech — приложение для разработки электрических схем. - + Les développeurs de QElectroTech about tab, developers line Разработчики QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Пишите: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Оригинальная идея - - + - - + + + Développement Разработка - + Convertisseur DXF Конвертер DXF - + Plugin Bornier Плагин «Клеммный блок» - + Collection Коллекция - + Traduction en espagnol Перевод на испанский - + Traduction en russe Перевод на русский - + Traduction en portugais Перевод на португальский - + Traduction en tchèque Перевод на чешский - + Traduction en polonais Перевод на польский - + Traduction en allemand Перевод на немецкий - + Traduction en roumain Перевод на румынский - + Traduction en italien Перевод на итальянский - + Traduction en arabe Перевод на арабский - + Traduction en croate Перевод на хорватский - + Traduction en catalan Перевод на каталонский - + Traduction en grec Перевод на греческий - + Traduction en néerlandais Перевод на голландский - + Traduction en flamand Перевод на фламандский - + Traduction en danois Перевод на датский - + Traduction en brézilien Перевод на бразильский - + Traduction en Turc Перевод на турецкий - + Traduction en hongrois Перевод на венгерский - - - Traduction en serbe - - - Traduction en ukrainien - + Traduction en serbe + Перевод на сербский - Traduction en norvégien - + Traduction en ukrainien + Перевод на украинский - Traduction en japonais - + Traduction en norvégien + Перевод на норвежский - Traduction en coréen - + Traduction en japonais + Перевод на японский - Traduction en mongol - + Traduction en coréen + Перевод на корейский - Traduction en slovène - + Traduction en mongol + Перевод на монгольский - + + Traduction en slovène + Перевод на словенский + + + Paquets Fedora et Red Hat Пакеты для Fedora и Red Hat - + Paquets Mageia Пакеты для Mageia - + Paquets Debian Пакеты для Debian - + Paquets Gentoo Пакеты для Gentoo - + Paquets OS/2 Пакеты для OS/2 - + Paquets FreeBSD Пакеты для FreeBSD - + Paquets MAC OS X Пакеты для MAC OS X - + Paquets Archlinux AUR Пакеты для Archlinux AUR - + Icônes Значки - + Documentation Документация - + Collection d'éléments Коллекция элементов - + Paquets Snap Пакет Snap - + Redimensionneur d'éléments Element scaler - Изменение размера элемента + Изменение размера элемента - + Générateur d'élément lambda Lambda element generator Генератор лямбда-элементов - + Convertisseur d'élément DXF Dxf2elmt - Конвертер элементов DXF + Конвертер элементов DXF - + Outil de traduction d'éléments Qet_translate - Инструмент перевода элементов + Инструмент перевода элементов @@ -430,17 +430,17 @@ Конфигурация - + Contenu Содержание - + Sélectionner la police des en tête du tableau Выбрать шрифт заголовка таблицы - + Sélectionner la police des cellules du tableau Выбрать шрифт ячеек таблицы @@ -458,6 +458,134 @@ Добавить следующую схему клемм: + + AiAssistantDialog + + + Connecter un assistant IA + Подключить ИИ-помощника + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + ИИ-помощник (Claude, GitHub Copilot, Gemini…) может открывать, проверять и редактировать ваши схемы с помощью сервера MCP от QElectroTech, работающего на этом компьютере. Скопируйте приведенный ниже текст в настройки вашего помощника. <a href="%1">Подробное руководство</a> + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + <b>Сервер MCP не входит в состав этой версии QElectroTech.</b> В руководстве объясняется, как его получить. + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + <b>Возможно, Python не установлен.</b> Был найден только ярлык «python» из Microsoft Store: без Python он открывает Store вместо запуска сервера. + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + <b>Python не найден на этом компьютере</b> (команда «%1»). Он необходим для работы сервера. + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + Запустите установщик QElectroTech и установите флажок «Python для помощника ИИ» или установите Python с сайта python.org. + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + Установите Python 3 с помощью пакетного менеджера вашей системы. + + + + Assistant : + Помощник: + + + + Le dossier de vos schémas + Папка с вашими схемами + + + + Parcourir… + Просмотреть… + + + + Dossier accessible : + Доступный файл: + + + + Autoriser l'assistant à modifier les schémas + Разрешить помощнику изменять схемы + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + Помощник может читать и записывать данные только в этой папке. Без разрешения на изменение он может только читать, сравнивать и экспортировать данные. Помощник считывает текст проектов (примечания, заметки и т. д.): текст, написанный в виде инструкции, может повлиять на его работу. Оставьте настройки изменений отключенными для схем, полученных от других людей. + + + + Copier + Копировать + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + Если в файле уже указаны другие серверы, добавьте только запись «qet». + + + + Choisissez d'abord le dossier de vos schémas. + Сначала выберите папку, в которой хранятся ваши схемы. + + + + Dossier accessible à l'assistant + Досье, доступное помощнику + + + + Copié + Скопировано + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + В Claude Desktop: «Настройки» → «Для разработчиков» → «Изменить конфигурацию». Затем закройте и запустите Claude заново. + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + Сохраните его с расширением .mcp.json в папке со схемами. + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + Сохраните файл с расширением .vscode/mcp.json в папке, открытой в VS Code. Copilot использует инструменты в режиме агента. + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + Добавьте его в файл .cursor/mcp.json в своей личной папке. + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + Добавьте его в файл .gemini/settings.json в своей личной папке. При первом запуске Gemini CLI попросит подтвердить доверие к этой папке. + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + Добавьте его в файл .codex/config.toml в своей личной папке. + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + В LM Studio: вкладка «Program» → «Install» → «Edit mcp.json». + + AlignmentTextDialog @@ -499,6 +627,39 @@ Угол: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -509,63 +670,63 @@ Valeur - Значение + Значение Incrément - Шаг + Шаг Suivant - Следующий + Следующий - - + + Réinitialiser à la valeur de départ - Сбросить до исходного значения + Сбросить до исходного значения - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - Текущее значение счетчика. Введите новое значение и нажмите «Подтвердить», чтобы изменить его. + Текущее значение счетчика. Введите новое значение и нажмите «Подтвердить», чтобы изменить его. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - Шаг: значение, прибавляемое к счётчику при каждой новой нумерации + Шаг: значение, прибавляемое к счётчику при каждой новой нумерации - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - Следующее значение, которое будет применено с этим шагом + Следующее значение, которое будет применено с этим шагом - + Element Элемент - + Conducteur Проводник - + Configurer les règles d'auto numérotation Настройка автонумерации - + Configurer Настроить @@ -575,9 +736,91 @@ Лист - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation - Автонумерация + Автонумерация + + + + Sélectionnez d'abord des éléments dans le folio + @@ -680,28 +923,82 @@ Создаваемые - + Under Development В разработке - + Installing В выполнении - + Built Законченный - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window Управление автонумерацией - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -741,63 +1038,63 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Aperçu - Предпросмотр + Предпросмотр - + nomenclature_ номенклатура_ - + Enregister sous... Сохранить как... - + Fichiers csv (*.csv) Файлы csv (*.csv) - - + + Erreur Ошибка - + Impossible d'enregistrer la nomenclature dans %1. %2 - Не удалось сохранить спецификацию в %1. + Не удалось сохранить спецификацию в %1. %2 - + Position Положение - + Position du folio Положение листа - + Quantité numéro d'article Special field with name : designation quantity Специальное поле с названием: обозначение количество Количество номеров позиций - + Requête refusée - Запрос отклонен + Запрос отклонен - + Erreur dans la requête : %1 - Ошибка в запросе: + Ошибка в запросе: %1 @@ -807,25 +1104,46 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Créer une copie de sauvegarde ? window title - Создать резервную копию? + Создать резервную копию? Souhaitez-vous créer une copie de sauvegarde ? dialog message - Хотите создать резервную копию? + Хотите создать резервную копию? Oui yes button - Да + Да Non no button - Нет + Нет + + + + BackupRestoreDialog + + + Fichiers de restauration + window title + Файлы восстановления + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + <b>Обнаружены файлы восстановления,<br>хотите их открыть?</b><br>Если у проекта есть несколько версий восстановления, по умолчанию выбирается самая последняя. + + + + %1 (la plus récente) + recovery generation label + %1 (самая последняя) @@ -875,9 +1193,9 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur - Нажмите, чтобы выбрать цвет + Нажмите, чтобы выбрать цвет @@ -906,8 +1224,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Добавить переменную: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Введите здесь свой составленный текст, используя доступные переменные @@ -915,13 +1233,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption Редактировать свойства проводника - + Modifier les propriétés de plusieurs conducteurs undo caption Редактировать свойства нескольких проводников @@ -929,86 +1247,86 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - - - Noir - Чёрный - - Marron - Коричневый + Noir + Чёрный - Gris - Серый + Marron + Коричневый - Bleu - Синий + Gris + Серый - Vert - Зелёный + Bleu + Синий - Rouge - Красный + Vert + Зелёный - Orange - Оранжевый + Rouge + Красный - Violet - Фиолетовый + Orange + Оранжевый - Blanc - Белый + Violet + Фиолетовый - - Couleur de conducteur - Цвет провода + + Blanc + Белый + Couleur de conducteur + Цвет провода + + + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - Применяет цвет к выбранным проводникам и использует его для последующих начерченных проводников + Применяет цвет к выбранным проводникам и использует его для последующих начерченных проводников - + Récemment utilisées - Недавно использованные + Недавно использованные - + Autre couleur… - Другой цвет… + Другой цвет… - + Modifier la couleur de %n conducteur(s) undo caption - + Изменить цвет %n проводника Изменить цвет %n проводников Изменить цвет %n проводников - + Choisir une couleur de conducteur - Выбрать цвет провода + Выбрать цвет провода @@ -1024,13 +1342,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Применить свойства ко всем проводникам этого потенциала - + Modifier les propriétés d'un conducteur undo caption Изменить свойства проводника - + Modifier les propriétés de plusieurs conducteurs undo caption Изменить свойства нескольких проводников @@ -1039,24 +1357,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel - Применить свойства ко всем проводникам этого потенциала + Применить свойства ко всем проводникам этого потенциала + + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + %n выбранный проводник: к ним применяются только измененные поля. + %n выбранных проводника: к ним применяются только измененные поля. + %n выбранных проводников: к ним применяются только измененные поля. + - + Modifier les propriétés d'un conducteur undo caption Изменить свойства проводника - + Modifier les propriétés de plusieurs conducteurs undo caption Изменение свойств нескольких проводников - + Conducteur Проводник @@ -1085,12 +1413,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte Текст - - + + Unifilaire Однолинейный @@ -1106,6 +1435,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible Видимый текст @@ -1145,35 +1475,53 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Положение и поворот текста проводника: - + phase фаза - + + Plusieurs valeurs + several conductors, different values + Несколько значений + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + Выбрано несколько направляющих: текст изменяется одновременно только по одной направляющей. + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + Видимый текст +Заблокирован с помощью параметра «Показывать для потенциала один текст на лист.» в этом листе, в разделе «Свойства листа». + + + Trait plein conductor style: solid line Сплошная линия - + Trait en pointillés conductor style: dashed line Пунктирная линия - + Traits et points conductor style: dashed and dotted line Точки и тире - + terre заземление - + neutre нейтраль? нейтраль @@ -1185,7 +1533,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Форма - + Formule du texte : Формула текста: @@ -1216,99 +1564,99 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Сечение проводника - + cable кабель - + bus шина - - + + Nombre de phase Количество фаз - + Neutre Нейтраль - + Phase Фаза - + Protective Earth Neutral dont know what is this Глухозаземлённая нейтраль - + PEN ? PEN - + Terre Заземление - + TextLabel context dependent Текстовая метка - + Taille : Размер: - - + + Style du conducteur Стиль проводника - + Couleur secondaire : Вторичный цвет: - + px пикс - + Taille de trait : Размер дополнительной линии: - + Couleur du conducteur Цвет проводника - + Apparence Внешний вид - - + + Couleur : Цвет: - + Style : Стиль линии: @@ -1329,128 +1677,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts Выбрать группу контактов - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : Выберите группу контактов, которую необходимо назначить этому подчиненному элементу: - + # # - + Type Тип - + Sous-type Подтип - + Contacts Контакты - + Bornes Клеммы - - + + T%1 - + T%1 - + (déjà assigné) (уже назначено) - + (état ne correspond pas) (состояние не соответствует) - + (sous-type ne correspond pas) (подтип не соответствует) - + (nombre de contacts ne correspond pas) (количество контактов не совпадает) - + OK - + Annuler Отмена - + Normalement ouvert (NO) нормально открытый - + Normalement fermé (NC) нормально закрытый - + Inverseur (CO) переключающийся - + Autre Прочее - - + + Inconnu Неизвестно - + Simple Простой - + Puissance Силовой - + Temporisé travail Включение с задержкой - + Temporisé repos Выключение с задержкой - + Temporisé travail & repos Включение и выключение по времени + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1480,35 +1853,35 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - Сохранить... + Сохранить... - + Enregistrer le rapport de diagnostic - Сохранить отчет о диагностике + Сохранить отчет о диагностике - + Fichiers texte (*.txt);;Tous les fichiers (*) - Текстовые файлы (*.txt);;Все файлы (*) + Текстовые файлы (*.txt);;Все файлы (*) - + Erreur - Ошибка + Ошибка - + Impossible d'écrire dans le fichier « %1 ». - Не удалось записать данные в файл «%1». + Не удалось записать данные в файл «%1». Diagram - + Modifier la profondeur Изменить глубину @@ -1518,63 +1891,63 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Blanc - Белый + Белый Blanc cassé - Слоновой кости + Слоновой кости Gris clair - Светло-серый + Светло-серый Gris - Серый + Серый Gris foncé - Тёмно-серый + Тёмно-серый Noir - Чёрный + Чёрный Couleur de fond du folio - Цвет фона листа + Цвет фона листа Choisir la couleur de fond du folio status bar tip - Выбрать цвет фона листа + Выбор цвета фона листа Couleur système - Цвет системы + Цвет системы Récemment utilisées - Недавно использованные + Недавно использованные Autre couleur… - Другой цвет… + Другой цвет… Choisir une couleur de fond - Выбрать цвет фона + Выберите цвет фона @@ -1642,13 +2015,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Clic : positionner à la taille d'origine. Cliquer-glisser : positionner et redimensionner. Clic droit : pivoter de 90°. Ctrl+molette : ajuster la taille. - Клик: разместить в исходном размере. Клик и перетаскивание: разместить и изменить размер. Клик правой кнопкой мыши: повернуть на 90°. Ctrl + колесико: настроить размер. + Клик: разместить в исходном размере. нажать и потянуть: разместить и изменить размер. Клик правой кнопкой мыши: повернуть на 90°. Ctrl + колесико: настроить размер. DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste Нажмите, чтобы разместить коллаж; нажмите Esc или щелкните правой кнопкой мыши, чтобы отменить @@ -1659,371 +2032,445 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Clic: point anguleux. Cliquer-glisser: point courbe. Clic sur le premier point: fermer. Échap/Entrée: terminer. Clic droit: annuler le dernier point. - Клик: угловая точка. Клик и перетаскивание: изогнутая точка. Клик по первой точке: закрыть. Esc/Enter: завершить. Клик правой кнопкой мыши: отменить последнюю точку. + Клик: угловая точка. Нажать и потянуть: изогнутая точка. Клик по первой точке: завершить. Esc/Enter: завершить. Клик правой кнопкой мыши: отменить последнюю точку. DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - Клик левой кнопкой мыши: установить начальную точку (Ctrl = произвольное положение) + Клик левой кнопкой мыши: установить начальную точку (Ctrl = произвольное положение) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + Клик левой кнопкой мыши: установить конечную точку дуги (Ctrl = свободное позиционирование) + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - Клик левой кнопкой мыши: задать положение первого угла (Ctrl — центральная точка, произвольное положение) + Клик левой кнопкой мыши: задать положение первого угла (Ctrl — центральная точка, произвольное положение) - + Clic gauche : positionner le premier point (Ctrl = position libre) - Клик левой кнопкой мыши: установить первую точку (Ctrl = свободное позиционирование) + Клик левой кнопкой мыши: установить первую точку (Ctrl = свободное позиционирование) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - Клик левой кнопкой мыши: установить конечную точку (Ctrl = произвольное положение); клик правой кнопкой мыши: отменить + Клик левой кнопкой мыши: установить конечную точку (Ctrl = произвольное положение); клик правой кнопкой мыши: отменить - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - Клик левой кнопкой мыши: установить положение противоположного угла (Shift = квадрат, Ctrl = от центра + произвольное положение, Ctrl+Shift = центрированный квадрат); клик правой кнопкой мыши: отменить + Клик левой кнопкой мыши: установить положение противоположного угла (Shift = квадрат, Ctrl = от центра + произвольное положение, Ctrl+Shift = центрированный квадрат); клик правой кнопкой мыши: отменить - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + Клик левой кнопкой мыши: задать положение другого конца и высоту дуги (Shift = полукруг, Ctrl = свободное положение); клик правой кнопкой мыши: отменить + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - Клик левой кнопкой мыши: установить положение противоположного угла (Shift = круг, Ctrl = от центра + произвольное положение, Ctrl+Shift = центрированный круг); клик правой кнопкой мыши: отменить + Клик левой кнопкой мыши: установить положение противоположного угла (Shift = круг, Ctrl = от центра + произвольное положение, Ctrl+Shift = центрированный круг); клик правой кнопкой мыши: отменить - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point - Клик левой кнопкой мыши: следующая точка; двойной клик или клавиша «Enter»: завершить; клик правой кнопкой мыши: отменить последнюю точку + Клик левой кнопкой мыши: следующая точка; двойной клик или клавиша «Enter»: завершить; клик правой кнопкой мыши: отменить последнюю точку + + + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + Здесь нет строк: щелкните по нарисованной на листе строке + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + Щелкните по второй строке; щелкните правой кнопкой мыши: отменить + + + + Cliquez sur une autre ligne ; clic droit : annuler + Щелкните по другой строке; щелчок правой кнопкой мыши: отменить + + + + Ces deux lignes sont parallèles : pas de congé possible + Эти две линии идут параллельно: отклонение невозможно + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + Один из маршрутов заканчивается на углу: с этой стороны скруглять нечего + + + + Ces deux lignes sont presque alignées : pas de congé possible + Эти две линии почти совпадают: отступ невозможен + + + + Congé + Скругление + + + + Rayon : + Радиус : + + + + Rayon trop grand pour ces lignes (%1 au plus) + Радиус слишком велик для этих линий (не более 1 %) + + + + Ajouter un congé + Добавить скругление + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + Скругление: щелкните по двум линиям или один раз в точке их пересечения; клавиша Esc или щелчок правой кнопкой мыши: завершить DiagramImageItem - + redimensionner изменить размер - + pivoter/incliner повернуть/наклонить - + Cliquer : mode %1 Нажмите: режим %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - Перетаскивание угла/края: изменение размера (Ctrl — от центра, Shift — с сохранением пропорций) + Перетаскивание угла/края: изменение размера (Ctrl — от центра, Shift — с сохранением пропорций) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - Перетащить угол: повернуть (Shift = с шагом 15°); перетащить грань: наклонить (Shift = с шагом 15°); красная точка: переместить центр вращения + Перетащить угол: повернуть (Shift = с шагом 15°); перетащить грань: наклонить (Shift = с шагом 15°); красная точка: переместить центр вращения - + -- %1 : mode %2 -- %1: режим %2 - + Cliquer Нажать - - - Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - Перетаскивание: изменение размера (Shift — сохранить пропорции, Ctrl — от центра) - - - - Glisser : pivoter (Maj = par pas de 15°) - Перетащить: повернуть (Shift = с шагом 15°) - - - - Glisser : incliner (Maj = par pas de 15°) - Перетаскивание: наклон (Shift = с шагом 15°) - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) + Перетаскивание: изменение размера (Shift — сохранить пропорции, Ctrl — от центра) + + + + Glisser : pivoter (Maj = par pas de 15°) + Перетащить: повернуть (Shift = с шагом 15°) + + + + Glisser : incliner (Maj = par pas de 15°) + Перетаскивание: наклон (Shift = с шагом 15°) + + + Glisser : déplacer le centre de rotation - Перетащить: переместить центр вращения + Перетащить: переместить центр вращения - + Redimensionner une image - Изменить размер изображения + Изменить размер изображения - + Faire pivoter une image - Повернуть изображение + Повернуть изображение - + Incliner une image - Наклонить изображение + Наклонить изображение - + Déplacer le centre de rotation d'une image - Смещение центра вращения изображения + Смещение центра вращения изображения - + Modifier une image - Изменить изображение + Изменить изображение - + Restaurer les proportions d'une image - Восстановить пропорции изображения + Восстановить пропорции изображения - - - Enregistrer l'image sous... - Сохранить изображение как... - - - + + Enregistrer l'image sous... + Сохранить изображение как... + + + + Enregistrer l'image d'origine sous... - Сохранить исходное изображение как... + Сохранить исходное изображение как... - + Image PNG (*.png) - Изображение PNG (*.png) + Изображение PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - Изображение JPEG (*.jpg, *.jpeg) + Изображение JPEG (*.jpg, *.jpeg) - + Image BMP (*.bmp) - Изображение BMP (*.bmp) + Изображение BMP (*.bmp) - + Image SVG (*.svg) - Изображение SVG (*.svg) + Изображение SVG (*.svg) - + Tous les fichiers (*) - Все файлы (*) + Все файлы (*) - + Transparence non conservée - Прозрачность не сохраняется + Прозрачность не сохраняется - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - Этот формат не поддерживает прозрачность: изображение будет сохранено в том виде, в каком оно было до применения прозрачного цвета. Продолжить? + Этот формат не поддерживает прозрачность: изображение будет сохранено в том виде, в каком оно было до применения прозрачного цвета. Продолжить? - + Échec de l'enregistrement - Ошибка при регистрации + Ошибка при сохранении - + Impossible d'enregistrer l'image à cet emplacement. - Не удалось сохранить изображение в этом месте. + Не удалось сохранить изображение в этом месте. - + une image Изображение - + Remplacer l'image... - Заменить изображение... + Заменить изображение... - + Couleur transparente... - Прозрачный цвет... + Прозрачный цвет... - + Rogner... - Обрезать... + Обрезать... - + Miroir horizontal - Отразить по горизонтали + Отразить по горизонтали - + Miroir vertical - Отразить по вертикали + Отразить по вертикали - + Restaurer les proportions - Восстановить пропорции + Восстановить пропорции - + Selectionner une image... - Выберите изображение... + Выберите изображение... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - Графические файлы (*.png, *.jpg, *.jpeg, *.bmp, *.svg) + Графические файлы (*.png, *.jpg, *.jpeg, *.bmp, *.svg) - + Erreur - Ошибка + Ошибка - + Impossible de charger l'image. - Невозможно загрузить изображение. + Невозможно загрузить изображение. - + Remplacer une image - Заменить изображение + Заменить изображение - + Miroir horizontal d'une image - Отразить изображение по горизонтали + Отразить изображение по горизонтали - + Miroir vertical d'une image - Отразить изображение по вертикали + Отразить изображение по вертикали - + Définir une couleur transparente Определить прозрачный цвет - + Rogner une image - Обрезать изображение + Обрезать изображение DiagramPropertiesDialog - + Propriétés du folio window title - Параметры листа + Свойства листа DiagramTextItem - + Maintenir ctrl pour un déplacement libre Для свободного перемещения удерживайте Ctrl - + <Shift> to move - + <Shift> — для перемещения DiagramView - + Coller ici context menu action Вставить здесь - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Это поле для построения схем, куда вы добавляете элементы и соединения между их выводами. Вы также можете добавить произвольные надписи. - + Collage multiple Множественная вставка - + Créer un template context menu action + Создать шаблон + + + + Générer une vignette d'armoire + context menu action - + Renvoi de folio - Ссылка на страницу + Ссылка на страницу - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Подключить выводы - + Sans titre what to display for untitled diagrams Без имени - + Modèle enregistré - Зарегистрированная модель + Новый шаблон - + Le modèle a été enregistré avec succès sous : %1 - Модель была успешно сохранена под именем: + Шаблон был успешно сохранен под именем: %1 - + Erreur - Ошибка + Ошибка - + Le fichier n'a pas pu être écrit. - Не удалось записать файл. + Не удалось записать файл. - + Choisir la nouvelle couleur de ce conducteur Выбрать новый цвет для проводника - + Modifier les propriétés d'un conducteur undo caption Изменить свойства проводника @@ -2043,7 +2490,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Название - + TextLabel Текстовая метка @@ -2051,60 +2498,60 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - Дублировать - - - - pas de grille - без сетки + Дублировать - Espacement : - Интервал: + pas de grille + шаг сетки - - Haut - Верх + + Espacement : + Интервал: - Bas - Низ + Haut + Верх - Gauche - Левая сторона + Bas + Вниз - Droite - Правая сторона + Gauche + Влево + Droite + Вправо + + + Direction : - Направление : + Направление : DynamicElementTextItem - + Texte Текст - + Éditer un texte d'élément Редактировать текст элемента - + Redimensionner un texte d'élément Изменение размера текста элемента @@ -2123,30 +2570,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + ... - + Importer une configuration de texte Импортировать конфигурацию текста - + Ajouter un texte Добавить текст - + Ajouter un groupe de textes Добавить группу текстов - + Supprimer la sélection Удалить выделение @@ -2318,21 +2765,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Влево - + Droite Вправо - + Centre По центру @@ -2427,12 +2874,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Tourner autour de son propre centre - Вращаться вокруг собственной оси + Вращаться вокруг собственной оси Y - Y + Y @@ -2448,7 +2895,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol X - X + X @@ -2471,64 +2918,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Вращение - - + + Déplacer un champ texte Переместить текстовое поле - + Pivoter un champ texte Повернуть текстовое поле - + Modifier le texte d'un champ texte Изменить текст текстового поля - - + + Modifier la police d'un champ texte Изменить шрифт текстового поля - + Modifier la couleur d'un champ texte Изменить цвет текстового поля - + Modifier la conservation de l'angle Изменить сохранение угла - + Modifier le point de rotation d'un champ texte - Изменение точки поворота текстового поля + Изменение точки поворота текстового поля - + Modifier le cadre d'un champ texte Изменить рамку текстового поля - + Modifier la largeur d'un texte Изменить ширину текста - + Modifier l'information d'un texte Изменить текст информации - + Modifier la source de texte, d'un texte Изменить источник текста или текст - + Modifier l'alignement d'un champ texte Изменить выравнивание текстового поля @@ -2536,32 +2983,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur Пользовательский текст - + Information de l'élément Информация об элементе - + Texte composé Составленный текст - + Gauche Влево - + Centre По центру - + Droite Вправо @@ -2569,14 +3016,14 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - пример, 80.5 + пример, 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) - Десятичное число с точкой в качестве разделителя (пример, 80.5) + Десятичное число с точкой в качестве разделителя (пример, 80.5) @@ -2584,152 +3031,225 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol File not found: %1 - Файл не найден: %1 + Файл не найден: %1 Cannot read %1 - Не удается прочитать %1 + Не удается прочитать %1 This .edz is a zip-format package, which is not yet supported (only 7-Zip .edz files can be imported). - Этот файл .edz представляет собой архив в формате ZIP, который пока не поддерживается (импортировать можно только файлы .edz в формате 7-Zip). + Этот файл .edz представляет собой архив в формате ZIP, который пока не поддерживается (импортировать можно только файлы .edz в формате 7-Zip). Not a valid .edz package (unrecognised archive format). - Недопустимый пакет .edz (неизвестный формат архива). + Недопустимый пакет .edz (неизвестный формат архива). Could not create a temporary directory: %1 - Не удалось создать временный каталог: %1 + Не удалось создать временный каталог: %1 No *.part.xml found inside the .edz - В папке .edz не найден файл *.part.xml + В папке .edz не найден файл *.part.xml Element - + Numéroter automatiquement un élément undo caption - Автоматическая нумерация элемента + Автоматическая нумерация элемента + + + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + ElementDialog - + Ouvrir un élément dialog title Открыть элемент - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Выберите элемент, который вы хотите открыть. - + Enregistrer un élément dialog title Сохранить элемент - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Выберите элемент, в котором вы хотите сохранить ваше определение. - + Ouvrir une catégorie dialog title Открыть категорию - - + + Choisissez une catégorie. dialog content Выберите категорию. - + Enregistrer une catégorie dialog title Сохранить категорию - + Enregistrer un template dialog title - Сохранить шаблон + Сохранить шаблон - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - Выберите папку, в которую вы хотите сохранить свой шаблон. + Выберите папку, в которую вы хотите сохранить свой шаблон. - + Titre Название - + Label Метка - + Nom du nouveau dossier Имя новой папки - + Nom du nouveau template - Название нового шаблона + Название нового шаблона - + Écraser le template ? message box title - Перезаписать шаблон? + Перезаписать шаблон? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - Шаблон уже существует. Хотите его перезаписать? + Шаблон уже существует. Хотите его перезаписать? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Вы должны выбрать элемент или именованную категорию для элемента. - + Sélection inexistante message box title Несуществующее выделение - + Nom de fichier de l'élément placeholder: the element's file name, not its display name Имя файла элемента - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2737,32 +3257,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Отображаемое имя элемента можно изменить отдельно в свойствах элемента. - + La sélection n'existe pas. message box content Выделение не существует. - - + + Sélection incorrecte message box title Некорректное выделение - + La sélection n'est pas un élément. message box content Выделение не является элементом. - + Écraser l'élément ? message box title Перезаписать элемент? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Элемент уже существует. Хотите перезаписать его? @@ -2787,14 +3307,20 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Удалить этот текст - - ex. 80.5 - пример 80,5 + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + Выбрать позицию из списка материалов - + + ex. 80.5 + пример 80.5 + + + Nombre décimal avec un point comme séparateur (ex. 80.5) - Десятичное число с точкой в качестве разделителя (например, 80.5) + Десятичное число с точкой в качестве разделителя (например, 80.5) @@ -2808,107 +3334,222 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Exclure de la numérotation auto - Исключить из автоматической нумерации + Исключить из автоматической нумерации - + Informations Информация - + Ajouter une propriété personnalisée - Добавить настраиваемое свойство + Добавить настраиваемое свойство - + Séparation de potentiel - Разделение потенциалов + Разделение потенциалов - + Exclure de la nomenclature - Исключить из спецификации + Исключить из спецификации + + + + Liste de matériaux absente + Список материалов отсутствует + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + В этом месте нет файла со списком материалов: +%1 + +Создать его? + + + + Création impossible + Невозможно создать + + + + Impossible de créer le fichier : +%1 +%2 + Не удалось создать файл: +%1 +%2 + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + ElementPickerPopup - - + + Personnaliser la barre… - Настроить панель… + Настроить панель… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - Перетаскивайте команды и элементы на панель, с панели или с одного места на другое. Двойной щелчок переносит команду или элемент из одного списка в другой. + Перетаскивайте команды и элементы на панель, с панели или с одного места на другое. Двойной щелчок переносит команду или элемент из одного списка в другой. - - + + Rechercher un élément… - Найти элемент… + Найти элемент… - + Éléments : Элементы: - + Valeurs par défaut - Значения по умолчанию + Значения по умолчанию - + Annuler - Отмена + Отмена - + Terminé - Завершено + Завершить - + Dans la barre : - В строке: + На панеле: - + Autres commandes : - Другие заказы: + Другие команды: - - - + + + Entrée pour insérer · Échap pour fermer - Клавиша «Enter» для ввода · Клавиша «Esc» для закрытия + Клавиша «Enter» для вставки · Клавиша «Esc» для закрытия - + Glisser pour changer la largeur de la barre - Проведите пальцем, чтобы изменить ширину полосы + Потяните, чтобы изменить ширину полосы - + Personnaliser la barre de raccourcis : %1 Настройка панели быстрого доступа: %1 - + Aucun résultat - Результатов нет + Результатов нет - + Tapez pour rechercher un élément · Échap pour fermer Нажмите, чтобы найти элемент · Esc — чтобы закрыть - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher Пустая палитра — перетаскивайте элементы в свою личную коллекцию или нажмите, чтобы выполнить поиск @@ -2924,8 +3565,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Тип @@ -2939,12 +3580,12 @@ Le nom affiché de l'élément se modifie séparément dans les propriété margin: 5px; font-weight: bold; - + margin: 5px; font-weight: bold; Exclure de la nomenclature - Исключить из спецификации + Исключить из спецификации @@ -3008,8 +3649,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Функция @@ -3039,302 +3680,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Значения - - - + + + Simple Простой - + Maître Главный - + Esclave Подчинённый - + Renvoi de folio suivant Ссылка на следующий лист - + Renvoi de folio précédent Ссылка на предыдущий лист - + Bornier Клеммная колодка - + Vignette Эскиз - + Définition de conducteur Определение проводника - - + + Normalement ouvert (NO) нормально открытый - - + + Normalement fermé (NC) нормально закрытый - - + + Inverseur (CO) переключающийся - + Other Другой - + Esclave PLC Подчиненный ПЛК - - + + Puissance Силовой - - + + Temporisé travail Включение с задержкой - - + + Temporisé repos Выключение с задержкой - - + + Temporisé travail & repos Включение и выключение по времени - + Bobine Катушка - + Organe de protection Устройство защиты - + Commutateur / bouton Переключатель/кнопка - + Module PLC Модуль ПЛК - - + + Générique Общий - + Fusible Предохранитель - + Séctionnable Секционный - + Diode Диод - + Phase Фаза - + Neutre Нейтраль - - - - - + + + + + T%1 - + T%1 - + Autre Прочее - + Configuration PLC Конфигурация ПЛК - + + - + + - + - - + - - - + + Adresse - Адрес + Адрес - - + + Commentaire Аннотация - + Réf. croisée Ссылка - - + + Nb. - + № - + T1 - + T1 - + Police des en-têtes Шрифт заголовков - + Configurer la police des en-têtes de colonnes Настройка шрифта заголовков столбцов - + Police du texte Шрифт текста - + Configurer la police du texte dans les cellules Настройка шрифта текста в ячейках - + Afficher les en-têtes sur la feuille Показывать заголовки на листе - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille Показать или скрыть заголовки столбцов таблицы ПЛК на листе - + Saut %1 après: Перейти к %1 после: - + Aucun Нет - + H. ligne: H. строки: - - + + mm мм - + Réf. Арт. - + Nom personnalisé de la colonne (vide = par défaut) Пользовательское название столбца (пустое поле = значение по умолчанию) - + Visible Видимый - + Coller depuis le presse-papiers Вставить из буфера обмена - - + + Police des en-têtes: %1 %2pt Шрифт заголовков: %1 %2pt - - + + Police du texte: %1 %2pt Шрифт текста: %1 %2pt - + Police des en-têtes de colonnes Шрифт заголовков столбцов - + Police du texte des cellules Шрифт текста в ячейках - + Terre Заземление @@ -3344,11 +3985,11 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Général - Простой + Общее - Élement + Élément Элемент @@ -3413,35 +4054,35 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Nombre maximum de contacts esclaves définis : non défini - Максимальное количество заданных подчиненных контактов: не определено + Максимальное количество заданных подчиненных контактов: не определено Nombre maximum de contacts esclaves définis : %1 - Максимальное количество заданных подчиненных контактов: %1 + Максимальное количество заданных подчиненных контактов: %1 Nombre de contacts esclaves utilisés : %1 - Количество используемых подчиненных контактов: %1 + Количество используемых подчиненных контактов: %1 Contacts : NO : %1/%2, NC : %3/%4, inverseurs : %5/%6, autres : %7/%8 - Контакты: NO: %1/%2, NC: %3/%4, переключатели: %5/%6, прочие: %7/%8 + Контакты: NO: %1/%2, NC: %3/%4, переключатели: %5/%6, прочие: %7/%8 Contacts : NO : %1, NC : %2, inverseurs : %3, autres : %4 - Контакты: NO: %1, NC: %2, переключатели: %3, прочие: %4 + Контакты: NO: %1, NC: %2, переключатели: %3, прочие: %4 @@ -3454,7 +4095,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Verrouiller la position - Закрепить положение + Закрепить положение @@ -3487,282 +4128,282 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Monter la sélection - Сдвинуть выделение вверх + Сдвинуть выделенный вверх - + Ajouter la sélection - Добавить выделение + Добавить выделенный - + Supprimer la sélection - Удалить выделение + Удалить выделенный - + Descendre la sélection - Сдвинуть выделение вниз + Сдвинуть выделенный вниз - + Pas de filtre Нет фильтра - + N'est pas vide Не пусто - + Est vide Пусто - + Contient Содержит - + Ne contient pas Не содержит - + Est égal à Равно - + N'est pas égale à Не равно - + Filtre : Фильтр: - + Type d'éléments Тип элемента - + Simples Простой - + Tous Все - + Vignettes Эскизы - + Contacteurs et relais Контакторы и реле - + Boutons et commutateurs Кнопки и переключатели - + Borniers Клеммные колодки - + Organes de protection Устройства защиты - + Automates (MAE/SPS) - Автоматы (MAE/SPS) + ПЛК (PLC) - + Configuration Конфигурация - + Ouvrir la configuration sélectionné Открыть сохранённую конфигурацию - + Sauvegarder la configuration actuelle Сохранить текущую конфигурацию - + Importer des rapports depuis un fichier - Импорт отчетов из файла + Импорт отчетов из файла - + Importer... - Импортировать... + Импортировать... - + Exporter tous les rapports enregistrés vers un fichier - Экспортировать все сохраненные отчеты в файл + Экспортировать все сохраненные отчеты в файл - + Exporter... - Экспортировать... + Экспортировать... - + Requête SQL personnalisée Пользовательский SQL-запрос - + Requête SQL : SQL-запрос: - + Position Положение - + Titre du folio Название листа - + Position du folio Положение листа - + Numéro du folio Номер листа - - + + Exporter - Экспорт + Экспорт - - + + Aucun rapport enregistré à exporter. - Для экспорта не найдено ни одного отчета. + Для экспорта не найдено ни одного отчета. - + Exporter les rapports - Экспорт отчетов + Экспорт отчетов - - + + Fichiers JSON (*.json) - Файлы JSON (*.json) + Файлы JSON (*.json) - - - - + + + + Erreur - Ошибка + Ошибка - + Impossible d'écrire dans %1. - Не удалось записать данные в %1. + Не удалось записать данные в %1. - + Importer des rapports - Импорт отчетов + Импорт отчетов - + Impossible de lire %1. - Не удалось прочитать %1. + Не удалось прочитать %1. - + %1 ne contient pas des rapports QElectroTech valides. - %1 не содержит действительных отчетов QElectroTech. + %1 не содержит действительных отчетов QElectroTech. - - + + Importer - Импортировать + Импортировать - + Ce fichier ne contient aucun rapport. - В этом файле нет отчетов. + В этом файле нет отчетов. - + Rapport déjà existant - Уже существующий отчет + Отчет уже существуюет - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - Отчет с именем «%1» уже существует. Заменить его? + Отчет с именем «%1» уже существует. Заменить его? - + Impossible d'écrire la configuration locale. - Не удалось сохранить локальные настройки. + Не удалось сохранить локальные настройки. - + %1 rapport(s) importé(s), %2 ignoré(s). - %1 отчет(ы) импортировано, %2 пропущено. + %1 отчет(ы) импортировано, %2 пропущено. ElementScene - + Déplacer une primitive Переместить примитив - + Éditer les informations sur l'auteur window title Изменить информацию об авторе - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Вы можете использовать это поле, чтобы указать авторов этого элемента, его лицензию или любую другую информацию, которую сочтете полезной. - + Éditer les noms window title Редактировать имена - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Вы можете задать имя элемента на разных языках. @@ -3770,101 +4411,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Этот элемент — не категория - + L'item demandé n'est pas une categrie. Abandon. message box content Запрашиваемый элемент не категория. Отмена. - + Catégorie inexistante message box title Несуществующая категория - + La catégorie demandée n'existe pas. Abandon. message box content Требуемая категория не существует. Пропущено. - + Éditer une catégorie window title Редактировать категорию - + Créer une nouvelle catégorie window title Добавить новую категорию - + Nom de la nouvelle catégorie default name when creating a new category Имя новой категории - + Édition en lecture seule message box title Версия только для чтения - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content У вас нет прав для редактирования этой категории. Она будет открыта в режиме "только для чтения". - + Nom interne : Внутреннее имя: - + Vous pouvez spécifier un nom par langue pour la catégorie. Вы можете добавить имя категории для каждого языка. - + Nom interne manquant message box title Внутреннее имя отсутствует - + Vous devez spécifier un nom interne. message box content Вы должны задать внутреннее имя. - + Nom interne déjà utilisé message box title Внутреннее имя уже используется - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Внутреннее имя, которое вы задали, уже используется другой категорией. Пожалуйста, выберите другое имя. - + Erreur message box title Ошибка - + Impossible de créer la catégorie message box content Невозможно создать категорию @@ -3873,73 +4514,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Открыть папку - + Éditer l'élément Редактировать элемент - + Supprimer l'élément Удалить элемент - + Supprimer le dossier Удалить папку - + Recharger les collections Перезагрузить коллекции - + Éditer le dossier Редактировать папку - + Nouveau dossier Новая папка - + Nouvel élément Новый элемент - + Importer une pièce EPLAN (.edz)… - Импорт чертежа EPLAN (.edz)… + Импорт чертежа EPLAN (.edz)… - + Afficher uniquement ce dossier Показать только эту папку - + Afficher tous les dossiers Показать все папки - + Propriété du dossier Свойства папки - + Supprimer l'élément ? message box title Удалить элемент? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3947,25 +4588,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Удаление элемента - + La suppression de l'élément a échoué. message box content Удаление элемента не удалось. - + Supprimer le dossier? message box title Удалить папку? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3973,24 +4614,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Удаление папки - + La suppression du dossier a échoué. message box content Удаление папки не удалось. - + Avertissement — Importation d'un fichier EPLAN (.edz) - Предупреждение — Импорт файла EPLAN (.edz) + Предупреждение — Импорт файла EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4003,7 +4644,7 @@ En important ce fichier, vous confirmez que : • vous connaissez son origine et êtes autorisé à l'utiliser dans ce contexte, au regard des conditions applicables à cette source ; • cette importation est effectuée à vos propres risques et responsabilité ; • ni QElectroTech, ni ses mainteneurs, ni ses contributeurs ne peuvent être tenus responsables d'une utilisation non conforme de ces données. - Формат .edz может быть получен из двух различных источников: + Формат .edz может быть получен из двух различных источников: • Портал EPLAN Data Portal (dataportal.eplan.com), на который распространяются условия использования среды EPLAN Cloud; • Сайт производителя компонентов (или дистрибьютора), который предоставляет свои файлы .edz напрямую в соответствии со своими собственными условиями. @@ -4017,44 +4658,44 @@ QElectroTech не может автоматически определить п • ни QElectroTech, ни его разработчики, ни его участники не могут нести ответственность за ненадлежащее использование этих данных. - + J'ai lu et j'accepte ces conditions. - Я прочитал(а) и принимаю эти условия. + Я прочитал(а) и принимаю эти условия. - + Importer - Импортировать + Импортировать - + Importer une pièce EPLAN - Импорт детали из EPLAN + Импорт детали из EPLAN - + Pièces EPLAN (*.edz) - Детали EPLAN (*.edz) + Детали EPLAN (*.edz) - + Import EPLAN - Импорт из EPLAN + Импорт из EPLAN - + Impossible d'importer cette pièce : %1 - Не удалось импортировать эту деталь: + Не удалось импортировать эту деталь: %1 - + Le dossier %1 contient Папка %1 содержит - + %n élément(s), répartie(s) %n элемент, повтор @@ -4063,7 +4704,7 @@ QElectroTech не может автоматически определить п - + dans %n dossier(s). в %n папке. @@ -4072,32 +4713,32 @@ QElectroTech не может автоматически определить п - + Chemin de la collection : %1 Путь в коллекции: %1 - + Chemin dans le système de fichiers : %1 Путь в файловой системе: %1 - + Rechercher... - Поиск... + Поиск... - + Collections - Коллекции + Коллекции - + Modèles - Модели + Шаблоны - + Propriété du dossier %1 Свойства папки %1 @@ -4143,13 +4784,13 @@ QElectroTech не может автоматически определить п Double-cliquez pour réduire ou développer la collection company de cartouches Status tip - Дважды щелкните, чтобы свернуть или развернуть коллекцию штампов компании + Дважды щелкните, чтобы свернуть или развернуть коллекцию штампов компании Ceci est la collection company de cartouches -- utilisez-la pour créer, stocker et éditer vos propres cartouches. "What's this" tip - Это коллекция штампов компании — используйте её для создания, хранения и редактирования собственных шаблонов. + Это коллекция штампов компании — используйте её для создания, хранения и редактирования собственных шаблонов. @@ -4167,125 +4808,125 @@ QElectroTech не может автоматически определить п ElementsPanelWidget - + Ouvrir le dossier correspondant какую? Открыть папку - + Copier le chemin Копировать полный путь в буфер обмена - + Basculer vers ce projet Активировать этот проект - + Fermer ce projet Закрыть этот проект - + Propriétés du projet Свойства проекта - + Propriétés du folio - Параметры листа + Свойства листа - + Ajouter un folio Добавить лист - - - Insérer un folio au-dessus - Вставить страницу выше - - - - Insérer un folio en dessous - Вставить страницу ниже - - Copier et coller - + Insérer un folio au-dessus + Вставить страницу выше + Insérer un folio en dessous + Вставить страницу ниже + + + + Copier et coller + Вставить копию + + + Supprimer ce folio Удалить этот лист - + Remonter ce folio Переместить лист вверх - + Abaisser ce folio Переместить лист вниз - + Remonter ce folio x10 Переместить лист вверх на 10 - + Remonter ce folio x100 - Переместить лист вверх на 100 + Переместить лист вверх на 100 - + Remonter ce folio au debut Переместить лист в начало - + Abaisser ce folio x10 Переместить лист вниз на 10 - + Abaisser ce folio x100 - Переместить лист вниз на 100 + Переместить лист вниз на 100 - - + + Panneau des éléments - Панель элементов + Панель элементов - + Filtrer Фильтр - + Nouveau modèle Новый шаблон - + Éditer ce modèle Редактировать этот шаблон - + Supprimer ce modèle Удалить этот шаблон @@ -4331,7 +4972,7 @@ QElectroTech не может автоматически определить п ExportConfigPage - + Export configuration page title Экспорт @@ -4340,102 +4981,102 @@ QElectroTech не может автоматически определить п ExportDialog - + Exporter Экспорт - + Tout cocher Выбрать все - + Tout décocher Отменить выбор - + Exporter les folios du projet window title Экспортировать листы проекта - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Выберите листы, которые вы хотите экспортировать, и задайте их размер: - + Titre du folio Названия листов - + Nom de fichier Имя файла - + Dimensions Размеры - + Noms des fichiers cibles message box title Имена файлов назначения - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Вы должны задать непустое уникальное имя для каждого экспортируемого листа. - + Dossier non spécifié message box title Папка отсутствует - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Вы должны указать путь к папке, в которой будут сохранены изображения. - + Images non incluses dans l'export DXF message box title - Изображения, не включенные в экспорт в формат DXF + Изображения, не включенные в экспорт в формат DXF - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - Используемый здесь формат DXF (AC1006) не позволяет включать изображения. Изображения будут отображаться исключительно в виде прямоугольника с контуром (с сохранением положения, размера, поворота и наклона), без самого содержимого изображения. + Используемый здесь формат DXF (AC1006) не позволяет включать изображения. Изображения будут отображаться исключительно в виде прямоугольника с контуром (с сохранением положения, размера, поворота и наклона), без самого содержимого изображения. - + Impossible d'écrire dans ce fichier message box title Невозможно записать в этот файл - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Возможно, что у вас нет необходимых прав для записи в файл %1. - + Aperçu Предпросмотр - - + + px пикс @@ -4720,63 +5361,73 @@ that you create. Text and number inputs are Применить перемещение - - + + Générique Общий - + Fusible Предохранитель - + Sectionnable Секционный - + Diode Диод - + Terre Заземление - + Phase Фаза - + Neutre Нейтраль - + Sans Без - + Avec С - + Modifier des propriétés de borniers Изменить свойства клеммных колодок - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + В проекте нет клеммной колодки: создайте её с помощью кнопки «+» + + + Appliquez ou annulez les modifications en cours avant de déplacer Перед перемещением примените или отмените текущие изменения - + + Sélectionnez dans le tableau les bornes à déplacer + Выберите в таблице клеммы, которые необходимо переместить + + + Déplacer les bornes sélectionnées vers le bornier choisi Переместить выбранные клеммы на указанную клеммную колодку @@ -4784,27 +5435,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Метка - + Référence croisé Перекрестная ссылка - + Type Тип - + Fonction Функция - + led индикатор @@ -4822,47 +5473,48 @@ that you create. Text and number inputs are Использовать системные цвета - + Chemin de la collection utilisateur Путь к коллекции пользователя - + Chemin des cartouches utilisateur Путь к штампам пользователя - + Chemin de la collection commune Путь к общей коллекции - - - - - - + + + + + + Par defaut По умолчанию - - - - - - + + + + + + + Parcourir... Выбрать... - + (Recharger les collections d'éléments pour appliquer les changements) (Обновите коллекции элементов, чтобы применить изменения) - + Projets Проекты @@ -4872,42 +5524,42 @@ that you create. Text and number inputs are Использовать жесты сенсорной панели - + Utiliser les numéros de folio à la place de leur position dans le projet Использовать номера листов вместо их положения в проекте - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Выбор начального шага 1 или 0 Нумеровать столбцы расположения элементов с 0 (в противном случае — 1) - + Désactivé Отключено - + min minute мин - + Mettre en valeur dans le panel les éléments fraîchement intégrés Выделять недавно добавленные элементы в панели - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Каждый элемент содержит информацию о его авторах, его лицензии или любую другую информацию, которую вы сочтете полезной в свободном доступе. Здесь вы можете указать значение этого поля по умолчанию для создаваемых вами элементов: - + Appliqué au prochain lancement de QElectroTech Применится при следующем запуске QElectroTech @@ -4917,288 +5569,404 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Форма - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Автоматическое сохранение проектов (применится при следующем запуске QElectroTech) - + Collections Коллекции - + Accès aux collections Расположение коллекций - + Répertoire de la collection commune Каталог общей коллекции - + Répertoire de la collection utilisateur Каталог коллекции пользователя - + Répertoire des cartouches utilisateur Каталог штампов пользователя - + Gestion des éléments Управление элементами - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Определение установок по умолчанию для различных текстов QElectroTech - + Grille + Clavier Сетка и клавиатура - + Grille : 1 - 30 Сетка: 1-30 - + DiagramEditor xGrid Линии по горизонтали (X-линии) - + DiagramEditor yGrid Линии по вертикали (Y-линии) Couleur de l'application - Цвет приложения + Цвет приложения Afficher les propriétés d'un conducteur sélectionné dans le panneau Propriétés de la sélection - Отобразить свойства выбранного проводника на панели «Свойства выделенного объекта» + Показывать свойства выбранного проводника на панели «Свойства выбора» - - Afficher la grille par défaut (appliqué au prochain lancement) - Показать сетку по умолчанию (будет применено при следующем запуске) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. + - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. - По умолчанию двойной щелчок вставляет элемент на страницу; доступ к редактированию по-прежнему можно получить через контекстное меню. + + Appliquer les règles de conducteurs par borne des projets + - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer - Двойной щелчок в коллекции открывает редактор элемента, а не вставляет его + + Nombre maximal de conducteurs par borne : + - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - После щелчка, выделяющего элемент или проводник, команды панели быстрого доступа появляются рядом с курсором и исчезают, когда курсор удаляется. - - - - Afficher les commandes près de la sélection - Показать команды рядом с выделенным элементом + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - Если удерживать правую кнопку мыши и перетащить курсор в каком-либо направлении, запускается команда из панели быстрого доступа. Обычный щелчок правой кнопкой мыши всегда открывает контекстное меню после отпускания кнопки. - - - - Gestes de la souris avec le bouton droit - Действия с правой кнопкой мыши - - - - Afficher les guides par défaut (appliqué au prochain lancement) - Показать подсказки по умолчанию (будет применено при следующем запуске) + Sans limite + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + Показать сетку по умолчанию (будет применено при следующем запуске) + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + По умолчанию двойной щелчок вставляет элемент на страницу; доступ к редактированию по-прежнему можно получить через контекстное меню. + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + Двойной щелчок в коллекции открывает редактор элемента, а не вставляет его + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + Отмечено: один список, с наилучшим совпадением вверху. Не отмечено: дерево коллекции, отфильтрованное по результатам поиска. + + + + Afficher les résultats de recherche sous forme de liste triée + Отобразить результаты поиска в виде отсортированного списка + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + После щелчка, выделяющего элемент или проводник, команды панели быстрого доступа появляются рядом с курсором и исчезают, когда курсор удаляется. + + + + Afficher les commandes près de la sélection + Показать команды рядом с выделенным элементом + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + Если удерживать правую кнопку мыши и перетащить курсор в каком-либо направлении, запускается команда из панели быстрого доступа. Обычный щелчок правой кнопкой мыши всегда открывает контекстное меню после отпускания кнопки. + + + + Gestes de la souris avec le bouton droit + Действия правой кнопки мыши + + + + Afficher les guides par défaut (appliqué au prochain lancement) + Показать подсказки по умолчанию (будет применено при следующем запуске) + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Использовать &окна (применится при следующем запуске QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Использовать &вкладки (применится при следующем запуске QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Способ масштабирования экранов с высокой плотностью пикселей (hdpi) (применится при следующем запуске QElectroTech): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - Разрешить выполнение скриптов JavaScript (Проект > Выполнить скрипт и --run) + Разрешить выполнение скриптов JavaScript (Проект > Запустить скрипт и --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - Скрипт запускается с вашими правами: он может читать и изменять открытый проект, а также записывать файлы. По умолчанию эта функция отключена; запускайте только те скрипты, источник которых вам известен. + Скрипт запускается с вашими правами: он может читать и изменять открытый проект, а также записывать файлы. По умолчанию эта функция отключена; запускайте только те скрипты, источник которых вам известен. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + Разрешить ИИ-помощнику выполнять действия в открытом проекте (прямой режим) + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + После этого помощник, подключенный через сервер MCP, сможет запускать скрипты в открытом проекте прямо на ваших глазах. Пока этот параметр включен, при каждом запуске будет отображаться предупреждение. Изменение вступает в силу при следующем запуске; снятие галочки отключает соединение немедленно. + + + Répertoire de la collection company - Каталог коллекции компании + Каталог коллекции компании - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + Создание или изменение префикса папок в пользовательской коллекции (файл qet_labels.xml) + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Настроить префиксы… + + + Répertoire des cartouches company - Каталог штампов компании - - - - Répertoire des Macros utilisateur - Каталог пользовательских макросов + Каталог штампов компании + Répertoire des Macros utilisateur + Каталог пользовательских шаблонов + + + + Fichier de la liste de matériaux + Файл со списком материалов + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + Список материалов, используемый для заполнения полей элемента + + + + Non configuré + hint shown when no material file is configured yet + Не настроено + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + всплывающая подсказка к кнопке, создающей файл материала с его заголовочной строкой + Создать файл со списком и заголовками + + + + Créer... + Создать... + + + Langues Языки - + Textes Тексты - + Textes d'éléments Текст элементов - - - + + + Police : Шрифт: - - + + ° ° - + Longueur : Длина: - - + + Rotation : Вращение: - + Textes indépendants Независимый текст - + Autres textes Другой текст - + La Grille doite etre active pour pouvoir voir les modifications. Чтобы видеть изменения, сетка должна быть активной. - + Grille des textes déplacés à la souris - Сетка текстов, перемещаемых с помощью мыши + Сетка текстов, перемещаемых с помощью мыши - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - Привязка к сетки листа. Удерживайте клавишу Ctrl во время перемещения, чтобы разместить элементы в произвольном порядке. + Привязка к сетки листа. Удерживайте клавишу Ctrl во время перемещения, чтобы разместить элементы в произвольном порядке. - + Déplacement au clavier : 1 - 30 Перемещение с клавиатуры: 1-30 - + DiagramEditor (touche : gauche / droite) xGrid Клавиша влево/вправо — по горизонтали (по X-линии) - + DiagramEditor (touche : haut / bas) yGrid Клавиша вверх/вниз — по вертикали (по Y-линии) - + Déplacement au clavier avec la touche ALT : 1 - 9 Перемещение с клавиатуры с помощью клавиши ALT: 1-9 - + DiagramEditor (touche : gauche / droite ) xGrid Клавиша влево/вправо — по горизонтали (по X-линии) - + DiagramEditor (touche : haut / bas) yGrid Клавиша вверх/вниз — по вертикали (по Y-линии) - + Affichage Grille - Показывать в виде таблицы + Показывать в виде таблицы - - + + max: - + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + При регистрации элемента: отклонять два терминала с одинаковыми названиями и указывать терминалы без названий (IEC 61666). + + + + Vérifier les noms des bornes à l'enregistrement + Проверять названия терминалов при регистрации + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - Размер точек сетки в Diagram-Editor: 1–5 + Размер точек сетки в Diagram-Editor: 1–5 - - + + min: - + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - Размер точек сетки в редакторе элементов: 1–5 + Размер точек сетки в редакторе элементов: 1–5 - + Editor - Редактор + Редактор - + Max. parts in Element Editor List - Максимальное количество элементов в списке редактора элементов + Максимальное количество элементов в списке редактора элементов - + Ne pas conserver les labels des éléments lors des copier coller Не сохранять метки элементов при копировании и вставке @@ -5208,227 +5976,337 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments Разрешить масштаб меньше размера листа - + Arrondi supérieur pour 0.5 et plus Округлять в большую сторону до 0,5 и выше - + Toujours arrondi supérieur Всегда округлять в большую сторону - + Toujours arrondi inférieur Всегда округлять в меньшую сторону - + Arrondi supérieur pour 0.75 et plus Округлять в большую сторону до 0,75 и выше - + Pas d'arrondi Не округлять - + Désactivée - Отключено + Отключено - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - Включается с помощью переменной среды QET_ENABLE_SCRIPTING; этот параметр не действует, пока она определена. + Включается с помощью переменной среды QET_ENABLE_SCRIPTING; этот параметр не действует, пока она определена. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + подсказка, отображаемая в поле «Файл материала», если файл ещё не настроен + Не настроено (по умолчанию: %1) + + + Général configuration page title Общее - + Système Система? Системный - + Arabe Арабский - + Brézilien Бразильский - + Catalan Каталонский - + Tchèque Чешский - + Allemand Немецкий - + Danois Датский - + Grec Греческий - + Anglais Английский - + Espagnol Испанский - + Français Французский - + Croate Хорватский - + Italien Итальянский - + Japonais Японский - + Coréen - Корейский + Корейский - + Polonais Польский - + Portugais Португальский - + Roumains Румынский - + Russe Русский - + Slovène Словенский - + Pays-Bas Немецкий/Нидерландский Голландский - + Norvege Норвежский - + Belgique-Flemish Бельгийский - + Turc Турецкий - + Hongrois Венгерский - + Mongol Монгольский - + Ukrainien - Украинский + Украинский - + Chinois - Китайский + Китайский - + Suédois - Шведский + Шведский - + Chemin de la collection company - Путь к коллекции компании + Путь к коллекции компании - + Chemin des cartouches company - Путь к штампам компании + Путь к штампам компании - + Chemin des macros utilisateur - Путь к пользовательским макросам + Путь к пользовательским шаблонам - + + Répertoire introuvable + Каталог не найден + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + Каталог пользовательской коллекции: +%1 +не существует, и его не удалось создать. + + + + Aucun sous-dossier + Подпапок нет + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + Пользовательская коллекция: +%1 +не содержит подпапок: следовательно, настраивать префикс не нужно. + + + + Fichier de préfixes illisible + Нечитаемый файл префиксов + + + + Fichier de préfixes endommagé + Поврежденный файл префиксов + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + Файл %1 не является допустимым XML-файлом: +%2 + + + + Corriger le fichier + Исправить файл + + + + Reconstruire + Восстановить + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + Пока ничего не изменено. + +«Исправить файл»: это окно закроется без каких-либо изменений. Откройте файл в текстовом редакторе в указанном месте, исправьте его, а затем запустите эту команду заново. + +«Перестроить»: дерево папок воссоздаётся, но все текущие префиксы теряются. Текущий файл сохраняется под именем qet_labels.xml.bak перед заменой. + + + + Fichier : %1 + Файл: %1 + + + + Sélectionner le fichier de la liste de matériaux + Выбрать файл из списка материалов + + + + + Fichiers csv (*.csv) + Файлы csv (*.csv) + + + + Créer le fichier de la liste de matériaux + Создать файл со списком материалов + + + + Création impossible + Создание невозможно + + + + Impossible de créer le fichier : +%1 +%2 + Не удалось создать файл: +%1 +%2 + + + To high values might lead to crashes of the application. - Слишком высокие значения могут привести к сбоям в работе приложения. + Слишком высокие значения могут привести к сбоям в работе приложения. - + Fonctionnalité expérimental - Экспериментальная функция + Экспериментальная функция - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : 1 - la valeur sélectionnée 2 - du dpi de l'écran 3 - Modifier le projet sur un autre ordinateur et/ou écran n'ayant pas les mêmes paramètres des points 1 et 2. - ПРЕДУПРЕЖДЕНИЕ: + ПРЕДУПРЕЖДЕНИЕ: Любое значение, отличное от «Без округления», может привести к ошибкам при визуализации проекта в зависимости от: 1 — выбранного значения @@ -5481,7 +6359,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Это — шаблон, который может быть применен к листу. - + %1 [non utilisé dans le projet] %1 [не используется в проекте] @@ -5648,38 +6526,38 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Orientation - Ориентация + Ориентация Position - Положение + Позиция Couleur - Цвет + Цвет Ajouter - Добавить + Добавить Supprimer - Удалить + Удалить Horizontal - Горизонтальный + Горизонтальная Vertical - Вертикальный + Вертикальная @@ -5687,22 +6565,22 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Rogner l'image - Обрезать изображение + Обрезать изображение Faites glisser les poignées, ou l'intérieur du cadre, pour ajuster la zone à conserver. - Перетащите ручки или внутреннюю границу рамки, чтобы настроить область, которую нужно сохранить. + Перетащите ручки или внутреннюю границу рамки, чтобы настроить область, которую нужно сохранить. Réinitialiser - Сбросить + Сбросить Revenir à l'image complète, sans rognage - Вернуться к полному изображению без обрезки + Вернуться к полному изображению без обрезки @@ -5715,61 +6593,61 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Largeur - Ширина + Ширина % - + % Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller. - Заблокировано: при изменении ширины или высоты другой параметр настраивается автоматически для сохранения пропорций. Щелкните, чтобы разблокировать. + Заблокировано: при изменении ширины или высоты другой параметр настраивается автоматически для сохранения пропорций. Щелкните, чтобы разблокировать. Hauteur - Высота + Высота Restaurer les proportions - Восстановить пропорции + Восстановить пропорции Angle - Угол + Угол ° - + ° Inclinaison X - Наклон по оси X + Наклон по оси X Inclinaison Y - Наклон по оси Y + Наклон по оси Y Libellé - Формулировка + Надпись Texte affiché sous l'image. Il suit l'image quand elle est déplacée, copiée ou tournée. - Текст, отображаемый под изображением. Он следует за изображением при его перемещении, копировании или повороте. + Текст, отображаемый под изображением. Он следует за изображением при его перемещении, копировании или повороте. @@ -5779,76 +6657,76 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Modifier la largeur d'une image - Изменить ширину изображения + Изменение ширины изображения Modifier la hauteur d'une image - Изменить высоту изображения + Изменение высоты изображения Modifier l'angle d'une image - Изменить угол наклона изображения + Измение угола наклона изображения Modifier l'inclinaison d'une image - Изменение наклона изображения + Изменение наклона изображения Modifier le libellé d'une image - Изменить подпись к изображению + Изменение надписи изображения Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller. - Разблокировано: ширину и высоту можно изменять независимо друг от друга. Нажмите, чтобы заблокировать. + Разблокировано: ширину и высоту можно изменять независимо друг от друга. Нажмите, чтобы заблокировать. ImageTransparentColorDialog - + Couleur transparente - Прозрачный цвет - - - - Image source - Источник изображения + Прозрачный цвет + Image source + Оригинальное изображение + + + Aperçu - Предпросмотр + Предпросмотр - + rgb(%1, %2, %3) - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - Допустимое отклонение для данного цвета + Допустимое отклонение для данного цвета - + Retirer cette couleur - Удалить этот цвет + Удалить этот цвет - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - Щелкните по изображению, чтобы добавить цвет. Отрегулируйте порог чувствительности для каждого цвета с помощью соответствующего ползунка или нажмите ×, чтобы удалить его. + Щелкните по изображению, чтобы добавить цвет. Отрегулируйте порог чувствительности для каждого цвета с помощью соответствующего ползунка или нажмите ×, чтобы удалить его. - + Cliquez sur l'image pour choisir une couleur - Нажмите на изображение, чтобы выбрать цвет + Нажмите на изображение, чтобы выбрать цвет @@ -6062,30 +6940,30 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - Перейти к элементу + Перейти к элементу - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… Название, обозначение или сведения об элементе, либо ячейка (например, B13 или 3-B13)… - + Case %1 - + Ячейка %1 - + Folio %1, case %2 - + Лист %1, ячейка %2 - + Folio %1 (%2), case %3 - + Лист %1 (%2), ячейка %3 @@ -6193,7 +7071,7 @@ Veuillez utiliser l'éditeur avancé pour cela. Masquer les éléments maîtres pleins - + Скрыть все главные элементы @@ -6326,6 +7204,112 @@ Veuillez utiliser l'éditeur avancé pour cela. Разорвать связь + + LiveServer + + + Mode direct + Прямой режим + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général. + Включен прямой режим: подключенный ИИ-помощник сможет выполнять скрипты в открытом проекте. + +Каждое действие можно отменить с помощью Ctrl+Z, а кнопка «Остановить» на панели состояния прерывает соединение. + +Эта настройка находится в разделе «Настройка QElectroTech» > «Общие». + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + &Продолжить + + + + &Pas pour cette session + &Не для этой сессии + + + + &Désactiver + &Дкактивировать + + + + + script + скрипт + + + + Assistant : %1 + Помощник: %1 + + + + L'assistant veut exécuter un script + Помощник хочет запустить скрипт + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + «%1» в открытом проекте. После выполнения команду можно отменить с помощью Ctrl+Z. + + + + &Exécuter + &Выполнить + + + + &Refuser + &Отклонить + + + + &Toujours pour cette session + &Также в рамках этой сессии + + + + MacroRecorder + + + Macro du %1 + Макрос %1 + + + + projet fermé pendant l'enregistrement : pas de after.qet + проект закрыт во время записи: файл after.qet отсутствует + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + Я записал макрос в QElectroTech: «%1», %n шаг (идентификатор %2, папка %3). +С помощью сервера MCP qet: считай его с помощью qet_recording_read, напиши скрипт, который делает то же самое в общем случае (например, для выбранных элементов, а не конкретно для этих), проверь его с помощью qet_recording_check, пока он не будет соответствовать, а затем предложи его в качестве кнопки с помощью qet_script_install. + Я записал макрос в QElectroTech: «%1», %n шага (идентификатор %2, папка %3). +С помощью сервера MCP qet: считай его с помощью qet_recording_read, напиши скрипт, который делает то же самое в общем случае (например, для выбранных элементов, а не конкретно для этих), проверь его с помощью qet_recording_check, пока он не будет соответствовать, а затем предложи его в качестве кнопки с помощью qet_script_install. + Я записал макрос в QElectroTech: «%1», %n шагов (идентификатор %2, папка %3). +С помощью сервера MCP qet: считай его с помощью qet_recording_read, напиши скрипт, который делает то же самое в общем случае (например, для выбранных элементов, а не конкретно для этих), проверь его с помощью qet_recording_check, пока он не будет соответствовать, а затем предложи его в качестве кнопки с помощью qet_script_install. + + + MarginsEditDialog @@ -6367,7 +7351,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>Отменить связь выбранного элемента</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Связать выбранный элемент</p></body></html> @@ -6479,7 +7463,7 @@ Voulez-vous tout de même lier ce contact esclave ? Клеммы - + Coller depuis le presse-papiers Вставить из буфера обмена @@ -6489,12 +7473,171 @@ Voulez-vous tout de même lier ce contact esclave ? Перекрестная ссылка (мастер) + + MaterialEntryDialog + + + Nouvelle entrée + Новая запись + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + Укажите номер заказа, который необходимо добавить. Поля, оставленные пустыми, останутся пустыми в файле. + + + + Enregistrer + Сохранить + + + + Annuler + Отмена + + + + Aucun renseignement + Нет информации + + + + Saisissez au moins un renseignement pour créer une entrée. + Введите хотя бы один параметр, чтобы создать запись. + + + + MaterialList + + + + Bloc auxiliaire + Вспомогательный блок + + + + Aucun récepteur pour le répertoire de matériaux. + Нет приемника для каталога материалов. + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + Файл не содержит заголовка: отсутствуют столбцы. + + + + Le fichier existe déjà et n'est pas vide. + Файл уже существует и не пуст. + + + + MaterialSelectionDialog + + + Liste de matériaux + Список материалов + + + + Rechercher : + Поиск: + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + заполнитель поля поиска в списке материалов; ввод нескольких слов сужает круг результатов (AND) + Все введенные слова должны встречаться где-нибудь в строке + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + заполнитель поля поиска в списке материалов + Поиск по всем столбцам + + + + Entrées : 0 + Записи: 0 + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + кнопка, добавляющая новую строку в файл списка материалов + Добавить новый заказной номер в список + + + + Nouvelle entrée + Новая запись + + + + Appliquer + Применить + + + + Annuler + Отмена + + + + Lecture impossible + Невозможно прочитать + + + + Impossible de lire le fichier : +%1 +%2 + Не удалось прочитать файл: +%1 +%2 + + + + Entrées : %1 + Записи: %1 + + + + Entrées : %1 sur %2 + Записи: %1 из %2 + + + + Aucune sélection + Выбор отсутствует + + + + Sélectionnez d'abord un article dans la liste. + Сначала выберите товар из списка. + + + + Écriture impossible + Невозможно ввести текст + + + + Impossible d'écrire dans le fichier : +%1 +%2 + Не удалось записать в файл: +%1 +%2 + + MultiPasteDialog Collage multiple - Множественное копирование + Множественная вставка @@ -6538,10 +7681,15 @@ Voulez-vous tout de même lier ce contact esclave ? Автонумерация проводников - + Multi-collage Мультикопирование + + + Numéroter les éléments collés + + NameListDialog @@ -6551,7 +7699,7 @@ Voulez-vous tout de même lier ce contact esclave ? Диалог - + Variables de cartouche Переменные шаблона @@ -6579,7 +7727,7 @@ Voulez-vous tout de même lier ce contact esclave ? Добавить строку - + Copier dans le presse papier Скопировать в буфер обмена @@ -6609,41 +7757,41 @@ Voulez-vous tout de même lier ce contact esclave ? Guides - Руководство + Направляющие Définir les règles de numérotation automatique par défaut pour les nouveaux projets : - Задайте правила автоматической нумерации по умолчанию для новых проектов: + Задайте правила автоматической нумерации по умолчанию для новых проектов: Conducteurs - Проводники + Проводники Eléments - Элементы + Элементы Folios - Листы + Листы Numérotation auto - Автонумерация + Автонумерация - + Nouveau folio configuration page title Новый лист - + Nouveau projet configuration page title Новый проект @@ -6750,12 +7898,12 @@ Voulez-vous tout de même lier ce contact esclave ? Mettre à 0 pour un chiffre qui n'avance que par le report d'un chiffre cyclique suivant (ex: le "0" de "0.7") - Установить значение 0 для цифры, которая увеличивается только за счёт переноса младшего разряда (например, «0» для «0.7») + Установить значение 0 для цифры, которая увеличивается только за счёт переноса младшего разряда (например, «0» для «0.7») Valeur à laquelle ce chiffre revient à 0 en incrémentant le chiffre précédent (0 = pas de cycle) - Значение, при котором данная цифра становится равной 0 при увеличении предыдущей цифры (0 = цикл отсутствует) + Значение, при котором данная цифра становится равной 0 при увеличении предыдущей цифры (0 = цикл отсутствует) @@ -6765,12 +7913,12 @@ Voulez-vous tout de même lier ce contact esclave ? Format d'affichage : une suite de zéros donne le nombre minimum de chiffres (00 = 07, 000 = 007). Vide = largeur naturelle du type. - Формат отображения: последовательность нулей указывает минимальное количество цифр (00 = 07, 000 = 007). Пустое поле = естественная ширина типа. + Формат отображения: последовательность нулей указывает минимальное количество цифр (00 = 07, 000 = 007). Пустое поле = естественная ширина типа. 0 - + 0 @@ -6806,7 +7954,7 @@ Voulez-vous tout de même lier ce contact esclave ? Cyclique (modulo) - Циклический (по модулю) + Циклический (по модулю) @@ -6815,7 +7963,7 @@ Voulez-vous tout de même lier ce contact esclave ? Alphabétique - По алфавиту + По алфавиту @@ -6919,14 +8067,14 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name название части элемента Динамическое текстовое поле - + Déplacer un champ texte Переместить текстовое поле @@ -6986,61 +8134,80 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Переместить текст - + Modifier un champ texte Редактировать текстовое поле - PdfPagesDialog + PasteNumberingImport - - Sélectionner une page - Выбрать страницу + + Numérotation absente de ce projet + - - Ce document PDF contient %n page(s) + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + + PdfPagesDialog + + + Sélectionner une page + Выбрать страницу + + + + Ce document PDF contient %n page(s) + Этот документ PDF содержит %n страницу Этот документ PDF содержит %n страницы Этот документ PDF содержит %n страниц - + Page à importer : - Страница для импорта: + Страница для импорта: - + Résolution : - Разрешение : - - - - 150 DPI (écran) - 150 DPI (экран) + Разрешение : - 300 DPI (impression) - 300 DPI (печать) + 150 DPI (écran) + 150 DPI (экран) - 600 DPI (haute qualité) - 600 DPI (высокое качество) + 300 DPI (impression) + 300 DPI (печать) - + + 600 DPI (haute qualité) + 600 DPI (высокое качество) + + + Aperçu : - Обзор: + Обзор: @@ -7118,7 +8285,7 @@ Voulez-vous tout de même lier ce contact esclave ? Connecter - + Разъем @@ -7131,12 +8298,12 @@ Voulez-vous tout de même lier ce contact esclave ? X - X + X Y - Y + Y @@ -7144,12 +8311,12 @@ Voulez-vous tout de même lier ce contact esclave ? Замкнутый многоугольник - + Ajouter un point Добавить точку - + Supprimer ce point Удалить эту точку @@ -7202,26 +8369,26 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Пожалуйста, выберите свойства, которые будут применены к новому потенциалу. - - - + + + Fonction : %1 Функция: %1 - - - + + + Tension/protocole : %1 Напряжение/протокол: %1 - - + + %n conducteurs composent le potentiel suivant : %n проводник составляет следующий потенциал: @@ -7230,57 +8397,57 @@ Tension/protocole : %1 - - - + + + Numéro : %1 Номер: %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Выберите электрический потенциал из списка, чтобы использовать его для нового потенциала - - - + + + Couleur du conducteur : %1 Цвет проводника:%1 - - - + + + Section du conducteur : %1 Сечение проводника: %1 - + Ajouter au câble: %1 Добавить в кабель: %1 - + Ajouter au bus: %1 Добавить в шину: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Редактировать свойства нескольких проводников - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7291,10 +8458,120 @@ Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + Название диалогового окна настройки префиксов коллекции пользователей + Префиксы пользовательской коллекции + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + Каждая папка в коллекции имеет префикс: он добавляется перед меткой элементов папки. +Пустое поле означает, что папка использует префикс своей родительской папки. + + + + Dossier + column header of the folder tree + заголовок столбца в дереве папок + Документ + + + + Préfixe + column header of the prefix column + заголовок столбца с префиксом + Префикс + + + + Tout déplier + Развернуть всё + + + + Tout replier + Свернуть всё + + + + Entrées sans dossier + Заявки без документов + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + %n запись из файла qet_labels.xml не соответствует ни одной папке в коллекции: +сохранить их или удалить? + %n записи из файла qet_labels.xml не соответствуют ни одной папке в коллекции: +сохранить их или удалить? + %n записей из файла qet_labels.xml не соответствуют ни одной папке в коллекции: +сохранить их или удалить? + + + + + Conserver + Сохранить + + + + Supprimer + Удалить + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + заполнитель пустого поля префикса, папка которого явно не имеет префикса, что отменяет наследование + без префикса: не наследуется от родительского элемента + + + + + hériter du dossier parent + placeholder of an empty prefix field + заполнитель пустого поля префикса + унаследовать документ родителя + + + + Enregistrement impossible + Регистрация невозможна + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + Не удалось сохранить файл %1: +%2 + + + + Fichier endommagé remplacé + Поврежденный файл заменен + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + Файл %1 оказался нечитаемым: он был заменен. +Его копия сохранена по адресу: +%2 + + PrintConfigPage - + Impression configuration page title Печать @@ -7303,155 +8580,365 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto Автонумерация - + Management Управление - - + + Conducteurs Проводники - - + + N° + + + + + Nom + Имя + + + + Folio + Лист + + + + Élément + Элемент + + + + Figé + + + + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + + + + Eléments Элементы - - + + Folios Листы - + Numérotation auto des folios Автонумерация листов - + Importer depuis un autre projet... Импортировать из другого проекта... - + Reprendre les numérotations automatiques enregistrées dans un autre projet Использовать автоматическую нумерацию, сохраненную в другом проекте - - - - - - - - Sans nom - Без имени + + figé + - + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + Удалить нумерацию + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Sans nom + Без имени + + + Importer les numérotations d'un projet Импорт нумерации из проекта - + Projet QElectroTech (*.qet) Проект QElectroTech (*.qet) - - + + Import impossible Импорт невозможен - + Impossible d'ouvrir %1 Не удается открыть %1 - + %1 n'est pas un projet QElectroTech valide. %1 не является допустимым проектом QElectroTech. - - + + Aucune numérotation Нумерация отсутствует - - + + Ce projet ne contient aucune numérotation automatique. В этом проекте отсутствует автоматическая нумерация. - + Numérotations à importer Номера, которые необходимо импортировать - + Numérotations trouvées dans %1 : Номера, найденные в %1: - + %1 : %2 (existe déjà) %1 : %2 (уже существует) - + Remplacer les numérotations de même nom Заменить одноименные нумерации - + + Importer des numérotations + + + + Import terminé Импорт завершен - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. %1 номер(а) импортировано, %2 оставлены без изменений. - + %1 numérotation(s) importée(s). %1 импортированный номер (номера). - - - - - - - - - Nom de la nouvelle numérotation - Имя нумерации + Имя нумерации ProjectDBModel - + Position Положение - + Position du folio Положение листа @@ -7474,54 +8961,139 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title Общее - + Titre du projet : label when configuring Название проекта: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Это название доступно всем дочерним листам как %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label информационная метка Ниже вы можете задать пользовательские свойства, которые будут доступны всем дочерним листам (обычно для использования в шаблонах). - + Temps passé sur ce projet : label when configuring - Время, затраченное на этот проект: + Время, затраченное на этот проект: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - Отслеживать время, затраченное на этот проект (сохраняется только локально в этом файле) + Отслеживать время, затраченное на этот проект (сохраняется только локально в этом файле) - + Réinitialiser button label - Сбросить + Сбросить - - + + Croisements de conducteurs : + label when configuring + метка при настройке + Пересечения проводников: + + + + Sans saut + wire crossings + Без прыжка + + + + Saut sur les conducteurs horizontaux + wire crossings + Прыжок горизонтальных проводников + + + + Saut sur les conducteurs verticaux + wire crossings + Прыжок вертикальных проводников + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + Нарисуйте небольшую дугу в том месте, где два проводника пересекаются, но не соединяются. Изменится только рисунок: никаких элементов не будет добавлено, и ни один проводник не будет перерезан. + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project - %1 ч %2 мин + %1 ч %2 мин @@ -7562,137 +9134,137 @@ Les variables suivantes sont incompatibles : На дату: - + Option de rendu Опции оформления - + Dessiner le cadre Рисовать рамку - + Dessiner le cartouche Рисовать основную надпись - + Conserver les couleurs des conducteurs Сохранять цвет проводников - + Dessiner les bornes Рисовать выводы - + Dessiner les noms des bornes - Нарисовать названия клемм + Рисовать названия клемм - + Inscrire les informations des composants - Ввести данные о компонентах + Вывести данные о компонентах - + Option d'impression Опции печати - + Adapter le folio à la page Вписать лист в страницу - + Utiliser toute la feuille Использовать всю страницу - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Если этот параметр отмечен, лист будет увеличиваться или уменьшаться, чтобы заполнить всю область страницы. - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Если этот флажок установлен, поля страницы игнорируются и вся её поверхность будет использоваться для печати. Это может не поддерживаться вашим принтером. - + toolBar панель_инструментов - + Ajuster la largeur Подогнать по ширине - + Ajuster la page Вписать в страницу - + Zoom arrière Уменьшить - + Zoom avant Увеличить - + Paysage Альбомная - + Portrait Книжная - + Première page Первая страница - + Page précédente Предыдущая страница - + Page suivante Следующая страница - + Dernière page Последняя страница - + Afficher une seule page Показать одну страницу - + Afficher deux pages Показать две страницы - + Afficher un aperçu de toutes les pages Показать все страницы - + mise en page Макет @@ -7770,7 +9342,7 @@ Voulez-vous enregistrer les modifications ? Êtes-vous sûr de vouloir supprimer ce folio du projet ? message box content - Вы уверены, что хотите удалить этот лист из проекта? + Вы уверены, что хотите удалить этот лист из проекта? @@ -7823,12 +9395,12 @@ Voulez-vous enregistrer les modifications ? go one page left - перейти на одну страницу влево + перейти на одну страницу влево go one page right - перейти на одну страницу вправо + перейти на одну страницу вправо @@ -7871,240 +9443,292 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Загрузка... Инициализация кэша коллекций элементов - + Chargement... Éditeur de schéma splash screen caption Загрузка... Редактор схем - + Chargement... Ouverture des fichiers splash screen caption Загрузка... Открытие файлов - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR Переведите эту строку в RTL, если вы переводите на язык с письмом справа налево, иначе переводите в LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Штампы QET - + Cartouches company title of the company's title block templates collection Штампы компании - + Cartouches utilisateur title of the user's title block templates collection Штампы пользователя - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Схема - + Electrique Normal example text - translate length, not meaning Электрическая - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Настройка QElectroTech - + + Enregistrer la configuration sous... + dialog title + Сохранить настройки как... + + + + + Configurations QElectroTech (*.conf) + file dialog filter + Настройки QElectroTech (*.conf) + + + + + Erreur + message box title + Ошибка + + + + Impossible d'enregistrer la configuration dans « %1 ». + Не удалось сохранить настройки в «%1». + + + + Charger une configuration... + dialog title + Загрузить настройки... + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + «%1» не является настройкой, сохраненной в QElectroTech. + + + + Charger une configuration + message box title + Загрузить конфигурацию + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + Эта конфигурация заменит ваши текущие настройки, за исключением расположения окон и списка недавних файлов. + +После этого QElectroTech закроется. Запустите его заново, чтобы применить новую конфигурацию. + +Хотите продолжить? + + + Chargement... splash screen caption Загрузка... - + Chargement... icône du systray splash screen caption Загрузка... Значок в трее - + QElectroTech systray menu title QElectroTech - + &Quitter &Выход - + &Masquer &Скрыть - + &Restaurer &Показать - + &Masquer tous les éditeurs de schéma &Скрыть редактор схем - + &Restaurer tous les éditeurs de schéma &Показать редактор схем - + &Masquer tous les éditeurs d'élément &Скрыть редактор элементов - + &Restaurer tous les éditeurs d'élément &Показать редактор элементов - + &Masquer tous les éditeurs de cartouche systray submenu entry &Скрыть редактор штампов - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Показать редактор штампов - + &Nouvel éditeur de schéma &Новый редактор схем - + &Nouvel éditeur d'élément &Новый редактор элементов - + Ferme l'application QElectroTech Закрыть QElectroTech - + Réduire QElectroTech dans le systray Свернуть QElectroTech в трей - + Restaurer QElectroTech Восстановить QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Редакторы схем - + Éditeurs d'élément Редакторы элементов - + Éditeurs de cartouche systray menu entry Редакторы штампов - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Обнаружен файл восстановления.<br>Открыть его?</b><br> + <b>Обнаружен файл восстановления.<br>Открыть его?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Обнаружены файлы восстановления.<br>Открыть их?</b><br> + <b>Обнаружены файлы восстановления.<br>Открыть их?</b><br> - Fichier de restauration - Файл восстановления + Файл восстановления - + Rapport de plantage Отчет о сбое - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. QElectroTech не завершил работу должным образом при последнем запуске. Ниже приведены последние сообщения, зафиксированные перед завершением работы — вы можете сохранить их, чтобы приложить к отчёту об ошибке. - + Rapport de diagnostic Диагностический отчет - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. Здесь содержатся последние записи журнала данного сеанса. Проверьте их содержание, прежде чем прикреплять их к публичному отчету об ошибке. - + Usage : Использование: - + [options] [fichier]... @@ -8113,7 +9737,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8130,35 +9754,35 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Задаёт каталог с коллекцией элементов - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Задаёт каталог с коллекцией штампов - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Задаёт каталог конфигурации - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Задаёт каталог с данными - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Задаёт каталог с языковыми файлами @@ -8168,175 +9792,183 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Annulations dock title История - + Aucune modification Нет изменений - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Выберите действие, чтобы откатить изменения, сделанные в схеме - + &Nouveau &Новый - + &Ouvrir &Открыть - + + &Fermer &Закрыть - + &Enregistrer &Сохранить - + Enregistrer sous Сохранить как - + E&xporter &Экспорт - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip В этой панели показаны различные изменения на текущем листе. При выборе изменения лист будет возвращён в то состояние, в котором он находился сразу после его применения. - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas Редактор схем - + Imprimer Печать - + Exporter en pdf Экспорт в PDF - + Exporte un ou plusieurs folios du projet courant status bar tip подсказка в строке состояния Экспорт одного или нескольких листов текущего проекта - + &Quitter &Выход - + Annuler Отмена - + Refaire Повторить - + Co&uper &Вырезать - + Cop&ier &Копировать - + C&oller Вст&авить - + Coupure automatique de conducteur(s) Tool tip of auto break conductor Автоматическое отключение проводника (проводников) - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor Автоматически обрезать существующие проводники при размещении элемента @@ -8352,417 +9984,623 @@ Options disponibles : Показывать фон листа белым или серым - + Afficher la grille Показать сетку - + Affiche ou masque la grille des folios Показать или скрыть сетку листа - + Grille des textes Список текстов - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. Сетка для выравнивания текста при перемещении мышью. Удерживайте клавишу Ctrl во время перемещения, чтобы разместить текст в произвольном месте. - + Désactivée Отключено - + Afficher les guides Показать руководство - + Affiche ou masque les guides Отображать или скрывать направляющие - + Garder les en-têtes visibles Оставить заголовки видимыми - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue Оставить номера столбцов и буквы строк листа видимыми на краю окна просмотра - + Afficher les limites des cases Показать границы ячеек - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement Начертите границы столбцов и строк листа на схеме — только на экране - + + Afficher + Показывать + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Перекрестные ссылки + + + + Voir Affichage > Afficher + + + + Propriétés du folio Свойства листа - + Ajouter un folio Добавить лист - - - + + + Supprimer le folio Удалить этот лист - + Exporter au format CSV Экспорт в формат CSV - + Gestionnaire de borniers (DEV) Управление клеммными колодками (DEV) - + Exporter la liste des noms de conducteurs Экспорт списка имен проводников - + Exporter le plan de câblage Экспорт схемы прокладки кабелей - + Liste de câblage (base de données) Схема подключения (база данных) - + Numérotation automatique des bornes Автоматическая нумерация клемм - - - + + + Recharger les dessins des éléments Обновить чертежи элементов - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) Перерисовать каждый размещенный элемент в соответствии с его текущим определением без необходимости закрывать и заново открывать проект (это действие нельзя отменить) - + Exécuter un script... Запустить скрипт... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) Выполняет скрипт JavaScript в текущем проекте (доступные API см. в разделе qet.* в скрипте) - + + Enregistrer une macro + Запись макроса + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + Записывайте свои действия в рамках проекта, чтобы помощник на базе ИИ преобразовал их в скрипт; щелкните еще раз, чтобы остановить запись + + + + Gérer les scripts… + Управление скриптами… + + + + Écrire un script et en faire un bouton avec une icône + Написать скрипт и превратить его в кнопку с иконкой + + + + Ouvrir le dossier des scripts + Открыть папку со скриптами + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + Каждый файл .js в этой папке, который начинается с заголовка // ==QETScript==, превращается в кнопку + + + Exporter la base de donnée interne du projet Экспорт внутренней базы данных проекта - + Crée un nouveau projet status bar tip Создать новый проект - + Ouvre un projet existant status bar tip Открыть существующий проект - + Ferme le projet courant status bar tip Закрыть текущий проект - + Enregistre le projet courant et tous ses folios status bar tip Сохранить текущий проект и все его листы - + Enregistre le projet courant avec un autre nom de fichier status bar tip Сохранить текущий проект с другим именем - + Ajouter une ligne Add row Добавить ряд Добавить строку - + Enlever une ligne Remove row Удалить строку - + Ajoute une colonne au folio status bar tip Добавить столбец - + Enlève une colonne au folio status bar tip Удалить столбец - + Agrandit le folio en hauteur status bar tip Увеличивает высоту листа - + Rétrécit le folio en hauteur status bar tip Уменьшает высоту листа - + Pivoter le groupe Повернуть группу - - Insérer le dernier élément - + + Grouper + Группировать - + + Dégrouper + Разгруппировать + + + + Insérer le dernier élément + Вставить последний элемент + + + Place à nouveau le dernier élément inséré status bar tip - + Снова вставить последний добавленный элемент - + Rechercher une commande… - + Поиск команды… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Введите часть названия команды и нажмите Enter, чтобы запустить её - + Insérer un élément… - + Вставить элемент… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Открыть окно выбора элементов в месте нахождения курсора - + Barre de raccourcis - + Панель быстрого доступа - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Открывает в месте нахождения курсора команды, необходимые для выделения, а также средство выбора элементов - + Répéter la dernière commande - + Повторить последнюю команду - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Повторить последнее действие с инструментом рисования или последнюю вставку элемента (ввод на лист) - + Enlève les éléments sélectionnés du folio status bar tip Удалить выбранные элементы - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip Поворачивает выделенную область как единое целое вокруг её центра, а не каждый элемент по отдельности - - Aligner sur la grille - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + Объединяет выбранные элементы, текст, фигуры и изображения: их можно выделять, перемещать и копировать вместе - + + Défait les groupes sélectionnés + status bar tip + Удалить выбранные группы + + + + Aligner sur la grille + Выровнять по сетке + + + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + Вставляет выделенные элементы, изображения и текст по сетке - + + Aligner à gauche + Выравнивание по левому краю + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + Выравнивает левые края выделенных объектов + + + + Centrer horizontalement + Центрировать по горизонтали + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + Выравнивает выделенные объекты по одной вертикали, ориентируясь на их начальные точки для элементов + + + + Aligner à droite + Выравнивание по правому краю + + + + Aligne les bords droits des objets sélectionnés + status bar tip + Выравнивает правые края выделенных объектов + + + + Aligner en haut + Выравнивание по верху + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + Выравнивает верхние края выделенных объектов + + + + Centrer verticalement + Центрировать по вертикали + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + Выравнивает выбранные объекты по одной горизонтальной линии, ориентируясь на их начальные точки для элементов + + + + Aligner en bas + Выравнивание по нижнему краю + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + Выравнивает нижние края выделенных объектов + + + Tout sélectionner Выделить всё - + Désélectionner tout Снять выделение - + Inverser la sélection Инвертировать выделение - + Sélectionner tous les conducteurs - + Выбрать все проводники - + Sélectionner tous les champs de texte - + Выделить все текстовые поля - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Выделяет все проводники на листе, снимает выделение с остальных - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Выделяет все текстовые поля на листе, снимает выделение с остальных - + + Centrer sur le curseur + Выравнивание по курсору + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + Выровнять лист по точке под курсором мыши, не изменяя масштаб + + + Ajouter un PDF Добавить PDF-файл - + + Ajouter un arc + Добавить дугу + + + Ajouter une courbe Добавить кривую - + + Ajouter un congé + Добавить скругление + + + Ajouter un plan de bornes Добавить схему расположения терминалов - + Ajoute un champ de texte sur le folio actuel Добавить текстовое поле в текущий лист - + Ajoute une image sur le folio actuel Добавить изображение в текущий лист - + Ajoute une page PDF sur le folio actuel Добавляет страницу PDF на текущий лист - + Ajoute une ligne sur le folio actuel Добавить линию в текущий лист - + Ajoute un rectangle sur le folio actuel Добавить прямоугольник в текущий лист - + Ajoute une ellipse sur le folio actuel Добавить эллипс в текущий лист - + + Ajoute un arc sur le folio actuel + Добавляет дугу на текущем листе + + + Ajoute une polyligne sur le folio actuel Добавить ломаную линию в текущий лист - + Ajoute une courbe de Bézier sur le folio actuel Добавляет кривую Безье на текущем листе - + + Arrondit le coin entre deux lignes du folio actuel + Скругляет угол между двумя строками на текущем листе + + + Ajoute un plan de bornier sur le folio actuel Добавляет схему клеммной колодки на текущий лист - + Atteindre un élément Перейти к элементу - + Recherche et sélectionne rapidement un élément du folio status bar tip Быстрый поиск и выделение элемента на листе - + Profondeur toolbar title Глубина - + + Scripts + toolbar title + Скрипты + + + A&jouter - + &Добавить - + Aligner - + Выровнять - + Lignes et colonnes - + Строки и столбцы + + + + + Scripts + Скрипты - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -8772,7 +10610,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -8782,725 +10620,895 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title Шрифты проекта - + + Folio %1 : %2 + Лист %1: %2 + + + + Conducteurs non chargés + message box title + Провода не подключены + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + %n провод не удалось подключить к клеммам и они не были загружены. Вероятно, определение этого элемента в проекте было заменено другим, у которого клеммы отличаются. + +Если вы сохраните проект, эти провода исчезнут из файла. Закройте файл без сохранения, чтобы оставить его в текущем виде. + %n провода не удалось подключить к клеммам и они не были загружены. Вероятно, определение этого элемента в проекте было заменено другим, у которого клеммы отличаются. + +Если вы сохраните проект, эти провода исчезнут из файла. Закройте файл без сохранения, чтобы оставить его в текущем виде. + %n проводов не удалось подключить к клеммам и они не были загружены. Вероятно, определение этого элемента в проекте было заменено другим, у которого клеммы отличаются. + +Если вы сохраните проект, эти провода исчезнут из файла. Закройте файл без сохранения, чтобы оставить его в текущем виде. + + + + Suppression de borne impossible Удаление терминала невозможно - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer Удаление невозможно, так как в выделенном наборе есть одна или несколько клемм, соединенных мостом и/или относящихся к многоуровневой клемме. Разобъедините и/или удалите уровни соответствующих клемм, чтобы их можно было удалить. - + Groupe Группа - + %n objet(s) remis sur la grille - - - + %n элемент возвращен на сетку + %n элемента возвращены на сетку + %n элементов возвращены на сетку + + + + + %n objet(s) aligné(s) + + %n выровненный объект + %n выровненныйых объекта + %n выровненныйых объектов - + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + Выберите как минимум два элемента: изображения, текст, фигуры или незаблокированные группы + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) - - - + (%n заблокированный объект остался на месте) + (%n заблокированных объектов остались на месте) + (%n заблокированных объектов остались на месте) - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content содержимое окна сообщения Ошибка при открытии файла %1. - + Répéter : insérer « %1 » - + Повторить: вставку «%1» - + Répéter : %1 - + Повторить: %1 - + folio %1 - + лист %1 - + %n élément(s) redessiné(s). - - - + %n перерисованный элемент. + %n перерисованных элементов. + %n перерисованных элементов. - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - - - + %n элемент, определение которого не найдено или нечитаемо: их текущий рисунок был сохранен. + %n элемента, определение которых не найдено или нечитаемо: их текущий рисунок был сохранен. + %n элементов, определение которых не найдено или нечитаемо: их текущий рисунок был сохранен. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - - - + %n элемент, не перерисованный: их размер, точка захвата или границы изменились (граница добавлена, удалена или перемещена). + %n элемента, не перерисованных: их размер, точка захвата или границы изменились (граница добавлена, удалена или перемещена). + %n элементов, не перерисованных: их размер, точка захвата или границы изменились (граница добавлена, удалена или перемещена). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - + Чтобы обновить их, необходимо удалить их, а затем вставить заново. Внимание: при выполнении этой операции будут удалены проводники, уже подключенные к этим элементам, и их придётся проложить заново. - - + + Exécuter un script - + Запустить скрипт - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech > Général > Projets. - + Скрипты отключены. + +Скрипт запускается с вашими правами: он может читать и изменять открытый проект, а также записывать файлы. Запускайте только те скрипты, источник которых вам известен. + +Включить скрипты? Этот параметр можно изменить в меню «Настройки QElectroTech» > «Общие» > «Проекты». - + Scripts JavaScript (*.js);;Tous les fichiers (*) - + Скрипты JavaScript (*.js);;Все файлы (*) - - + + Ignoré : %1 + Игнорируется: %1 + + + + + Arrêter + Остановить + + + + Arrêter l'enregistrement de la macro + Остановить запись макроса + + + + ● Enregistrement : %n étape(s) + + ● Записано: %n шаг + ● Записано: %n шага + ● Записано: %n шагов + + + + + Macro enregistrée + Запись макроса + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + «%1»: %n шаг. + +Чтобы превратить это в скрипт, обратитесь к своему ИИ-помощнику: кнопка ниже скопирует запрос, его достаточно вставить в окно помощника. + «%1»: %n шага. + +Чтобы превратить это в скрипт, обратитесь к своему ИИ-помощнику: кнопка ниже скопирует запрос, его достаточно вставить в окно помощника. + «%1»: %n шагов. + +Чтобы превратить это в скрипт, обратитесь к своему ИИ-помощнику: кнопка ниже скопирует запрос, его достаточно вставить в окно помощника. + + + + + &Copier la demande pour l'assistant + &Скопировать запрос для помощника + + + + &Ouvrir le dossier + &Открыть папку + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + Скопированный запрос: вставьте его в окно мастера + + + + Couper la connexion de l'assistant pour le reste de la session + Отключить подключение помощника до конца сеанса + + + + Mode direct : assistant connecté + Прямой режим: подключенный помощник + + + + Mode direct : en attente d'un assistant + Прямой режим: ожидание помощника + + + + + Assistant + Помощник + + + + Demander avant d'exécuter un script écrit par l'assistant + Запросить подтверждение перед запуском скрипта, созданного мастером + + + + Pour cette session seulement : chaque démarrage redemande + Только в этой сессии: при каждом запуске запрашивается заново + + + + Mode direct : %1 %2 à %3 + Прямой режим: %1 %2 — %3 + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 - + Тексты %1 - + Supprimer Удалить - + Pivoter Повернуть - + Orienter les textes Выбрать направление текста - + Retrouver dans le panel Найти в панели - + Réinitialiser les conducteurs Восстановить проводники - + Ajouter un champ de texte Добавить текстовое поле - + Ajouter une colonne Добавить столбец - + Ajouter une image Добавить изображение - + Enlever une colonne Удалить столбец - + Propriétés du projet Свойства проекта - + Nettoyer le projet Очистить проект - + Ajouter un sommaire Добавить заключение - + Zoom avant Увеличить - + Zoom arrière Уменьшить - + Zoom sur le contenu Масштабировать выбранное - + Zoom adapté Подогнать размер - + Pas de zoom Восстановить масштаб - + en utilisant des onglets Использовать вкладки - + en utilisant des fenêtres Использовать окна - + Mode Selection Режим выделения - + Mode Visualisation Режим просмотра - + &Mosaïque &Мозаика - + &Cascade &Каскад - + Projet suivant Следующий проект - + Projet précédent Предыдущий проект - + Sélectionne tous les éléments du folio status bar tip Выделяет все элементы на листе - + Désélectionne tous les éléments du folio status bar tip Снимает выделение со всех элементов листа - + Agrandit le folio status bar tip Увеличивает лист - + Rétrécit le folio status bar tip Уменьшает лист - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Изменяет масштаб для отображения всего содержимого листа независимо от контекста - + Adapte le zoom exactement sur le cadre du folio status bar tip Изменяет масштаб для отображения только части листа - + Ajouter un rectangle Добавить прямоугольник - + Ajouter une ellipse Добавить эллипс - + Ajouter une polyligne Добавить ломаную линию - + Retrouve l'élément sélectionné dans le panel status bar tip Ищет выбранный элемент в панели - - + + Projet %1 enregistré dans le repertoire: %2. Проект %1 сохранён в каталоге: %2. - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Проекты QElectroTech (*.qet);;Файлы XML (*.xml);;Все файлы (*) - - + + Impossible d'ouvrir le fichier message box title Невозможно открыть файл - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Файл %1, который вы пытаетесь открыть, не существует. - + Ouverture du projet en lecture seule message box title Открытие файла в режиме "только чтение" - + Active le projet « %1 » Активирует проект «%1» - + Êtes-vous sûr de vouloir supprimer ce folio ? Вы уверены, что хотите удалить этот лист? - + Supprimer les folios Удалить лист - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Вы уверены, что хотите удалить %1 выбранных листов? - + Supprimer %1 folios Удалить %1 листов - - - - - - - + + + + + + + Déplacer les folios Перемещение листов - + Erreur message box title Ошибка - + Ferme l'application QElectroTech status bar tip Закрывает QElectroTech - + Annule l'action précédente status bar tip Отменяет последнее действие - + Restaure l'action annulée status bar tip Выполняет отменённое действие - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Копирует выделенные элементы в буфер обмена - + Copie les éléments sélectionnés dans le presse-papier status bar tip Копирует выделенные элементы - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Инвертирует выделение - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Пересчитывает трассы проводников, игнорируя сделанные пользователем изменения - + Éditer l'item sélectionné Редактировать выбранный элемент - + Pivote les éléments et textes sélectionnés status bar tip Поворот выбранных элементов и текстов - + Pivote les textes sélectionnés à un angle précis status bar tip Повернуть выбранный текст на определённый угол - + Création automatique de conducteur(s) Tool tip of auto conductor Автоматическое создание проводников - + Projets dock title Проекты - + Collections Коллекции - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Использовать автоматическое создание проводников, когда это возможно - + Restaure le zoom par défaut status bar tip Сбрасывает масштаб - + Ajouter une ligne Draw line Добавить линию - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Показывает разные открытые проекты в окнах - + Présente les différents projets ouverts des onglets status bar tip Показывает разные открытые проекты во вкладках - + Permet de sélectionner les éléments status bar tip Позволяет выбирать элементы - + Dispose les fenêtres en mosaïque status bar tip Разместить окна мозаикой - + Dispose les fenêtres en cascade status bar tip Разместить окна каскадом - + Active le projet suivant status bar tip Активирует следующий проект - + Active le projet précédent status bar tip Активирует предыдущий проект - + &Fichier &Файл - + &Édition &Правка - + &Projet П&роект - + Afficha&ge &Вид - + Fe&nêtres &Окно - + &Récemment ouverts &Недавно открытые - + Affiche ou non la barre d'outils principale Отобразить или скрыть главную панель инструментов - + Affiche ou non la barre d'outils Affichage Отобразить или скрыть панель инструментов «Вид» - + Affiche ou non la barre d'outils Schéma Отобразить или скрыть панель инструментов «Схема» - + Affiche ou non le panel d'appareils Отобразить или скрыть панель элементов - + Affiche ou non la liste des modifications Отобразить или скрыть список изменений - + Afficher les projets Показывать проекты - + Outils Инструменты - + Exporte le folio courant dans un autre format status bar tip Экспортировать текущий лист в другой формат - + Imprime un ou plusieurs folios du projet courant status bar tip Печатать один или более листов текущего проекта - + + Coller au point d'origine + Вернуться в исходную точку + + + Place les éléments du presse-papier sur le folio status bar tip Вставляет на лист элементы из буфера обмена - - Dupli&quer - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + Верни элементы буфера обмена в исходное положение и перемести курсор в эту точку - + + Dupli&quer + &Дубликат + + + Copie la sélection, décalée de l'espacement configuré status bar tip - + Скопировать выделенную область, сместив её на заданное расстояние - + Configurer la duplication... - + Настроить дублирование... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Выбрать интервал и направление, используемые функцией «Дублировать» - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Редактирует свойства листа (размеры, информацию шаблонов, свойства проводников...) - + Ajouter une nomenclature Добавить номенклатуру - + Lancer le plugin de création de borniers Запустить плагин создания клеммной колодки - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Позволяет просматривать листы, не изменяя их - + Grouper les textes sélectionnés Сгруппировать выбранные тексты - + Chercher/remplacer Найти/заменить - + Affichage Вид - + Schéma Схема - + Ajouter Добавить - + Ouvrir un fichier Открыть файл - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Файл, который вы пытаетесь открыть, недоступен для чтения и не может быть открыт. Проверьте права доступа. - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Проект, который вы пытаетесь открыть, недоступен для записи. Он будет открыт в режиме "только для чтения". - - + + Échec de l'ouverture du projet message box title Невозможно открыть проект - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Файл %1 не является проектом QElectroTech. Он не может быть открыт. - + Éditer l'élement edit element Редактировать элемент - + Éditer le champ de texte edit text field Редактировать текстовое поле - + Éditer l'image edit image Редактировать изображение - + Éditer le conducteur edit conductor Редактировать проводник - + Éditer l'objet sélectionné edit selected item Редактировать выбранный объект @@ -9509,42 +11517,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Новый - + &Ouvrir &Открыть - + &Ouvrir depuis un fichier &Открыть из файла - + &Enregistrer &Сохранить - + Enregistrer sous Сохранить как - + Enregistrer dans un fichier Сохранить в файл - + Recharger Перезагрузка - + Tout sélectionner Выделить всё @@ -9554,343 +11562,343 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech — Редактор элементов - + &Aide Сп&равка - + Annulations История - + Parties Части - + Informations Информация - + Outils Инструменты - + Affichage Вид - + Élément Элемент - + Annulation Отмена - + Exporter en SVG Экспорт в SVG - + &Fermer cet éditeur &Закрыть этот редактор - + Fermer cet éditeur Закрыть этот редактор - + Désélectionner tout Снять выделение - + Co&uper &Вырезать - + Cop&ier &Копировать - + C&oller Вст&авить - + C&oller dans la zone Вст&авить в область - + Un fichier Файл - + Un élément Элемент - + À &propos de QElectroTech &О QElectroTech - + Affiche des informations sur QElectroTech Показывает информацию о QElectroTech - + Manuel en ligne Онлайн-руководство - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Открывает в браузере по умолчанию онлайн-руководство QElectroTech - + Chaine Youtube YouTube-канал - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Открывает в браузере по умолчанию YouTube-канал QElectroTech - + Soutenir le projet par un don Поддержать проект - + Soutenir le projet QElectroTech par un don Поддержите проект QElectroTech пожертвованием - + À propos de &Qt О &библиотеке Qt - + Affiche des informations sur la bibliothèque Qt Показывает информацию о библиотеке Qt - + Rotation Вращение - + Fine-Rotation Точное вращение - + Mirror Отразить - + Flip - + Importer un dxf Импортировать файл в формате DXF - + importer un élément à redimensionner импортировать элемент для изменения размера - + Inverser la sélection Инвертировать выделение - + &Supprimer &Удалить - + Zoom avant Увеличить - + Zoom arrière Уменьшить - + Zoom adapté Подогнать размер - + Pas de zoom Восстановить масштаб - + Éditer les informations sur l'auteur Редактировать информацию об авторе - + Ajouter une ligne Добавить линию - + Ajouter un rectangle Добавить прямоугольник - + Ajouter une ellipse Добавить эллипс - + Ajouter un polygone Добавить многоугольник - + Ajouter du texte Добавить текст - + Ajouter un arc de cercle Добавить дугу - + Ajouter une borne Добавить вывод - + Annuler Отмена - + Afficher menu entry Показывать - + Trop de primitives, liste non générée: %1 Слишком много примитивов, список не сгенерирован: %1 - + Refaire Повторить - + Avertissement Предупреждение - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Импорт большого файла в формате DXF может занять определённое время, пожалуйста, дождитесь его окончания... - + Parties toolbar title Части - + Profondeur toolbar title Глубина - + Éditer le nom et les traductions de l'élément Редактировать имя и информацию элемента - + Éditer les propriétés de l'élément Редактировать свойства элемента - + Ajouter un champ texte dynamique Добавить динамическое текстовое поле - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Сделайте двойной щелчок, чтобы завершить форму, щелкните правой кнопкой мыши, чтобы отменить последнюю точку - + Coller depuis... Вставить из... - + [Modifié] window title tag тег заголовка окна [Изменено] - + [lecture seule] window title tag тег заголовка окна [Только чтение] - + Aucune modification Нет изменений - + Éditeur d'éléments status bar message Редактор элементов - - + + %n partie(s) sélectionnée(s). %n выделенная часть. @@ -9899,18 +11907,18 @@ veuillez patienter durant l'import... - + Absence de borne warning title Отсутствует вывод - + Absence de borne Отсутствует вывод - + %n avertissement(s) warnings предупреждения @@ -9921,233 +11929,290 @@ veuillez patienter durant l'import... - + Le fichier %1 n'existe pas. message box content Файл %1 не существует. - - + + Impossible d'ouvrir le fichier %1. message box content Невозможно открыть файл %1. - - + + Ce fichier n'est pas un document XML valide message box content Этот файл не является правильным XML-документом - - + + Erreur toolbar title Ошибка - - + + Édition en lecture seule message box title Версия только для чтения - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content У вас нет прав для редактирования этого элемента. Он будет открыт в режиме "только для чтения". - - + + Erreur message box title Ошибка - + Impossible d'écrire dans ce fichier message box content Невозможно записать в этот файл - + Impossible d'enregistrer l'élément message box content Невозможно сохранить элемент - + Nombre de bornes incorrect Неверное количество клемм - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>Ошибка</b>:<br>Определения проводников могут иметь только одну клемму.<br><b>Решение</b>:<br>Убедитесь, что элемент имеет только одну клемму - + + Noms de bornes en double + Повторяющиеся названия клемм + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + <br><b>Ошибка</b>:<br>Несколько клемм имеют одинаковые названия: %1.<br><b>Решение</b>:<br>Присвойте каждой клемме уникальное название, например N.1 и N.2. Соответствующие клеммы выбраны. + + + + Bornes sans nom + Безымянные клеммы + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + <br>%n клемма без названия. Без уникальных названий клемм список подключений (в котором указано, что к чему подключается) не может обозначить каждую клемму и, следовательно, не может использоваться для монтажа в распределительном шкафу в мастерской. + <br>%n клеммы без названий. Без уникальных названий клемм список подключений (в котором указано, что к чему подключается) не может обозначить каждую клемму и, следовательно, не может использоваться для монтажа в распределительном шкафу в мастерской. + <br>%n клемм без названий. Без уникальных названий клемм список подключений (в котором указано, что к чему подключается) не может обозначить каждую клемму и, следовательно, не может использоваться для монтажа в распределительном шкафу в мастерской. + + + + Impossible d'ouvrir le fichier message box title Невозможно открыть файл - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Похоже, что файл %1, который вы пытаетесь открыть, не существует. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément Редактор элементов - - X: %1 Y: %2 - + + Afficher le cadre de fond + Показать фоновый кадр - - - + + Taille du cadre de fond... + Размер фоновой рамки... + + + + Taille du cadre de fond + Размер фоновой рамки + + + + + px + px + + + + Largeur + Ширина + + + + Hauteur + Высота + + + + X: %1 Y: %2 + X: %1 Y: %2 + + + + + Echec de l'enregistrement Регистрация не удалась - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Запись не удалась, условия не верны - + Exporter en SVG dialog title Экспорт в SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Изображение SVG (*.svg) - + Échec de l'export Сбой экспорта - + Impossible d'écrire dans le fichier « %1 ». Не удалось записать данные в файл «%1». - + Importer un élément à redimensionner Импортировать элемент для изменения размера - + Éléments QElectroTech (*.elmt) Элементы QElectroTech (*.elmt) - + Ouvrir un fichier dialog title Открыть файл - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file Элементы QElectroTech (*.elmt);;XML-файлы (*.xml);;Все файлы (*) - + Recharger l'élément dialog title Перезагрузить элемент - + Ajouter un texte d'élément non éditable dans les schémas Добавить нередактируемый текст элемента в схемы - + Ajouter un texte d'élément pouvant être édité dans les schémas Добавить редактируемый текст элемента в схемы - + &Fichier &Файл - + &Édition &Правка - + Afficha&ge &Вид - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br> При отсутствии выводов элемент не может быть соединен с другими элементами проводником. - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Ошибка</b>:<br> Отчеты о листах должны иметь один вывод.<br><b>Решение</b>:<br>Проверьте, чтобы у элемента был только один вывод - + La vérification de cet élément a généré message box content Проверка создаваемого элемента - + %n erreur(s) errors @@ -10157,75 +12222,75 @@ les conditions requises ne sont pas valides - + et и - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Erreurs Ошибки - + Avertissements Предупреждения - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Этот элемент был изменён со времени последнего сохранения. Если вы перезагрузите его, все изменения будут потеряны. Вы действительно хотите перезагрузить элемент? - + Enregistrer sous dialog title Сохранить как - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Элементы QElectroTech (*.elmt) - + Enregistrer l'élément en cours ? dialog title Сохранить текущий элемент? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Вы хотите сохранить элемент %1? - - - - + + + + Élément inexistant. message box title Несуществующий элемент. - - + + L'élément n'existe pas. message box content Элемент не существует. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Выбранный виртуальный путь не соответствует элементу. @@ -10234,141 +12299,176 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech &Настройка QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Позволяет изменять различные параметры QElectroTech - + À &propos de QElectroTech &О QElectroTech - + Affiche des informations sur QElectroTech status bar tip Показывает информацию о QElectroTech - + Manuel en ligne Онлайн-руководство - + Chaine Youtube YouTube-канал - - + + Télécharger une nouvelle version (dev) Скачать новую версию (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip подсказка в строке состояния Открыть онлайн-руководство QElectroTech в браузере по умолчанию - - + + Enregistrer la configuration sous... + Сохранить настройки как... + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + Сохраняет настройки QElectroTech в файл + + + + + + Général Общие - + + Charger une configuration... + Загрузить настройки... + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + Заменяет настройки QElectroTech на настройки из файла, а затем закрывает QElectroTech + + + + Connecter un assistant IA... + Подключить ИИ-помощника... + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + Отображает настройки, позволяющие ИИ-помощнику использовать QElectroTech + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip подсказка в строке состояния Открыть YouTube-канал QElectroTech в браузере по умолчанию - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip подсказка в строке состояния Открыть онлайн-репозиторий Nightly QElectroTech в браузере по умолчанию - + Soutenir le projet par un don Поддержать проект - + Soutenir le projet QElectroTech par un don status bar tip подсказка в строке состояния Поддержите проект QElectroTech пожертвованием - + À propos de &Qt О &библиотеке Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Показывает информацию о библиотеке Qt - + Enregistrer un rapport de diagnostic... Сохранить отчет о диагностике... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip Создает отчет с последними записями журнала для включения в отчет об ошибке - + &Configuration window menu &Настройки - + &Aide window menu &Справка - + Sortir du &mode plein écran Выйти из полно&экранного режима - + Affiche QElectroTech en mode fenêtré status bar tip Покажет QElectroTech в оконном (обычном) режиме - + Passer en &mode plein écran Полно&экранный режим - + Affiche QElectroTech en mode plein écran status bar tip Покажет QElectroTech в полноэкранном режиме - + Afficher menu entry Показывать @@ -10377,53 +12477,53 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path отображаемый заголовок для ProjectView -% 1 - это заголовок проекта, -% 2 - это путь к проекту Проект «%1: %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Проект %1 - + Projet sans titre displayed title for a project-less, file-less project Проект без имени - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [только чтение] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [изменён] - + Renumber elements Перенумеровать элементы - + Renumber elements (%1) Перенумеровать элементы (%1) - + Système de contacts modifié - + Модифицированная система контактов - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10434,7 +12534,7 @@ Voulez-vous continuer ? Хотите продолжить? - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10443,7 +12543,7 @@ Vous utilisez actuellement QElectroTech en version %2 В настоящее время вы используете QElectroTech версии %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10452,43 +12552,43 @@ Que désirez vous faire ? Что вы хотите сделать? - + Avertissement message box title Предупреждение - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Проект, который вы пытаетесь открыть, частично совместим с вашей версией %1 программы QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Чтобы обеспечить полную совместимость, откройте этот же проект в версии 0.8 или 0.80 QElectroTech, сохраните проект и снова откройте его в этой версии. Что вы хотите сделать? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Открытие текущего проекта...</b><br/>Создание листов</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Открытие текущего проекта...</b><br/>Настройка перекрестных ссылок</p> - + Une erreur s'est produite durant l'intégration du modèle. error message Во время интеграции шаблона произошла ошибка. - + Avertissement message box title Предупреждение @@ -10499,17 +12599,17 @@ Que désirez vous faire ? Impossible de vérifier la requête : la base de données ne peut pas être mise en lecture seule. - Не удалось проверить запрос: база данных не может быть переведена в режим «только для чтения». + Не удалось проверить запрос: база данных не может быть переведена в режим «только для чтения». Seules les requêtes en lecture seule sont autorisées : cette requête modifierait la base de données. - Допускаются только запросы в режиме «только для чтения»: данный запрос приведёт к изменению базы данных. + Допускаются только запросы в режиме «только для чтения»: данный запрос приведёт к изменению базы данных. Requête SQL invalide : %1 - Недопустимый SQL запрос : %1 + Недопустимый SQL запрос : %1 @@ -10697,7 +12797,7 @@ Que désirez vous faire ? Éditeur de cartouche - Редактор шаблонов + Редактор шаблонов @@ -10788,13 +12888,13 @@ Que désirez vous faire ? Erreur message box title - Ошибка + Ошибка Impossible d'enregistrer le modèle « %1 ». message box content - %1 is a title block template name - Не удалось сохранить шаблон «%1». + Не удалось сохранить шаблон «%1». @@ -10824,7 +12924,7 @@ Que désirez vous faire ? Le nom « %1 » n'est pas valide : il ne doit pas contenir les caractères suivants : \ / : * ? " < > | message box content - %1 is the rejected template name - Имя «%1» недействительно: оно не должно содержать следующие символы: \ / : * ? " < > | + Имя «%1» недействительно: оно не должно содержать следующие символы: \ / : * ? " < > | @@ -10859,8 +12959,8 @@ Que désirez vous faire ? QObject - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Предупреждение: элементы были сохранены с помощью более новой версии QElectroTech. @@ -10880,44 +12980,44 @@ Que désirez vous faire ? графический элемент - + supprimer %1 undo caption - %1 is a sentence listing the removed content удалить %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste вставить %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut вырезать %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content переместить %1 - + modifier le texte undo caption изменить текст - + modifier un conducteur undo caption изменить проводник - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Восстановить %1 @@ -10929,7 +13029,7 @@ Que désirez vous faire ? изменить основную надпись - + modifier les dimensions du folio undo caption изменить размер листа @@ -11017,13 +13117,13 @@ Que désirez vous faire ? Miroir de sélection undo caption - Отразить выделеное + Отразить выделеное Retourner la sélection undo caption - Снять выделение + Снять выделение @@ -11069,27 +13169,27 @@ Que désirez vous faire ? текст - + Folio sans titre Лист без имени - + schema схема - + Conserver les proportions Сохранять пропорции - + Réinitialiser les dimensions Восстановить размер - + Aperçu Предпросмотр @@ -11154,7 +13254,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11164,7 +13264,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11174,7 +13274,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11184,7 +13284,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11194,7 +13294,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11204,7 +13304,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11214,7 +13314,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11224,96 +13324,96 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. - %n схема клеммных колодок + %n схема клеммной колодки %n схемы клеммных колодок %n схем клеммных колодок - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Невозможно найти текстовый файл, содержащий лицензию GNU/GPL, — но вы знаете ее наизусть, не так ли? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Текстовый файл, содержащий лицензию GNU/GPL, существует, но не может быть открыт — но вы знаете ее наизусть, не так ли? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Невозможно открыть файл %1 для записи, возникла ошибка %2. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file сообщение об ошибке при попытке записи XML-файла Произошла ошибка при записи файла %1, произошла ошибка %2. - + Amener au premier plan Поместить на передний план - + Rapprocher Поднять - + Éloigner Опустить - + Envoyer au fond Поместить на задний план - + Ramène la ou les sélections au premier plan Поместить выбранное на передний план - + Rapproche la ou les sélections Поднять выбранное - + Éloigne la ou les sélections Опустить выбранное - + Envoie en arrière plan la ou les sélections Поместить выбранное на задний план - - - - + + + + Profondeur Глубина - + Borne tooltip Вывод - + Exporter vers le presse-papier Экспортировать в буфер обмена @@ -11470,6 +13570,7 @@ Que désirez vous faire ? + Titre Название @@ -11552,6 +13653,7 @@ Que désirez vous faire ? Текст + Modifier les informations de l'élément : %1 Изменить информацию элемента: %1 @@ -11641,32 +13743,32 @@ Que désirez vous faire ? Номер листа - + Collection QET Коллекция QET - + Collection Company Коллекция компании - + Collection utilisateur Коллекция пользователя - + Macros - Макрос + Шаблоны - + Collection inconnue Неизвестная коллекция - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. Файл «%1» отсутствует или нечитаем: не удалось прочитать переведённое название этой папки, вместо него отображается её имя. @@ -11680,8 +13782,13 @@ Que désirez vous faire ? Collection Коллекция + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + Эту группу нельзя переместить: положение одного из её элементов заблокировано. + - + Ajouter %n conducteur(s) add a numbers of conductor one or more добавить номера одного или нескольких проводников @@ -11755,7 +13862,7 @@ Que désirez vous faire ? группы текстов (%1) - + %n texte(s) %n текст @@ -11764,13 +13871,13 @@ Que désirez vous faire ? - - + + Pivoter %1 Повернуть %1 - + Orienter les textes sélectionnés window title Выбор направления выделенного текста @@ -11819,13 +13926,13 @@ Voulez-vous la remplacer ? Импортировать конфигурацию текста: %1 - + %p% effectué (%v sur %m) %p% готово (%v из %m) - - + + chargement %p% (%v sur %m) загрузка %p% (%v из %m) @@ -11835,22 +13942,22 @@ Voulez-vous la remplacer ? Найти/заменить свойства листа - + Chercher/remplacer les propriétés d'éléments. Найти/заменить свойства элемента. - + Chercher/remplacer les propriétés de conducteurs. Найти/заменить свойства проводника. - + Rechercher / remplacer avancé Расширенный поиск и замена - + Chercher/remplacer des textes independants Найти/заменить независимый текст @@ -11862,13 +13969,13 @@ Voulez-vous la remplacer ? Installation (=) - Установка (=) + Установка (=) Localisation (+) - Расположение (+) + Расположение (+) @@ -11947,35 +14054,35 @@ Voulez-vous la remplacer ? - - - + + + Type Тип - - - + + + Adresse Адрес - - - + + + Commentaire Аннотация - - - + + + Réf. croisée Ссылка @@ -11983,9 +14090,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Функция @@ -12315,27 +14422,27 @@ Voulez-vous la remplacer ? Путь к сохраненному файлу - + Création de conducteurs Создание проводников - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Чтобы установить плагин qet_tb_generator<br>Посетите:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Требуется python 3.5 или выше.<br><B><U>Первая установка в Windows</B></U><br>1. При необходимости установите python 3.5 или более позднюю версию<br>Посетите:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U>Обновление в Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>пользователь может запустить в терминале этот сценарий в этом каталоге<br>C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Чтобы установить плагин qet_tb_generator<br>, перейдите по ссылке:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> Сначала установите на macOSX</B></U><br>1. При необходимости установите только пакет Python 3.11: <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2. Запустите скрипт Profile.command<br>, так как программа использует жестко заданный путь (PATH) для поиска плагина qet-tb-generator <br>. Перейдите по ссылке: <br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>инструкция</a><br>2. pip3 install qet_tb_generator<br><B><U> Обновление на macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Чтобы установить плагин qet_tb_generator<br>Посетите:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Требуется Python 3.5 или выше.<br><br><B><U>Первая установка в Linux</B></U><br>1. Проверьте, что у вас установлен pip3: pip3 --version<br> Если не установлено, то: sudo apt-get install python3-pip<br>2. Установите программу: sudo pip3 install qet_tb_generator<br>3. Запустите программу: qet_tb_generator<br><br><B><U>Обновление в Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Ошибка при запуске плагина qet_tb_generator @@ -12355,15 +14462,15 @@ Voulez-vous la remplacer ? Вставить - - + + - - - - - - + + + + + + this is an error in the code это ошибка в коде @@ -12564,12 +14671,12 @@ Voulez-vous la remplacer ? Изменить цвет оконечного моста - + Ouvrir un element Открыть элемент - + Importer un fichier dxf Импортировать файл в формате DXF @@ -12659,7 +14766,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Пожалуйста, скачайте её по ссылке ниже и распакуйте в папку установки. - + Automatic terminal numbering Автоматическая нумерация клемм @@ -12743,7 +14850,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes %n группа текстов @@ -12753,8 +14860,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 Переместить %1 @@ -12891,7 +14998,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille Выровнять %n объект по сетке @@ -12899,91 +15006,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Выровнять %n объектов по сетке + + + Aligner %n objet(s) + + Выровнять %n объект + Выровнять %n объекта + Выровнять %n объектов + + - + Ajouter %1 Добавить %1 - + Modifier les propriétés du conducteur Изменить свойства проводника - + Modifier un texte Изменить текст - + Modifier la couleur d'un texte Изменить цвет текста - + Pivoter un texte Повернуть текст - + Modifier le trait d'une forme Изменить линию фигуры - + Modifier le remplissage d'une forme Изменить заливку фигуры - + Pivoter une forme Поворот фигуры - - + + Modifier la forme d'%1 Изменить форму %1 - + Fermer/Ouvrir %1 Закрыть/Открыть %1 - + Redimensionner une image Изменить размер изображения - + Pivoter une image Повернуть изображение - + Modifier un texte d'élément Редактировать текст элемента - + Numéroter automatiquement un élément Автоматическая нумерация элемента - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer Найти и заменить - - - + + + Script Скрипт - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12995,6 +15116,49 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d Чтобы включить её: «Настройки QElectroTech» > «Общие» > «Проекты» или задайте переменную среды QET_ENABLE_SCRIPTING=1 для запуска без интерфейса (CI, пакетная обработка). + + + Assistant : %1 + Помощник: %1 + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Лист + QTextOrientationWidget @@ -13008,377 +15172,445 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d Example Longer example string - Пример + Пример QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Количество информации выходит за пределы допустимого для отображения в таблицах. Пожалуйста, добавьте новую или скорректируйте существующие таблицы, чтобы отобразить информацию полностью. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Количество информации выходит за пределы допустимого для отображения в таблице. Добавьте новую или скорректируйте существующую таблицу, чтобы отобразить информацию полностью. - + Limitation de tableau Ограничение таблицы - + Modifier la géometrie d'un tableau Изменить геометрию области таблицы + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + синтаксическая ошибка в строке %1, столбце %2: +%3 + + + + Aucun répertoire de collection n'a été donné. + Каталог коллекции не был предоставлен. + + + + l'élément racine <%1> n'est pas <labels>. + корневой элемент <%1> не является <labels>. + + + + le fichier n'a pas pu être ouvert : %1 + Файл не удалось открыть: %1 + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + Файл префиксов (меток) пользовательской коллекции. +Каждой папке присваивается префикс: элементы папки +наследуют префикс этой папки, за исключением тех, которые сами имеют +метку. Папка без префикса наследует префикс своей родительской папки. +Этот файл создаётся и изменяется программой QElectroTech (Настройки: +«Настроить префиксы…»), но его также можно редактировать вручную. + + + + Aucun fichier de préfixes à enregistrer. + Файлов с префиксами для сохранения нет. + + + + Le répertoire %1 n'a pas pu être créé. + Не удалось создать каталог %1. + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + Файл %1 не удалось скопировать в папку «beside» перед заменой: +изменений не произошло. + + QetShapeItem - + une shape фигура - + une ligne линия - - + + Ajouter un point Добавить точку - + Supprimer ce point Удалить эту точку - + Déformer une courbe Деформировать кривую - + Nœud le plus proche Ближайший узел - + Lisse Гладкий - + Symétrique Симметричный - + Anguleux Угловатый - + Supprimer le nœud le plus proche Удалить ближайший узел - + Convertir en polyligne Преобразовать в полилинию - + Convertir en courbe de Bézier Преобразовать в кривую Безье - + Miroir horizontal Отразить по горизонтали - + Miroir vertical Отразить по вертикали - + Taille Размер - + Coins arrondis Закругленные углы - + Édition des nœuds Редактирование узлов - + Rotation/Inclinaison Поворот/Наклон - + Cliquer : mode %1 Нажмите: режим %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) Перетаскивание угла/края: изменение размера (Ctrl = от центра, Shift = с сохранением пропорций, Alt = преобразование в полилинию) - + ; point turquoise : arc ; бирюзовая точка: дуга - + Glisser une extrémité : la déplacer Перетащить один конец: переместить его - + Glisser un point : le déplacer Перетащить точку: переместить её - + Glisser le point violet : arrondir les coins Перетащите фиолетовую точку: скруглить углы - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche Перетаскивание ручки или кривой: деформация (Alt = разрыв касательной); Alt + перетаскивание угловой точки: создание ручек; клик правой кнопкой мыши: меню ближайшего узла - + une extrémité один конец - + un coin угол - + un point точка - + Glisser %1 : rotation (Maj = 15°) Перетащить %1: поворот (Shift = 15°) - + ; un bord : inclinaison ; край: наклон - + ; point rouge : glisser pour repositionner le centre de rotation ; красная точка: перетащите, чтобы изменить положение центра вращения - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) (Удерживайте клавишу Ctrl во время перетаскивания = свободное перемещение без привязки к сетке) - + — Cliquer : mode %1 — Нажать: режим %1 - + Glisser : déplacer ce point Перетащить: переместить эту точку - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions Перетаскивание: изменение размера (Ctrl = от центра + произвольное перемещение, Shift = сохранение пропорций) - + , Alt = détacher en polyligne , Alt = выделить в полилинию - + Glisser : rotation (Ctrl = position libre, Maj = 15°) Перетаскивание: поворот (Ctrl = свободное положение, Shift = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) Перетаскивание: наклон (Ctrl = свободное положение, Shift = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) Перетащить: изменить положение центра вращения (Ctrl = свободное перемещение) - + Glisser : arrondir les coins (Ctrl = position libre) Перетащить: скруглить углы (Ctrl = свободное положение) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) Перетаскивание: настройка дуги (Ctrl = свободное положение, Shift = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + Перетащить: углубить или сгладить дугу, при этом её концы остаются на месте (Ctrl = свободное положение) + + + Glisser : déplacer le point (Ctrl = position libre Перетащить: переместить точку (Ctrl = свободное положение - + , Alt = créer des poignées , Alt = создать ручки - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) Перетаскивание: деформация кривой (Ctrl — свободное перемещение, Alt — разрыв касательной) - + Ajouter un point à un polygone Добавить точку к многоугольнику - + Supprimer un point d'un polygone Удалить точку из многоугольника - + Ajouter un point à une courbe Добавить точку к кривой - + Supprimer un point d'une courbe Удалить точку с кривой - + Convertir %1 en courbe de Bézier Преобразовать %1 в кривую Безье - + Convertir %1 en polyligne Преобразовать %1 в полилинию - + Miroir impossible : inclinaison trop extrême pour cette forme Отразить невозможно: слишком большой наклон для такой формы - + Miroir horizontal de %1 Отразить по горизонтали %1 - + Miroir vertical de %1 Отразить по вертикали %1 - + Modifier le type d'un nœud Изменить тип узла - + Redimensionner %1 Изменить размер %1 - + Faire pivoter %1 Повернуть %1 - + Incliner %1 Наклонить %1 - + Deplacer le centre de rotation Переместить центр вращения - + Arrondir les coins d'%1 Скруглить углы %1 - + Modifier l'angle d'un arc Изменить угол дуги - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 Изменить форму %1 - + Modifier la courbure d'%1 Изменить кривизну на %1 - + Modifier %1 Изменить %1 - + un rectangle прямоугольник - + une éllipse эллипс - + un arc дуга - + une polyligne ломаная линия - + une courbe кривая @@ -13460,7 +15692,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Текстовая метка - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Элемент «%1» уже существует. Что вы хотите сделать? @@ -13468,31 +15700,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) Перенумеровать элемент(ы) - + Scope Область применения - + All schemes Все схемы - + One scheme Одна схема - + Scheme: Схема: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + Лист + + + + Élément + Элемент + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13516,9 +15794,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier Не изменять @@ -13638,98 +15916,98 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af фаза - - + + Nombre de phase Количество фаз - + Neutre Нейтраль - + neutre нейтраль - + Terre Заземление - + terre заземление - + TextLabel Текстовая метка - + PushButton Кнопка - + Apparence Вид - + Taille : Размер: - - + + Couleur : Цвет: - + Style : Стиль: - - + + Modifier Изменить - + Couleur secondaire : Вторичный цвет: - + Taille de trait : Размер линии: - + px пикс - + Trait plein conductor style: solid line стиль проводника: сплошная линия Сплошная линия - + Trait en pointillés conductor style: dashed line Пунктирная линия - + Traits et points conductor style: dashed and dotted line Точки и тире @@ -13738,7 +16016,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier Не изменять @@ -13780,10 +16058,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier Не изменять @@ -13843,12 +16121,12 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Установить текущую дату - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Доступно как %plant в шаблоне для штампа</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13861,33 +16139,33 @@ Les variables suivantes sont utilisables : -%autonum: автоматическая нумерация листов - + Disponible en tant que %locmach pour les modèles de cartouches Доступно как %locmach в шаблоне для штампа - + Titre : Заголовок: - - - - - - - + + + + + + + Supprimer ce texte Удалить этот текст - + Personnalisées Пользовательские - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Вы можете задать здесь свои собственные сочетания имени/значения для использования в штампе. Например: @@ -13926,6 +16204,188 @@ Créer votre propre texte en vous aidant des variables suivantes : %c: номер столбца + + ScriptManagerDialog + + + + + Gérer les scripts + Управление скриптами + + + + &Nouveau + &Новый + + + + Supp&rimer + &Удалить + + + + Le texte du bouton + Текст кнопки + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + пусто: инициалы названия; builtin:<nom>: значок из темы + + + + Choisir une image (SVG ou PNG)… + Выберите изображение (SVG или PNG)… + + + + Toujours + Всегда + + + + Avec une sélection + С подборкой + + + + Avec un conducteur sélectionné + При выбранном проводнике + + + + Nom : + Имя: + + + + Icône : + Значок: + + + + Info-bulle : + Всплывающая подсказка: + + + + Raccourci : + Сокращение: + + + + Actif : + Активы: + + + + &Tester + &Проверить + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + Сохраняет и запускает скрипт для текущего проекта (Ctrl+Z отменяет выполнение) + + + + &Enregistrer + &Сохранить + + + + Ouvrir le &dossier + Открыть &папку + + + + &Fermer + &Закрыть + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + Скрипт (объект qet; qet.currentFolio() — это отображаемый лист): + + + + Pas de bouton : %1 + Нет кнопки: %1 + + + + Pas de bouton pour ce fichier : %1 + Для этого файла нет кнопки: %1 + + + + Nouveau script + Новый скрипт + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + // qet.currentFolio() — это отображаемый лист; щелчок отменяется +// одним нажатием Ctrl+Z. Список вызовов: qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, «Текст», 40, 40); + + + + Pas encore enregistré + Еще не зарегистрированы + + + + Le script doit avoir un nom. + Скрипт должен иметь имя. + + + + Non enregistré : %1 + Не зарегистрировано: %1 + + + + Impossible d'écrire %1 + Не удалось записать %1 + + + + Supprimer le script + Удалить скрипт + + + + Supprimer « %1 » et son bouton ? + Удалить «%1» и соответствующую кнопку? + + + + Icône du script + Значок скрипта + + + + Images (*.svg *.png) + Изображения (*.svg, *.png) + + + + Impossible de copier %1 + Не удалось скопировать %1 + + + + Le script affiché n'est pas enregistré. Enregistrer ? + Отображаемый скрипт не сохранен. Сохранить? + + SearchAndReplaceWidget @@ -13939,42 +16399,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Перейти к следующему соответствию - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Показать дополнительные параметры</p></body></html> - + Aller à la correspondance précédente Перейти к предыдущему соответствию - + Quitter Выход - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Определите свойства для замены в элементах</p></body></html> - + Champ texte de folio Текстовое поле листа - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Определите свойства для замены в проводниках</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Определите свойства для замены в листах</p></body></html> - + Folio Лист @@ -13999,42 +16459,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Учитывать регистр - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Заменить выбранное совпадение</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Заменить отмеченные совпадения</p></body></html> - + avancé Расширенный - + Élément Элемент - + Conducteur Проводник - + Remplacer : Заменить: - + Remplacer Заменить - + Tout remplacer Заменить все @@ -14044,105 +16504,105 @@ Créer votre propre texte en vous aidant des variables suivantes : Искать: - + Actualiser Обновить - + Correspondance : Соответствие: - + Folios Листы - + Champs texte Текстовые поля - + Eléments Элементы - + Eléments simple Простые элементы - + Eléments maître Главные элементы - + Eléments esclave Подчиненные элементы - + Eléments report de folio Элементы отчета о листе - + Eléments bornier Элементы клеммной колодки - + Sélectionner les éléments de ce folio Выберите элементы этого листа - + Sélectionner les conducteurs de ce folio Выберите проводники этого листа - + Sélectionner les textes de ce folio Выберите текст этого листа - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [отредактировано] - + Conducteurs Проводники - + Inconnue Неизвестно @@ -14155,17 +16615,17 @@ Créer votre propre texte en vous aidant des variables suivantes : Форма - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Удалить переменную нумерации</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Добавить переменную нумерации</p></body></html> - + Définition Определение @@ -14185,38 +16645,66 @@ Créer votre propre texte en vous aidant des variables suivantes : Удалить нумерацию - Précédent - Предыдущий + Предыдущий - Suivant - Следующий + Следующий - + Type Тип - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Значение - + Incrémentation Приращение - + + Annuler + Отмена + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Автонумерация листов - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14245,7 +16733,7 @@ Le champ "Incrémentation" n'est pas utilisé. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14283,13 +16771,13 @@ Les autres champs ne sont pas utilisés. Остальные поля не используются. - + Element Autonumérotation title window Элемент «Автонумерация» - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14327,7 +16815,17 @@ Les autres champs ne sont pas utilisés. Остальные поля не используются. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Автонумерация проводников @@ -14409,29 +16907,29 @@ Les autres champs ne sont pas utilisés. Géométrie - Геометрия + Геометрия Largeur - Ширина + Ширина Hauteur - Высота + Высота Angle - Угол + Угол ° - + ° @@ -14511,7 +17009,7 @@ Les autres champs ne sont pas utilisés. Forme fermée - Закрытая форма + Закрытая форма @@ -14521,17 +17019,17 @@ Les autres champs ne sont pas utilisés. Modifier la longueur d'une ligne - Изменить длину линии + Изменить длину линии Modifier la taille d'une forme - Изменить размер фигуры + Изменить размер фигуры Modifier l'angle d'une forme - Изменить угол фигуры + Изменить угол фигуры @@ -14562,17 +17060,17 @@ Les autres champs ne sont pas utilisés. Longueur - Длина + Длина Rayon X - + Радиус X Rayon Y - + Радиус Y @@ -14644,7 +17142,7 @@ Les autres champs ne sont pas utilisés. Conducteurs sélectionnés - + Выбранные проводники @@ -14698,9 +17196,9 @@ Les autres champs ne sont pas utilisés. %n action(s) - - - + %n действие + %n действий + %n действий @@ -16722,12 +19220,12 @@ Les autres champs ne sont pas utilisés. Информация для отображения - + Configuration Конфигурация - + Requête SQL : SQL-запрос: @@ -16737,6 +19235,19 @@ Les autres champs ne sont pas utilisés. Положение + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16745,7 +19256,7 @@ Les autres champs ne sont pas utilisés. T%1 - + T%1 @@ -17071,58 +19582,58 @@ Les autres champs ne sont pas utilisés. Макет - + Ponter les bornes Соединить выводы - + Déponter les bornes Разъединить выводы - + Propriétés Свойства - + Nom : Имя: - + Commentaire : Аннотация: - + Description Описание - + Installation : Установка: - + Localisation : Расположение: - + Type : Тип: - + Degrouper les bornes Разгруппировать выводы - - + + Générique Общий @@ -17137,62 +19648,62 @@ Les autres champs ne sont pas utilisés. Выполнить перемещение - + Couleur pont : Цвет моста: - + Fusible Предохранитель - + Sectionnable Секционный - + Diode Диод - + Terre Заземление - + Déplacer dans : Переместить в: - + Phase Фаза - + Neutre Нейтраль - + Position automatique Автоматическое положение - + Étage : Ярус: - + Grouper les bornes Сгруппировать выводы - + Fonction : Функция: @@ -17207,7 +19718,7 @@ Les autres champs ne sont pas utilisés. Есть - + LED : Индикатор: @@ -17235,32 +19746,32 @@ Les autres champs ne sont pas utilisés. Панель инструментов - + Ajouter un bornier Добавить клеммную колодку - + Ajouter un bornier au projet Добавить клеммную колодку в проект - + Supprimer le bornier Удалить клеммную колодку - + Supprimer le bornier du projet Удалить клеммную колодку из проекта - + Recharger Перезагрузка - + Recharger les borniers Перезагрузить клеммные колодки @@ -17490,12 +20001,12 @@ Les autres champs ne sont pas utilisés. Обзор клеммной колодки - + Projet sans titre Проект без имени - + Bornes indépendante Независимые выводы @@ -17572,17 +20083,17 @@ Les autres champs ne sont pas utilisés. Alignement - Выравнивание + Выравнивание Point d'ancrage du texte et alignement des lignes entre elles - Точка привязки текста и выравнивание строк относительно друг друга + Точка привязки текста и выравнивание строк относительно друг друга Modifier l'alignement d'un champ texte - Изменить выравнивание текстового поля + Изменить выравнивание текстового поля @@ -17598,7 +20109,7 @@ Les autres champs ne sont pas utilisés. Загрузка - + Dossier installation Папка установки @@ -17606,37 +20117,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Ширина: - + Absolu a traditional, absolute measure Абсолютное значение - + Relatif au total a percentage of the total width Относительно всего - + Relatif au restant a percentage of what remains from the total width Относительно оставшегося - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column пикс @@ -17645,30 +20156,31 @@ Les autres champs ne sont pas utilisés. TitleBlockPropertiesWidget - + Modèle par défaut Шаблон по умолчанию - + Éditer ce modèle menu entry Редактировать шаблон - + Dupliquer et éditer ce modèle menu entry Дублировать и отредактировать эту модель - + Title block templates actions Действия над шаблонами штампов - - + + + Créer un Folio Numérotation Auto Создать автонумерацию листов @@ -17683,47 +20195,47 @@ Les autres champs ne sont pas utilisés. Форма - + Folio : Лист: - + Auteur : Автор: - + Indice Rev: Индекс версии: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Доступно как %plant в шаблоне для штампа</p></body></html> - + Disponible en tant que %filename pour les modèles de cartouches Доступно как %filename в шаблоне для штампа - + Pas de date Без даты - + Date courante Текущая дата - + Appliquer la date actuelle Установить текущую дату - + Principales Основные @@ -17733,22 +20245,22 @@ Les autres champs ne sont pas utilisés. Информация штампа - + Disponible en tant que %locmach pour les modèles de cartouches Доступно как %locmach в шаблоне для штампа - + Disponible en tant que %date pour les modèles de cartouches Доступно как %date в шаблоне для штампа - + Date fixe : Точная дата: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17761,27 +20273,27 @@ Les variables suivantes sont utilisables : -%autonum: автоматическая нумерация листов - + Titre : Название: - + Fichier : Файл: - + Date : Дата: - + Disponible en tant que %author pour les modèles de cartouches Доступно как %author в шаблоне для штампа - + Disponible en tant que %title pour les modèles de cartouches Доступно как %title в шаблоне для штампа @@ -17791,32 +20303,32 @@ Les variables suivantes sont utilisables : <html> <head/><body><p> Показывать штамп в нижней (горизонтально) или правой (вертикально) части листа </p></body></html> - + Page Num: № листа: - + Installation : Установка: - + Disponible en tant que %indexrev pour les modèles de cartouches Доступно как %indexrev в шаблоне для штампа - + Localisation: Расположение: - + Personnalisées Пользовательские - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Вы можете задать здесь свои собственные сочетания имени/значения для использования в штампе. Например: @@ -17826,13 +20338,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1: %2 - + %1 %1 @@ -18335,50 +20847,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title Схема подключения - + Fil column title - + Провод - + Composant 1 column title Компонент 1 - + Borne 1 column title Клемма 1 - + Composant 2 column title Компонент 2 - + Borne 2 column title Клемма 2 - + Folio column title Лист - - + + %n conducteur(s) listé(s). wiring list summary @@ -18388,7 +20900,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18401,96 +20913,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Ошибка - + Impossible de lire la structure en mémoire du projet. Не удалось прочитать структуру проекта в памяти. - + Exporter le plan de câblage Экспорт схемы прокладки кабелей - + Fichiers CSV (*.csv) Файлы CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Не удалось открыть файл для записи. - + Page Wiring list CSV header Страница - + Composant 1 Wiring list CSV header Компонент 1 - + Borne 1 Wiring list CSV header Клемма 1 - + Composant 2 Wiring list CSV header Компонент 2 - + Borne 2 Wiring list CSV header Клемма 2 - + Tension / Protocole Wiring list CSV header Напряжение/протокол - + Couleur du fil Wiring list CSV header Цвет провода - + Section du fil Wiring list CSV header Сечение провода - + Fonction Wiring list CSV header Функция - + + Câble + Wiring list CSV header + Кабель + + + Export réussi Экспорт выполнен успешно - + Le plan de câblage a été exporté avec succès ! Схема подключения успешно экспортирована! + + WiringRulesWarning + + + Avertissement + Предупреждение + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18556,12 +21087,12 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître - + Отобразить в списке контактов все подчиненные контакты, заданные ведущим устройством, включая те, которые ещё не подключены, в порядке, заданном ведущим устройством Afficher tous les esclaves définis par le maître - + Показать все ведомые устройства, определённые ведущим устройством @@ -18658,7 +21189,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Automate (PLC) - + ПЛК (PLC) @@ -18688,7 +21219,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Right - + Справа @@ -18698,33 +21229,33 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol Champ de texte - + Текстовое поле projectDataBase - + La requête est vide. - Запрос пуст. + Запрос пуст. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - Допускается только один запрос SELECT (символ «;» может встречаться только в самом конце). + Допускается только один запрос SELECT (символ «;» может встречаться только в самом конце). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - Допускаются только запросы, предназначенные только для чтения (SELECT или WITH ... SELECT). + Допускаются только запросы, предназначенные только для чтения (SELECT или WITH ... SELECT). - + Exporter la base de données interne du projet Экспортировать внутреннюю базу данных проекта - + sans_nom без имени @@ -18732,7 +21263,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Цвет текста @@ -18740,7 +21271,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Вставка объекта HTML @@ -18748,27 +21279,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Редактировать текст - + Rich Text Форматированный текст - + Source Источник - + &OK &OK - + &Cancel &Отмена @@ -18776,69 +21307,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Жирный - - - + + + Éditeur de texte - Текстовый редактор + Текстовый редактор - + Texte en italique Курсив - + Texte souligé Подчёркнутый - + Left Align По левому краю - + Center По центру - + Right Align По правому краю - + Justify По ширине - + Superscript Надстрочный - + Subscript Подстрочный - + Insérer un lien Вставка ссылки - + Insert &Image Вставка &изображения - + Simplify Rich Text Упростить форматированный текст diff --git a/lang/qet_sk.ts b/lang/qet_sk.ts index d100a5fd9..110273507 100644 --- a/lang/qet_sk.ts +++ b/lang/qet_sk.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Redimensionneur d'éléments Element scaler - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate - + Paquets Snap - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en slovène - + Générateur d'élément lambda Lambda element generator @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,139 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1034,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Position - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1115,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1182,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1213,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1222,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1237,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -995,7 +1313,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1013,13 +1331,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1028,24 +1346,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1080,6 +1408,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1100,6 +1429,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte @@ -1114,7 +1444,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : @@ -1164,134 +1494,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + cable - + bus - - + + Unifilaire - - + + Nombre de phase - + Neutre - + neutre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Terre - + terre - + TextLabel - + Apparence - + Couleur du conducteur - - + + Couleur : - + Couleur secondaire : - + Taille de trait : - + px - + Taille : - - + + Style du conducteur - + Style : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1313,128 +1660,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1464,27 +1836,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1492,7 +1864,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1632,7 +2004,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1649,262 +2021,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1912,7 +2352,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1921,12 +2361,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1935,77 +2375,83 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption @@ -2024,7 +2470,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2032,42 +2478,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2075,17 +2521,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2104,30 +2550,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2339,21 +2785,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2452,64 +2898,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2517,32 +2963,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2550,12 +2996,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2596,153 +3042,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2766,12 +3285,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2789,104 +3314,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2902,8 +3537,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2986,8 +3621,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3017,302 +3652,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre @@ -3326,7 +3961,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3453,249 +4088,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Tous - + Vignettes - + Contacteurs et relais - + Boutons et commutateurs - + Borniers - + Organes de protection - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3703,29 +4338,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3733,101 +4368,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3836,122 +4471,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3967,43 +4602,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4012,7 +4647,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4021,32 +4656,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4116,124 +4751,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4279,7 +4914,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4288,102 +4923,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4647,63 +5282,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4711,27 +5356,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4764,104 +5409,105 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Projets - + Ne pas conserver les labels des éléments lors des copier coller - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Utiliser les numéros de folio à la place de leur position dans le projet - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Désactivé - + min minute - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des cartouches utilisateur @@ -4876,475 +5522,688 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - - Répertoire des cartouches company + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection - - Répertoire des Macros utilisateur - - - - - Gestion des éléments - - - - - Mettre en valeur dans le panel les éléments fraîchement intégrés + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + Répertoire des cartouches company + + + + + Répertoire des Macros utilisateur + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + + Gestion des éléments + + + + + Mettre en valeur dans le panel les éléments fraîchement intégrés + + + + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5399,7 +6258,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5632,42 +6491,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5838,28 +6697,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6102,6 +6961,97 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6153,7 +7103,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6253,7 +7203,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6263,6 +7213,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6312,10 +7414,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6325,7 +7432,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6353,7 +7460,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6411,13 +7518,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6692,13 +7799,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6758,25 +7865,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6785,32 +7911,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6921,12 +8047,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6973,54 +8099,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7029,23 +8155,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7053,10 +8179,108 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7065,142 +8289,344 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7208,12 +8634,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7221,50 +8647,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7308,137 +8818,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7615,245 +9125,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7864,31 +9410,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7897,1114 +9443,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title - + Collections - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - + Exporte le folio courant dans un autre format status bar tip - + Imprimer - + Imprime un ou plusieurs folios du projet courant status bar tip - + &Quitter - + Ferme l'application QElectroTech status bar tip - + Annuler - + Annule l'action précédente status bar tip - + Refaire - + Restaure l'action annulée status bar tip - + Co&uper - + Cop&ier - + C&oller - + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + Réinitialiser les conducteurs - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Ajouter un sommaire - + Exporter au format CSV - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Ajouter une nomenclature - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + en utilisant des onglets - + Présente les différents projets ouverts des onglets status bar tip - + en utilisant des fenêtres - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + &Mosaïque - + Dispose les fenêtres en mosaïque status bar tip - + &Cascade - + Dispose les fenêtres en cascade status bar tip - + Mode Selection - + Permet de sélectionner les éléments status bar tip - + Mode Visualisation - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Projet suivant - + Active le projet suivant status bar tip - + Projet précédent - + Active le projet précédent status bar tip - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter un rectangle - + Ajouter une ellipse - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9014,7 +10785,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9024,30 +10795,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9055,12 +10824,56 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9069,100 +10882,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9171,7 +10984,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9180,7 +10993,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9189,18 +11002,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9209,13 +11022,114 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 @@ -9223,42 +11137,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Recharger - + Tout sélectionner @@ -9268,354 +11182,354 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Exporter en SVG - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Inverser la sélection - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Annuler - + Refaire - + Profondeur toolbar title - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Parties toolbar title - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... - + &Fichier - + &Édition - + Afficha&ge - + Coller depuis... - + [Modifié] window title tag - + [lecture seule] window title tag - + Aucune modification - + Éditeur d'éléments status bar message - - + + %n partie(s) sélectionnée(s). @@ -9624,35 +11538,35 @@ veuillez patienter durant l'import... - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9662,12 +11576,12 @@ veuillez patienter durant l'import... - + et - + %n avertissement(s) warnings @@ -9677,264 +11591,321 @@ veuillez patienter durant l'import... - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Le fichier %1 n'existe pas. message box content - + Afficher menu entry - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - + Impossible d'enregistrer l'élément message box content - + Trop de primitives, liste non générée: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content @@ -9943,137 +11914,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10082,52 +12088,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10135,56 +12141,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Avertissement message box title - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10549,38 +12555,38 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10600,22 +12606,22 @@ Que désirez vous faire ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -10686,44 +12692,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content - + modifier les dimensions du folio undo caption @@ -10755,6 +12761,7 @@ Que désirez vous faire ? + Titre @@ -10937,8 +12944,13 @@ Que désirez vous faire ? element part name + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -10990,38 +13002,38 @@ Voulez-vous la remplacer ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. @@ -11036,7 +13048,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11046,7 +13058,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11056,7 +13068,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11066,7 +13078,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11076,7 +13088,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11086,7 +13098,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11096,7 +13108,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11106,7 +13118,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11116,99 +13128,99 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin - + Borne tooltip @@ -11306,35 +13318,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11342,9 +13354,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction @@ -11820,7 +13832,7 @@ Voulez-vous la remplacer ? - + %p% effectué (%v sur %m) @@ -11867,6 +13879,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -11883,7 +13896,7 @@ Voulez-vous la remplacer ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content @@ -11905,7 +13918,7 @@ Voulez-vous la remplacer ? - + %n texte(s) @@ -11914,19 +13927,19 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs @@ -11946,15 +13959,15 @@ Voulez-vous la remplacer ? - - + + - - - - - - + + + + + + this is an error in the code @@ -12091,12 +14104,12 @@ Voulez-vous la remplacer ? - + Ouvrir un element - + Importer un fichier dxf @@ -12182,7 +14195,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12266,7 +14279,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12276,8 +14289,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12414,7 +14427,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12422,91 +14435,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12514,6 +14541,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12533,369 +14603,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -12977,7 +15108,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -12985,31 +15116,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13033,9 +15210,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13155,97 +15332,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13254,7 +15431,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13296,10 +15473,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13359,7 +15536,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13368,38 +15545,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13430,6 +15607,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13443,7 +15799,7 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Quitter @@ -13468,7 +15824,7 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Remplacer : @@ -13478,175 +15834,175 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + Actualiser - + Champ texte de folio - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13674,53 +16030,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13737,13 +16113,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13765,13 +16141,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13792,6 +16168,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16182,12 +18568,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16197,6 +18583,19 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16531,58 +18930,58 @@ Les autres champs ne sont pas utilisés. - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Description - + Installation : - + Localisation : - + Type : - + Degrouper les bornes - - + + Générique @@ -16597,62 +18996,62 @@ Les autres champs ne sont pas utilisés. - + Couleur pont : - + Fusible - + Sectionnable - + Diode - + Terre - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Étage : - + Grouper les bornes - + Fonction : @@ -16667,7 +19066,7 @@ Les autres champs ne sont pas utilisés. - + LED : @@ -16695,32 +19094,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16950,12 +19349,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17058,7 +19457,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17066,37 +19465,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17125,87 +19524,87 @@ Les autres champs ne sont pas utilisés. - + Principales - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17214,66 +19613,67 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut @@ -17281,13 +19681,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17784,50 +20184,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17837,7 +20237,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17850,96 +20250,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18147,27 +20566,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18175,7 +20594,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18183,7 +20602,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18191,27 +20610,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18219,69 +20638,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_sl.ts b/lang/qet_sl.ts index ccfe5db09..2c8b14338 100644 --- a/lang/qet_sl.ts +++ b/lang/qet_sl.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,143 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +925,86 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1042,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1123,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1190,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1221,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1230,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1245,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -996,7 +1322,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1014,13 +1340,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1029,24 +1355,35 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1076,12 +1413,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur + Texte @@ -1107,6 +1445,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1166,133 +1505,150 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : - + cable - + bus - - + + Unifilaire - + TextLabel - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Apparence - + Taille : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + Taille de trait : - + px - - + + Couleur : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1314,128 +1670,154 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1465,27 +1847,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1493,7 +1875,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1633,7 +2015,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1650,262 +2032,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1913,7 +2363,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1922,12 +2372,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1936,78 +2386,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. @@ -2025,7 +2481,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2033,42 +2489,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2076,17 +2532,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2105,30 +2561,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2340,21 +2796,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2453,64 +2909,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2518,32 +2974,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2551,12 +3007,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2597,153 +3053,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2767,12 +3296,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2790,104 +3325,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2903,8 +3548,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2987,8 +3632,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3018,302 +3663,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3327,7 +3972,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3454,249 +4099,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3704,29 +4349,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3734,101 +4379,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3837,122 +4482,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3968,43 +4613,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4014,7 +4659,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4024,32 +4669,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4119,124 +4764,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4282,7 +4927,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4291,102 +4936,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4650,63 +5295,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4714,27 +5369,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4767,129 +5422,130 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4904,450 +5560,663 @@ that you create. Text and number inputs are - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments - + Mettre en valeur dans le panel les éléments fraîchement intégrés - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5402,7 +6271,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5635,42 +6504,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5841,28 +6710,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6105,6 +6974,98 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + + MarginsEditDialog @@ -6156,7 +7117,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6256,7 +7217,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6266,6 +7227,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6315,10 +7428,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6328,7 +7446,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6356,7 +7474,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6414,13 +7532,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6695,13 +7813,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6761,25 +7879,45 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6789,32 +7927,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6925,12 +8063,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6977,54 +8115,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7034,23 +8172,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7058,10 +8196,109 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7070,142 +8307,354 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7213,12 +8662,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7226,50 +8675,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7313,137 +8846,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7620,245 +9153,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7869,31 +9438,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7902,1114 +9471,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title - + Collections - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprimer - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter - + Ferme l'application QElectroTech status bar tip - + Annuler - + Annule l'action précédente status bar tip - + Refaire - + Restaure l'action annulée status bar tip - + Co&uper - + Cop&ier - + C&oller - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Exporter au format CSV - + Ajouter une nomenclature - + Ajouter un sommaire - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + en utilisant des onglets - + Présente les différents projets ouverts des onglets status bar tip - + en utilisant des fenêtres - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + &Mosaïque - + Dispose les fenêtres en mosaïque status bar tip - + &Cascade - + Dispose les fenêtres en cascade status bar tip - + Mode Selection - + Permet de sélectionner les éléments status bar tip - + Mode Visualisation - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Projet suivant - + Active le projet suivant status bar tip - + Projet précédent - + Active le projet précédent status bar tip - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter un rectangle - + Ajouter une ellipse - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9020,7 +10814,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9031,30 +10825,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9063,12 +10855,58 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9078,100 +10916,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9181,7 +11019,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9191,7 +11029,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9201,18 +11039,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9221,13 +11059,117 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + + Textes %1 @@ -9240,401 +11182,401 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Fichier - + &Édition - + Coller depuis... - + Afficha&ge - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Tout sélectionner - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Exporter en SVG - + Recharger - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + Inverser la sélection - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Afficher menu entry - + Le fichier %1 n'existe pas. message box content - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content - + Impossible d'enregistrer l'élément message box content - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - + [Modifié] window title tag - + [lecture seule] window title tag - + Trop de primitives, liste non générée: %1 - - + + %n partie(s) sélectionnée(s). @@ -9644,45 +11586,70 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9693,12 +11660,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et - + %n avertissement(s) warnings @@ -9709,247 +11676,280 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Annuler - + Refaire - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - + Profondeur toolbar title - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Parties toolbar title - + Aucune modification - + Éditeur d'éléments status bar message - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... @@ -9958,137 +11958,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10097,52 +12132,52 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10150,56 +12185,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Avertissement message box title - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10564,7 +12599,7 @@ Que désirez vous faire ? QObject - + %p% effectué (%v sur %m) @@ -10626,58 +12661,58 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content - + modifier les dimensions du folio undo caption @@ -10866,7 +12901,7 @@ Que désirez vous faire ? - + Importer un fichier dxf @@ -10877,7 +12912,7 @@ Que désirez vous faire ? - + Ouvrir un element @@ -10887,38 +12922,38 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10932,8 +12967,13 @@ Que désirez vous faire ? Collection + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -10986,38 +13026,38 @@ Voulez-vous la remplacer ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. @@ -11123,7 +13163,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11134,7 +13174,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11145,7 +13185,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11156,7 +13196,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11167,7 +13207,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11178,7 +13218,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11189,7 +13229,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11200,7 +13240,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11211,99 +13251,99 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin - + Borne tooltip @@ -11320,6 +13360,7 @@ Voulez-vous la remplacer ? + Titre @@ -11446,35 +13487,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11482,9 +13523,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction @@ -11799,22 +13840,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12068,6 +14109,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -12084,7 +14126,7 @@ Voulez-vous la remplacer ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content @@ -12106,7 +14148,7 @@ Voulez-vous la remplacer ? - + %n texte(s) @@ -12116,19 +14158,19 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs @@ -12209,7 +14251,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12294,7 +14336,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12305,8 +14347,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12451,7 +14493,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12460,91 +14502,106 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12552,6 +14609,51 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12571,369 +14673,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -13015,7 +15178,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -13023,31 +15186,79 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13071,9 +15282,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13193,97 +15404,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13292,7 +15503,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13334,10 +15545,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13397,7 +15608,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13406,38 +15617,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13468,6 +15679,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13506,185 +15896,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13712,53 +16102,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13775,13 +16185,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13803,13 +16213,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13830,6 +16240,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16221,12 +18641,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16236,6 +18656,20 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + + TerminalEditor @@ -16590,123 +19024,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Type : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16734,32 +19168,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16989,12 +19423,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17097,7 +19531,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17105,37 +19539,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17164,87 +19598,87 @@ Les autres champs ne sont pas utilisés. - + Principales - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17253,66 +19687,67 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut @@ -17320,13 +19755,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17823,50 +20258,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17877,7 +20312,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17891,96 +20326,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18188,27 +20642,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18216,7 +20670,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18224,7 +20678,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18232,27 +20686,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18260,69 +20714,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_sr.ts b/lang/qet_sr.ts index 4429e116f..809cb5d44 100644 --- a/lang/qet_sr.ts +++ b/lang/qet_sr.ts @@ -54,272 +54,272 @@ - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line - + Les développeurs de QElectroTech about tab, developers line - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line - + Idée originale - - + - - + + + Développement - + Convertisseur DXF - + Plugin Bornier - + Collection - + Traduction en espagnol - + Traduction en russe - + Traduction en portugais - + Traduction en tchèque - + Traduction en polonais - + Traduction en allemand - + Traduction en roumain - + Traduction en italien - + Traduction en arabe - + Traduction en croate - + Traduction en catalan - + Traduction en grec - + Traduction en néerlandais - + Traduction en flamand - + Traduction en danois - + Traduction en brézilien - + Traduction en Turc - + Traduction en hongrois - + Traduction en serbe - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Traduction en slovène - + Paquets Fedora et Red Hat - + Paquets Mageia - + Paquets Debian - + Paquets Gentoo - + Paquets OS/2 - + Paquets FreeBSD - + Paquets MAC OS X - + Paquets Archlinux AUR - + Icônes - + Documentation - + Collection d'éléments - + Paquets Snap - + Redimensionneur d'éléments Element scaler - + Générateur d'élément lambda Lambda element generator - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate @@ -428,17 +428,17 @@ - + Contenu - + Sélectionner la police des en tête du tableau - + Sélectionner la police des cellules du tableau @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,139 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element - + Conducteur - + Configurer les règles d'auto numérotation - + Configurer - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ - + Under Development - + Installing - + Built - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -737,55 +1034,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + nomenclature_ - + Enregister sous... - + Fichiers csv (*.csv) - - + + Erreur - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position - + Position du folio - + Quantité numéro d'article Special field with name : designation quantity - + Requête refusée - + Erreur dans la requête : %1 @@ -818,6 +1115,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -864,7 +1182,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -895,8 +1213,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Entrée votre texte composé ici, en vous aidant des variables disponible @@ -904,13 +1222,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -919,73 +1237,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir - + Marron - + Gris - + Bleu - + Vert - + Rouge - + Orange - + Violet - + Blanc - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -995,7 +1313,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1013,13 +1331,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption @@ -1028,24 +1346,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1075,12 +1403,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur + Texte @@ -1106,6 +1435,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible @@ -1165,133 +1495,150 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Formule du texte : - + cable - + bus - - + + Unifilaire - + TextLabel - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + Phase - + phase - + Protective Earth Neutral - + PEN - + Apparence - + Taille : - - + + Style du conducteur - + Style : - + Couleur secondaire : - + Taille de trait : - + px - - + + Couleur : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -1313,128 +1660,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert - + Normalement fermé - + Inverseur - + Autre - - + + Inconnu - + Simple - + Puissance - + Temporisé travail - + Temporisé repos - + Temporisé travail & repos + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1464,27 +1836,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur - + Impossible d'écrire dans le fichier « %1 ». @@ -1492,7 +1864,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur @@ -1632,7 +2004,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1649,262 +2021,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur - + Impossible de charger l'image. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1912,7 +2352,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title @@ -1921,12 +2361,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre - + <Shift> to move @@ -1935,78 +2375,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip - + Coller ici context menu action - + Collage multiple - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur - + Modifier les propriétés d'un conducteur undo caption - + X: %1 Y: %2 - + Connecter les bornes sélectionnées - + Sans titre what to display for untitled diagrams - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur - + Le fichier n'a pas pu être écrit. @@ -2024,7 +2470,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + TextLabel @@ -2032,42 +2478,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut - + Bas - + Gauche - + Droite - + Direction : @@ -2075,17 +2521,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte - + Éditer un texte d'élément - + Redimensionner un texte d'élément @@ -2104,30 +2550,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... - + Importer une configuration de texte - + Ajouter un texte - + Ajouter un groupe de textes - + Supprimer la sélection @@ -2339,21 +2785,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche - + Droite - + Centre @@ -2452,64 +2898,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - + + Déplacer un champ texte - + Pivoter un champ texte - + Modifier le texte d'un champ texte - - + + Modifier la police d'un champ texte - + Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte - + Modifier l'information d'un texte - + Modifier la source de texte, d'un texte - + Modifier l'alignement d'un champ texte - + Modifier la couleur d'un champ texte - + Modifier la conservation de l'angle - + Modifier le point de rotation d'un champ texte @@ -2517,32 +2963,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur - + Information de l'élément - + Texte composé - + Gauche - + Centre - + Droite @@ -2550,12 +2996,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2596,153 +3042,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title - + Choisissez l'élément que vous souhaitez ouvrir. dialog content - + Enregistrer un élément dialog title - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content - + Ouvrir une catégorie dialog title - - + + Choisissez une catégorie. dialog content - + Enregistrer une catégorie dialog title - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre - + Label - + Nom du nouveau dossier - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title - + La sélection n'existe pas. message box content - - + + Sélection incorrecte message box title - + La sélection n'est pas un élément. message box content - + Écraser l'élément ? message box title - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content @@ -2766,12 +3285,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2789,104 +3314,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2902,8 +3537,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type @@ -2986,8 +3621,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction @@ -3017,302 +3652,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - - + + + Simple - + Maître - + Esclave - + Renvoi de folio suivant - + Renvoi de folio précédent - + Bornier - + Vignette - + Définition de conducteur - - + + Normalement ouvert - - + + Normalement fermé - - + + Inverseur - + Other - + Esclave PLC - - + + Puissance - - + + Temporisé travail - - + + Temporisé repos - - + + Temporisé travail & repos - + Bobine - + Organe de protection - + Commutateur / bouton - + Module PLC - - + + Générique - + Fusible - + Séctionnable - + Diode - + Terre - + Phase - + Neutre - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3326,7 +3961,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément @@ -3453,249 +4088,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Ajouter la sélection - + Supprimer la sélection - + Descendre la sélection - + Pas de filtre - + N'est pas vide - + Est vide - + Contient - + Ne contient pas - + Est égal à - + N'est pas égale à - + Filtre : - + Type d'éléments - + Simples - + Organes de protection - + Tous - + Boutons et commutateurs - + Borniers - + Vignettes - + Contacteurs et relais - + Automates (MAE/SPS) - + Configuration - + Ouvrir la configuration sélectionné - + Sauvegarder la configuration actuelle - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée - + Requête SQL : - + Position - + Titre du folio - + Position du folio - + Numéro du folio - - + + Exporter - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3703,29 +4338,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive - + Éditer les informations sur l'auteur window title - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. - + Éditer les noms window title - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. @@ -3733,101 +4368,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title - + L'item demandé n'est pas une categrie. Abandon. message box content - + Catégorie inexistante message box title - + La catégorie demandée n'existe pas. Abandon. message box content - + Éditer une catégorie window title - + Créer une nouvelle catégorie window title - + Nom de la nouvelle catégorie default name when creating a new category - + Édition en lecture seule message box title - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content - + Nom interne : - + Vous pouvez spécifier un nom par langue pour la catégorie. - + Nom interne manquant message box title - + Vous devez spécifier un nom interne. message box content - + Nom interne déjà utilisé message box title - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content - + Erreur message box title - + Impossible de créer la catégorie message box content @@ -3836,122 +4471,122 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant - + Éditer l'élément - + Supprimer l'élément - + Supprimer le dossier - + Recharger les collections - + Éditer le dossier - + Nouveau dossier - + Nouvel élément - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier - + Afficher tous les dossiers - + Propriété du dossier - + Supprimer l'élément ? message box title - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content - + Suppression de l'élément message box title - + La suppression de l'élément a échoué. message box content - + Supprimer le dossier? message box title - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content - + Suppression du dossier message box title - + La suppression du dossier a échoué. message box content - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3967,43 +4602,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient - + %n élément(s), répartie(s) @@ -4012,7 +4647,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). @@ -4021,32 +4656,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 - + Chemin dans le système de fichiers : %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 @@ -4116,124 +4751,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant - + Copier le chemin - + Basculer vers ce projet - + Fermer ce projet - + Propriétés du projet - + Propriétés du folio - + Ajouter un folio - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio - + Remonter ce folio - + Abaisser ce folio - + Remonter ce folio x10 - + Remonter ce folio x100 - + Remonter ce folio au debut - + Abaisser ce folio x10 - + Abaisser ce folio x100 - + Nouveau modèle - + Éditer ce modèle - + Supprimer ce modèle - - + + Panneau des éléments - + Filtrer @@ -4279,7 +4914,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title @@ -4288,102 +4923,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title - + Exporter - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : - + Tout cocher - + Tout décocher - + Titre du folio - + Nom de fichier - + Dimensions - + Noms des fichiers cibles message box title - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content - + Dossier non spécifié message box title - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content - + Aperçu - - + + px @@ -4647,63 +5282,73 @@ that you create. Text and number inputs are - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + Phase - + Neutre - + Sans - + Avec - + Modifier des propriétés de borniers - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4711,27 +5356,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label - + Référence croisé - + Type - + Fonction - + led @@ -4764,129 +5409,130 @@ that you create. Text and number inputs are - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : - + Projets - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 - + Désactivé - + min minute - + Utiliser les numéros de folio à la place de leur position dans le projet - + Afficher la grille par défaut (appliqué au prochain lancement) - + Afficher les guides par défaut (appliqué au prochain lancement) - + Collections - + Accès aux collections - + Répertoire de la collection commune - - - - - - + + + + + + Par defaut - - - - - - + + + + + + + Parcourir... - + Répertoire de la collection company - + Répertoire des cartouches company - + Répertoire de la collection utilisateur - + Répertoire des cartouches utilisateur - + (Recharger les collections d'éléments pour appliquer les changements) - + Répertoire des Macros utilisateur @@ -4901,450 +5547,663 @@ that you create. Text and number inputs are - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments - + Mettre en valeur dans le panel les éléments fraîchement intégrés - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : - + Langues - + Appliqué au prochain lancement de QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments - - - + + + Police : - - + + ° - + Longueur : - - + + Rotation : - + Textes indépendants - + Autres textes - + Grille + Clavier - + Grille : 1 - 30 - + DiagramEditor yGrid - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Déplacement au clavier avec la touche ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid - + DiagramEditor (touche : haut / bas) yGrid - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus - + Toujours arrondi supérieur - + Toujours arrondi inférieur - + Arrondi supérieur pour 0.75 et plus - + Pas d'arrondi - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title - + Système - + Arabe - + Brézilien - + Catalan - + Tchèque - + Allemand - + Danois - + Grec - + Anglais - + Espagnol - + Français - + Croate - + Italien - + Japonais - + Coréen - + Polonais - + Portugais - + Roumains - + Russe - + Slovène - + Pays-Bas - + Norvege - + Belgique-Flemish - + Turc - + Hongrois - + Mongol - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune - + Chemin de la collection company - + Chemin de la collection utilisateur - + Chemin des cartouches company - + Chemin des cartouches utilisateur - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5399,7 +6258,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + %1 [non utilisé dans le projet] @@ -5632,42 +6491,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -5838,28 +6697,28 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6102,6 +6961,97 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6153,7 +7103,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> @@ -6253,7 +7203,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6263,6 +7213,158 @@ Voulez-vous tout de même lier ce contact esclave ? + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6312,10 +7414,15 @@ Voulez-vous tout de même lier ce contact esclave ? - + Multi-collage + + + Numéroter les éléments collés + + NameListDialog @@ -6325,7 +7432,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Variables de cartouche @@ -6353,7 +7460,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Copier dans le presse papier @@ -6411,13 +7518,13 @@ Voulez-vous tout de même lier ce contact esclave ? - + Nouveau folio configuration page title - + Nouveau projet configuration page title @@ -6692,13 +7799,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name - + Déplacer un champ texte @@ -6758,25 +7865,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte - + Modifier un champ texte + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6785,32 +7911,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -6921,12 +8047,12 @@ Voulez-vous tout de même lier ce contact esclave ? - + Ajouter un point - + Supprimer ce point @@ -6973,54 +8099,54 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel - - - + + + Numéro : %1 - - - + + + Fonction : %1 - - - + + + Tension/protocole : %1 - - - + + + Couleur du conducteur : %1 - - - + + + Section du conducteur : %1 - - + + %n conducteurs composent le potentiel suivant : @@ -7029,23 +8155,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 - + Ajouter au bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7053,10 +8179,108 @@ Les variables suivantes sont incompatibles : + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title @@ -7065,142 +8289,344 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto - + Management - - + + Conducteurs - - - Eléments + + N° - - - Folios + + Nom - - Numérotation auto des folios + + Folio - - Importer depuis un autre projet... + + Élément - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Figé - - - - - - - - - - Nom de la nouvelle numérotation + + Attribuer un numéro libre… - - - - - - - - Sans nom - - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + + + + + + Folios + + + + + Numérotation auto des folios + + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7208,12 +8634,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position - + Position du folio @@ -7221,50 +8647,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title - + Titre du projet : label when configuring - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7308,137 +8818,137 @@ Les variables suivantes sont incompatibles : - + Option de rendu - + Dessiner le cadre - + Dessiner le cartouche - + Conserver les couleurs des conducteurs - + Dessiner les bornes - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression - + Adapter le folio à la page - + Utiliser toute la feuille - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. - + toolBar - + Ajuster la largeur - + Ajuster la page - + Zoom arrière - + Zoom avant - + Paysage - + Portrait - + Première page - + Page précédente - + Page suivante - + Dernière page - + Afficher une seule page - + Afficher deux pages - + Afficher un aperçu de toutes les pages - + mise en page @@ -7615,245 +9125,281 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption - + Chargement... Éditeur de schéma splash screen caption - + Chargement... Ouverture des fichiers splash screen caption - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection - + Q Single-letter example text - translate length, not meaning - + QET Small example text - translate length, not meaning - + Schema Normal example text - translate length, not meaning - + Electrique Normal example text - translate length, not meaning - + QElectroTech Long example text - translate length, not meaning - + Configurer QElectroTech window title - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption - + Chargement... icône du systray splash screen caption - + QElectroTech systray menu title - + &Quitter - + &Masquer - + &Restaurer - + &Masquer tous les éditeurs de schéma - + &Restaurer tous les éditeurs de schéma - + &Masquer tous les éditeurs d'élément - + &Restaurer tous les éditeurs d'élément - + &Masquer tous les éditeurs de cartouche systray submenu entry - + &Restaurer tous les éditeurs de cartouche systray submenu entry - + &Nouvel éditeur de schéma - + &Nouvel éditeur d'élément - + Ferme l'application QElectroTech - + Réduire QElectroTech dans le systray - + Restaurer QElectroTech - + QElectroTech systray icon tooltip - + Éditeurs de schémas - + Éditeurs d'élément - + Éditeurs de cartouche systray menu entry - - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - - - - - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - - - - - Fichier de restauration - - - - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : - + [options] [fichier]... - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -7864,31 +9410,31 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches - + --config-dir=DIR Definir le dossier de configuration - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue @@ -7897,1114 +9443,1339 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title - + QElectroTech status bar message - + Projets dock title - + Collections - + Aucune modification - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip - + Annulations dock title - + E&xporter - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip - + Imprimer - + Imprime un ou plusieurs folios du projet courant status bar tip - + Exporter en pdf - + Exporte un ou plusieurs folios du projet courant status bar tip - + &Quitter - + Ferme l'application QElectroTech status bar tip - + Annuler - + Annule l'action précédente status bar tip - + Refaire - + Restaure l'action annulée status bar tip - + Co&uper - + Cop&ier - + C&oller - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip - + Copie les éléments sélectionnés dans le presse-papier status bar tip - + Place les éléments du presse-papier sur le folio status bar tip - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip - + Création automatique de conducteur(s) Tool tip of auto conductor - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Afficher la grille - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + + + + + Voir Affichage > Afficher + + + + Propriétés du folio - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip - + Propriétés du projet - + Ajouter un folio - - - + + + Supprimer le folio - + Nettoyer le projet - + Exporter au format CSV - + Ajouter une nomenclature - + Ajouter un sommaire - + Gestionnaire de borniers (DEV) - + Lancer le plugin de création de borniers - + Exporter la liste des noms de conducteurs - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet - + en utilisant des onglets - + Présente les différents projets ouverts des onglets status bar tip - + en utilisant des fenêtres - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip - + &Mosaïque - + Dispose les fenêtres en mosaïque status bar tip - + &Cascade - + Dispose les fenêtres en cascade status bar tip - + Mode Selection - + Permet de sélectionner les éléments status bar tip - + Mode Visualisation - + Permet de visualiser le folio sans pouvoir le modifier status bar tip - + Projet suivant - + Active le projet suivant status bar tip - + Projet précédent - + Active le projet précédent status bar tip - + &Nouveau - + &Ouvrir - + &Enregistrer - + Enregistrer sous - + + &Fermer - + Crée un nouveau projet status bar tip - + Ouvre un projet existant status bar tip - + Ferme le projet courant status bar tip - + Enregistre le projet courant et tous ses folios status bar tip - + Enregistre le projet courant avec un autre nom de fichier status bar tip - + Ajouter une colonne - + Enlever une colonne - + Ajouter une ligne Add row - + Enlever une ligne Remove row - + Ajoute une colonne au folio status bar tip - + Enlève une colonne au folio status bar tip - + Agrandit le folio en hauteur status bar tip - + Rétrécit le folio en hauteur status bar tip - + Supprimer - + Pivoter - + Pivoter le groupe - + Orienter les textes - + Retrouver dans le panel - + Éditer l'item sélectionné - + Grouper les textes sélectionnés - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip - + Pivote les éléments et textes sélectionnés status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip - + Retrouve l'élément sélectionné dans le panel status bar tip - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner - + Désélectionner tout - + Inverser la sélection - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip - + Désélectionne tous les éléments du folio status bar tip - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant - + Zoom arrière - + Zoom sur le contenu - + Zoom adapté - + Pas de zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip - + Rétrécit le folio status bar tip - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre - + Adapte le zoom exactement sur le cadre du folio status bar tip - + Restaure le zoom par défaut status bar tip - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte - + Ajouter une image - + Ajouter un PDF - + Ajouter une ligne Draw line - + Ajouter un rectangle - + Ajouter une ellipse - + + Ajouter un arc + + + + Ajouter une polyligne - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel - + Ajoute une image sur le folio actuel - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel - + Ajoute un rectangle sur le folio actuel - + Ajoute une ellipse sur le folio actuel - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils - + Affichage - + Schéma - + Ajouter - + Profondeur toolbar title - + + Scripts + toolbar title + + + + &Fichier - + &Édition - + &Projet - + Afficha&ge - + Fe&nêtres - + &Récemment ouverts - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale - + Affiche ou non la barre d'outils Affichage - + Affiche ou non la barre d'outils Schéma - + Affiche ou non le panel d'appareils - + Affiche ou non la liste des modifications - + Afficher les projets - - + + Projet %1 enregistré dans le repertoire: %2. - + Ouvrir un fichier - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) - - + + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. - + Ouverture du projet en lecture seule message box title - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. - - + + Échec de l'ouverture du projet message box title - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9014,7 +10785,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9024,30 +10795,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer - - - - - Groupe + + Conducteurs non chargés + message box title - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9055,12 +10824,56 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - - La sélection est déjà sur la grille + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe - + + %n objet(s) remis sur la grille + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + + La sélection est déjà sur la grille + + + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + + + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9069,100 +10882,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element - + Éditer le champ de texte edit text field - + Éditer l'image edit image - + Éditer le conducteur edit conductor - + Éditer l'objet sélectionné edit selected item - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content - + Active le projet « %1 » - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9171,7 +10984,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9180,7 +10993,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9189,18 +11002,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9209,13 +11022,114 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 @@ -9228,401 +11142,401 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + &Fichier - + &Édition - + Coller depuis... - + Afficha&ge - + &Aide - + Annulations - + Parties - + Informations - + Outils - + Affichage - + Élément - + Annulation - + Tout sélectionner - + &Nouveau - + &Ouvrir - + &Ouvrir depuis un fichier - + &Enregistrer - + Enregistrer sous - + Enregistrer dans un fichier - + Exporter en SVG - + Recharger - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout - + Co&uper - + Cop&ier - + C&oller - + C&oller dans la zone - + Un fichier - + Un élément - + Inverser la sélection - + &Supprimer - + Éditer le nom et les traductions de l'élément - + Éditer les informations sur l'auteur - + Éditer les propriétés de l'élément - + Zoom avant - + Zoom arrière - + Zoom adapté - + Pas de zoom - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech - + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt - + Rotation - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf - + importer un élément à redimensionner - + Afficher menu entry - + Le fichier %1 n'existe pas. message box content - - + + Impossible d'ouvrir le fichier %1. message box content - - + + Ce fichier n'est pas un document XML valide message box content - - + + Erreur toolbar title - - + + Édition en lecture seule message box title - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content - - + + Erreur message box title - + Impossible d'écrire dans ce fichier message box content - - - - + + + + Élément inexistant. message box title - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content - - + + L'élément n'existe pas. message box content - + Impossible d'enregistrer l'élément message box content - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - + [Modifié] window title tag - + [lecture seule] window title tag - + Trop de primitives, liste non générée: %1 - - + + %n partie(s) sélectionnée(s). @@ -9631,45 +11545,69 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description - + Absence de borne - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + La vérification de cet élément a généré message box content - + %n erreur(s) errors @@ -9679,12 +11617,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et - + %n avertissement(s) warnings @@ -9694,247 +11632,280 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description - + Erreurs - + Avertissements - + Impossible d'ouvrir le fichier message box title - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. - + Enregistrer l'élément en cours ? dialog title - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name - + Annuler - + Refaire - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) - + Profondeur toolbar title - + Ajouter une ligne - + Ajouter un rectangle - + Ajouter une ellipse - + Ajouter un polygone - + Ajouter du texte - + Ajouter un arc de cercle - + Ajouter une borne - + Ajouter un champ texte dynamique - + Double-click pour terminer la forme, Click droit pour annuler le dernier point - + Ajouter un texte d'élément non éditable dans les schémas - + Ajouter un texte d'élément pouvant être édité dans les schémas - + Parties toolbar title - + Aucune modification - + Éditeur d'éléments status bar message - - - + + + Echec de l'enregistrement - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides - + Enregistrer sous dialog title - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file - + Recharger l'élément dialog title - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content - + Avertissement - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... @@ -9943,137 +11914,172 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip - + À &propos de QElectroTech - + Affiche des informations sur QElectroTech status bar tip - + Manuel en ligne - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip - - + + Télécharger une nouvelle version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip - + Soutenir le projet par un don - + Soutenir le projet QElectroTech par un don status bar tip - + À propos de &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu - + &Aide window menu - + Sortir du &mode plein écran - + Affiche QElectroTech en mode fenêtré status bar tip - + Passer en &mode plein écran - + Affiche QElectroTech en mode plein écran status bar tip - + Afficher menu entry @@ -10082,52 +12088,52 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path - + Projet %1 displayed title for a title-less project - %1 is the file name - + Projet sans titre displayed title for a project-less, file-less project - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title - + %1 [modifié] displayed title for a modified project - %1 is a displayable title - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10135,56 +12141,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message - + Avertissement message box title - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> @@ -10549,7 +12555,7 @@ Que désirez vous faire ? QObject - + %p% effectué (%v sur %m) @@ -10611,58 +12617,58 @@ Que désirez vous faire ? - - + + - - - - - - + + + + + + this is an error in the code - + coller %1 undo caption - %1 is a sentence listing the content to paste - + couper %1 undo caption - %1 is a sentence listing the content to cut - + déplacer %1 undo caption - %1 is a sentence listing the moved content - + modifier le texte undo caption - + modifier un conducteur undo caption - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content - + modifier les dimensions du folio undo caption @@ -10851,7 +12857,7 @@ Que désirez vous faire ? - + Importer un fichier dxf @@ -10862,7 +12868,7 @@ Que désirez vous faire ? - + Ouvrir un element @@ -10872,38 +12878,38 @@ Que désirez vous faire ? - - + + chargement %p% (%v sur %m) - + Collection QET - + Collection Company - + Collection utilisateur - + Macros - + Collection inconnue - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10917,8 +12923,13 @@ Que désirez vous faire ? Collection + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -10970,38 +12981,38 @@ Voulez-vous la remplacer ? - + Folio sans titre - + schema - + Conserver les proportions - + Réinitialiser les dimensions - + Aperçu - + Exporter vers le presse-papier - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. @@ -11107,7 +13118,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11117,7 +13128,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11127,7 +13138,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11137,7 +13148,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11147,7 +13158,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11157,7 +13168,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11167,7 +13178,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11177,7 +13188,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11187,99 +13198,99 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file - + Amener au premier plan - + Rapprocher - + Éloigner - + Envoyer au fond - + Ramène la ou les sélections au premier plan - + Rapproche la ou les sélections - + Éloigne la ou les sélections - + Envoie en arrière plan la ou les sélections - - - - + + + + Profondeur - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin - + Borne tooltip @@ -11296,6 +13307,7 @@ Voulez-vous la remplacer ? + Titre @@ -11422,35 +13434,35 @@ Voulez-vous la remplacer ? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire - - - + + + Réf. croisée @@ -11458,9 +13470,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction @@ -11775,22 +13787,22 @@ Voulez-vous la remplacer ? - + Chercher/remplacer les propriétés d'éléments. - + Chercher/remplacer des textes independants - + Chercher/remplacer les propriétés de conducteurs. - + Rechercher / remplacer avancé @@ -12042,6 +14054,7 @@ Voulez-vous la remplacer ? + Modifier les informations de l'élément : %1 @@ -12058,7 +14071,7 @@ Voulez-vous la remplacer ? - + supprimer %1 undo caption - %1 is a sentence listing the removed content @@ -12080,7 +14093,7 @@ Voulez-vous la remplacer ? - + %n texte(s) @@ -12089,19 +14102,19 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title - + Création de conducteurs @@ -12182,7 +14195,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12266,7 +14279,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12276,8 +14289,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12414,7 +14427,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12422,91 +14435,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte - + Pivoter un texte - + Modifier le trait d'une forme - + Modifier le remplissage d'une forme - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12514,6 +14541,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12533,369 +14603,430 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. - + Limitation de tableau - + Modifier la géometrie d'un tableau + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point - + Supprimer ce point - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone - + Supprimer un point d'un polygone - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 - + une ligne - + un rectangle - + une éllipse - + un arc - + une polyligne - + une courbe - + une shape @@ -12977,7 +15108,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? @@ -12985,31 +15116,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + + + + + Élément + + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13033,9 +15210,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier @@ -13155,97 +15332,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - + + Nombre de phase - + Neutre - + neutre - + Terre - + terre - + TextLabel - + PushButton - + Apparence - + Taille : - - + + Couleur : - + Style : - - + + Modifier - + Couleur secondaire : - + Taille de trait : - + px - + Trait plein conductor style: solid line - + Trait en pointillés conductor style: dashed line - + Traits et points conductor style: dashed and dotted line @@ -13254,7 +15431,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier @@ -13296,10 +15473,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier @@ -13359,7 +15536,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13368,38 +15545,38 @@ Les variables suivantes sont utilisables : - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Titre : - - - - - - - + + + + + + + Supprimer ce texte - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. @@ -13430,6 +15607,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + + + + + Ouvrir le &dossier + + + + + &Fermer + + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13468,185 +15824,185 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Aller à la correspondance précédente - + Actualiser - + <html><head/><body><p>Afficher les options avancées</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> - + Élément - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> - + Conducteur - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> - + Tout remplacer - + avancé - + Remplacer : - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> - + Folio - + Champ texte de folio - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> - + Remplacer - + Quitter - + Correspondance : - + Folios - + Champs texte - + Eléments - + Eléments simple - + Eléments maître - + Eléments esclave - + Eléments report de folio - + Eléments bornier - + Conducteurs - + Inconnue - + Sélectionner les éléments de ce folio - + Sélectionner les conducteurs de ce folio - + Sélectionner les textes de ce folio - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] @@ -13674,53 +16030,73 @@ Créer votre propre texte en vous aidant des variables suivantes : - + Définition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> - - Précédent - - - - - Suivant - - - - + Type - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur - + Incrémentation - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13737,13 +16113,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13765,13 +16141,13 @@ Les autres champs ne sont pas utilisés. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -13792,6 +16168,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16182,12 +18568,12 @@ Les autres champs ne sont pas utilisés. - + Configuration - + Requête SQL : @@ -16197,6 +18583,19 @@ Les autres champs ne sont pas utilisés. + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16551,123 +18950,123 @@ Les autres champs ne sont pas utilisés. - + Étage : - + Type : - + Couleur pont : - - + + Générique - + Fusible - + Sectionnable - + Diode - + Terre - + LED : - + Fonction : - + Déplacer dans : - + Phase - + Neutre - + Position automatique - + Grouper les bornes - + Degrouper les bornes - + Ponter les bornes - + Déponter les bornes - + Propriétés - + Nom : - + Commentaire : - + Installation : - + Localisation : - + Description @@ -16695,32 +19094,32 @@ Les autres champs ne sont pas utilisés. - + Ajouter un bornier - + Ajouter un bornier au projet - + Supprimer le bornier - + Supprimer le bornier du projet - + Recharger - + Recharger les borniers @@ -16950,12 +19349,12 @@ Les autres champs ne sont pas utilisés. - + Projet sans titre - + Bornes indépendante @@ -17058,7 +19457,7 @@ Les autres champs ne sont pas utilisés. - + Dossier installation @@ -17066,37 +19465,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label - + Absolu a traditional, absolute measure - + Relatif au total a percentage of the total width - + Relatif au restant a percentage of what remains from the total width - + % spinbox suffix when changing the dimension of a row/column - + px spinbox suffix when changing the dimension of a row/column @@ -17125,87 +19524,87 @@ Les autres champs ne sont pas utilisés. - + Principales - + Date : - + Auteur : - + Indice Rev: - + Disponible en tant que %locmach pour les modèles de cartouches - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches - + Folio : - + Fichier : - + Disponible en tant que %author pour les modèles de cartouches - + Disponible en tant que %filename pour les modèles de cartouches - + Pas de date - + Date courante - + Appliquer la date actuelle - + Disponible en tant que %date pour les modèles de cartouches - + Date fixe : - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17214,66 +19613,67 @@ Les variables suivantes sont utilisables : - + Titre : - + Page Num: - + Disponible en tant que %indexrev pour les modèles de cartouches - + Installation : - + Localisation: - + Personnalisées - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. - + Éditer ce modèle menu entry - + Dupliquer et éditer ce modèle menu entry - + Title block templates actions - - + + + Créer un Folio Numérotation Auto - + Modèle par défaut @@ -17281,13 +19681,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning - + %1 @@ -17784,50 +20184,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -17837,7 +20237,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -17850,96 +20250,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header - + Couleur du fil Wiring list CSV header - + Section du fil Wiring list CSV header - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18147,27 +20566,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet - + sans_nom @@ -18175,7 +20594,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color @@ -18183,7 +20602,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity @@ -18191,27 +20610,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text - + Rich Text - + Source - + &OK - + &Cancel @@ -18219,69 +20638,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras - - - + + + Éditeur de texte - + Texte en italique - + Texte souligé - + Left Align - + Center - + Right Align - + Justify - + Superscript - + Subscript - + Insérer un lien - + Insert &Image - + Simplify Rich Text diff --git a/lang/qet_sv.ts b/lang/qet_sv.ts index 0ba065876..af461c1ac 100644 --- a/lang/qet_sv.ts +++ b/lang/qet_sv.ts @@ -54,272 +54,272 @@ Logg - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, ett program för att skapa elektriska kretsschemor. - + Les développeurs de QElectroTech about tab, developers line Utvecklarna av QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Kontact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Orignalidé - - + - - + + + Développement Utveckling - + Convertisseur DXF DXF-konverterare - + Plugin Bornier Plugin för plintrad - + Collection Bibliotek - + Traduction en espagnol Översättning till spanska - + Traduction en russe Översättning till ryska - + Traduction en portugais Översättning till portugisiska - + Traduction en tchèque Översättning till tjeckiska - + Traduction en polonais Översättning till polska - + Traduction en allemand Översättning till tyska - + Traduction en roumain Översättning till rumänska - + Traduction en italien Översättning till italienska - + Traduction en arabe Översättning till arabiska - + Traduction en croate Översättning till kroatiska - + Traduction en catalan Översättning till katalanska - + Traduction en grec Översättning till grekiska - + Traduction en néerlandais Översättning till nederländska - + Traduction en flamand Översättning till flamländska - + Traduction en danois Översättning till danska - + Traduction en brézilien Översättning till brasilianska - + Traduction en Turc Översättning till turkiska - + Traduction en hongrois Översättning till ungerska - + Traduction en serbe Översättning till serbiska - + Traduction en ukrainien Översättning till ukrainska - + Traduction en norvégien Översättning till norska - + Traduction en japonais Översättning till japanska - + Traduction en coréen - + Traduction en mongol Översättning till mongoliska - + Traduction en slovène Översättning till slovenska - + Paquets Fedora et Red Hat Paket för Fedora och Red Hat - + Paquets Mageia Paket för Mageia - + Paquets Debian Paket för Debian - + Paquets Gentoo Paket för Gentoo - + Paquets OS/2 Paket för OS/2 - + Paquets FreeBSD Paket för FreeBSD - + Paquets MAC OS X Paket för MAC OS X - + Paquets Archlinux AUR Paket för Archlinux AUR - + Icônes Ikoner - + Documentation Dokumentation - + Collection d'éléments Symbolbibliotek - + Paquets Snap Paket för Snap - + Redimensionneur d'éléments Element scaler Omdimensionerare för symboler - + Générateur d'élément lambda Lambda element generator Generator av lambda-symboler - + Convertisseur d'élément DXF Dxf2elmt Konverterare av DXF-symboler - + Outil de traduction d'éléments Qet_translate Översättningsverktyg för symboler @@ -428,17 +428,17 @@ Konfiguration - + Contenu Innehåll - + Sélectionner la police des en tête du tableau Välj typsnitt för tabellrubriker - + Sélectionner la police des cellules du tableau Välj typsnitt för tabelltexter @@ -456,6 +456,134 @@ Lägg till följande plintrad: + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Vinkel: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,135 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Symbol - + Conducteur Förbindning - + Configurer les règles d'auto numérotation Konfigurera regler för auto-numrering - + Configurer Konfigurera - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + %n élément(s) numérotés. + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + Autonumérotation Auto-numrering: + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +917,78 @@ Befintliga - + Under Development Under utveckling - + Installing Montage - + Built Klart - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + Auto Numbering Management title window Hantering av auto-numrering - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1031,55 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Översikt - + nomenclature_ förteckning_ - + Enregister sous... Spara som... - + Fichiers csv (*.csv) CSV-filer (*.csv) - - + + Erreur Fel - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Position - + Position du folio Bladposition - + Quantité numéro d'article Special field with name : designation quantity Antal artiklar - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1112,27 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1179,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1210,8 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Lägg till en variabel: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Ange din sammansatta text här, med hjälp av de tillgängliga variablerna @@ -909,13 +1219,13 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Conductor - + Modifier les propriétés d'un conducteur undo caption Ändra egenskaper för en förbindning - + Modifier les propriétés de plusieurs conducteurs undo caption Ändra egenskaper för flera förbindningar @@ -924,73 +1234,73 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast ConductorColorToolButton - + Noir Svart - + Marron Brun - + Gris Grå - + Bleu Blå - + Vert Grön - + Rouge Röd - + Orange Orange - + Violet Lila - + Blanc Vit - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -999,7 +1309,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast - + Choisir une couleur de conducteur @@ -1017,13 +1327,13 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Tillämpa egenskaperna på alla förbindningar för denna potential - + Modifier les propriétés d'un conducteur undo caption Ändra egenskaper för en förbindning - + Modifier les propriétés de plusieurs conducteurs undo caption Ändra egenskaper för flera förbindningar @@ -1032,24 +1342,33 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Tillämpa egenskaperna på alla förbindningar för denna potential + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + - + Modifier les propriétés d'un conducteur undo caption Ändra egenskaper för en förbindning - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur @@ -1079,12 +1398,13 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast - + Couleur du conducteur Förbindningsfärg: + Texte Text @@ -1110,6 +1430,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast + Texte visible Text synlig @@ -1169,133 +1490,150 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Redigera auto-numrering - + Formule du texte : Textformel: - + cable Kabel: - + bus Bus: - - + + Unifilaire Enpolig - + TextLabel TextLabel - - + + Nombre de phase Fasnamn - + Neutre Neutral - + neutre Neutral - + Terre Skyddsjord - + terre Skyddsjord - + Phase Fas - + phase Fas - + Protective Earth Neutral Skyddsjord med neutral - + PEN PEN - + Apparence Utseende - + Taille : Storlek: - - + + Style du conducteur Linjestil på förbindning - + Style : Stil: - + Couleur secondaire : Sekundärfärg: - + Taille de trait : Linjestorlek: - + px px - - + + Couleur : Färg: - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Solid linje - + Trait en pointillés conductor style: dashed line Streckad linje - + Traits et points conductor style: dashed and dotted line Streckad och punktad linje @@ -1317,128 +1655,152 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Ångra - + Normalement ouvert Slutande (NO) - + Normalement fermé Brytande (NC) - + Inverseur Växlande - + Autre - - + + Inconnu - + Simple Enkel - + Puissance Kraftkontakt - + Temporisé travail Tillslagsfördröjd - + Temporisé repos Frånslagsfördröjd - + Temporisé travail & repos Till- och frånslagsfördröjd + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1468,27 +1830,27 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Fel - + Impossible d'écrire dans le fichier « %1 ». @@ -1496,7 +1858,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Diagram - + Modifier la profondeur Ändra djup @@ -1636,7 +1998,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1653,262 +2015,330 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image en bild - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Välj en bild... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Fel - + Impossible de charger l'image. Det går inte att ladda bilden. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1916,7 +2346,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagramPropertiesDialog - + Propriétés du folio window title Bladegenskaper @@ -1925,12 +2355,12 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagramTextItem - + Maintenir ctrl pour un déplacement libre Håll in Ctrl för fri placering - + <Shift> to move @@ -1939,78 +2369,84 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Det här är det område där du utformar ditt schema genom att lägga till symboler och dra förbindningar mellan deras anslutningspunkter. Det är också möjligt att lägga till oberoende texter. - + Coller ici context menu action Klistra in här - + Collage multiple Klistra in flera - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur Välj ny färg för denna förbindning - + Modifier les propriétés d'un conducteur undo caption Ändra egenskaper för en förbindning - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Anslut de markerade plintarna - + Sans titre what to display for untitled diagrams Namnlöst - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Fel - + Le fichier n'a pas pu être écrit. @@ -2028,7 +2464,7 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Titel - + TextLabel TextLabel @@ -2036,42 +2472,42 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Topp - + Bas Botten - + Gauche Vänster - + Droite Höger - + Direction : @@ -2079,17 +2515,17 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DynamicElementTextItem - + Texte Text - + Éditer un texte d'élément Redigera en symboltext - + Redimensionner un texte d'élément @@ -2108,30 +2544,30 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast - - - - + + + + ... ... - + Importer une configuration de texte Importera en textkonfiguration - + Ajouter un texte Lägg till text - + Ajouter un groupe de textes Lägg till textgrupp - + Supprimer la sélection Ta bort markering @@ -2343,21 +2779,21 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast - + Gauche Vänster - + Droite Höger - + Centre Mitten @@ -2456,64 +2892,64 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Typsnitt: - - + + Déplacer un champ texte Flytta ett textfält - + Pivoter un champ texte Rotera ett textfält - + Modifier le texte d'un champ texte Ändra texten i ett textfält - - + + Modifier la police d'un champ texte Ändra typsnitt för ett textfält - + Modifier le cadre d'un champ texte Ändra ram för ett textfält - + Modifier la largeur d'un texte Ändra bredd på en text - + Modifier l'information d'un texte Ändra information i en text - + Modifier la source de texte, d'un texte Ändra källan för en text - + Modifier l'alignement d'un champ texte Ändra justeringen av ett textfält - + Modifier la couleur d'un champ texte Ändra färgen på ett textfält - + Modifier la conservation de l'angle Ändra bibehåll textrotation - + Modifier le point de rotation d'un champ texte @@ -2521,32 +2957,32 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast DynamicTextItemDelegate - + Texte utilisateur Egen text - + Information de l'élément Egenskap från symbol - + Texte composé Sammansatt text - + Gauche Vänster - + Centre Mitten - + Droite Höger @@ -2554,12 +2990,12 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,153 +3036,226 @@ Notera: Dessa alternativ TILLÅTER ELLER BLOCKERAR INTE auto-numreringen, endast Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Öppna symbol - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Välj den symbol som du vill öppna. - + Enregistrer un élément dialog title Spara symbol - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Välj den symbol som du vill spara. - + Ouvrir une catégorie dialog title Öppna katalog - - + + Choisissez une catégorie. dialog content Välj en katalog. - + Enregistrer une catégorie dialog title Spara katalog - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Titel - + Label Etikett - + Nom du nouveau dossier Namn på ny mapp - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Ingen markering - + La sélection n'existe pas. message box content Inget är markerat. - - + + Sélection incorrecte message box title Felaktig markering - + La sélection n'est pas un élément. message box content Ingen symbol är markerad. - + Écraser l'élément ? message box title Skriv över symbol? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Symbolen finns redan. Vill du skriva över den? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Du måste välja en symbol eller en katalog med ett namn för symbolen. @@ -2770,12 +3279,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Ta bort denna text - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2793,104 +3308,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Information - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Ångra - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2906,8 +3531,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Typ @@ -2990,8 +3615,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Funktion @@ -3021,302 +3646,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Värde - - - + + + Simple Enkel - + Maître Huvudfunktion - + Esclave Slavfunktion - + Renvoi de folio suivant Hänvisning till nästa blad - + Renvoi de folio précédent Hänvisning till föregående blad - + Bornier Plint - + Vignette Miniatyrbild - + Définition de conducteur - - + + Normalement ouvert Slutande (NO) - - + + Normalement fermé Brytande (NC) - - + + Inverseur Växlande - + Other Annan - + Esclave PLC - - + + Puissance Kraftkontakt - - + + Temporisé travail Tillslagsfördröjd - - + + Temporisé repos Frånslagsfördröjd - - + + Temporisé travail & repos Till- och frånslagsfördröjd - + Bobine Spole - + Organe de protection Skyddsanordning - + Commutateur / bouton Knapp/brytare - + Module PLC - - + + Générique Generisk - + Fusible Säkring - + Séctionnable Frånskiljbar - + Diode Diod - + Terre Jord - + Phase Fas - + Neutre Neutral - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Kommentar - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Ingen - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3330,7 +3955,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Symboler @@ -3467,249 +4092,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Flytta upp markering - + Ajouter la sélection Lägg till markering - + Supprimer la sélection Ta bort markering - + Descendre la sélection Flytta ned markering - + Pas de filtre Inget filter - + N'est pas vide Är inte tom - + Est vide Är tom - + Contient Innehåller - + Ne contient pas Innehåller inte - + Est égal à Är lika med - + N'est pas égale à Är inte lika med - + Filtre : Filter: - + Type d'éléments Typ av objekt - + Simples Enkla - + Organes de protection Skyddsanordningar - + Tous Alla - + Boutons et commutateurs Knappar och brytare - + Borniers Plintar - + Vignettes Miniatyrbilder - + Contacteurs et relais Kontaktorer och reläer - + Automates (MAE/SPS) - + Configuration Konfiguration - + Ouvrir la configuration sélectionné Öppna den valda konfigurationen - + Sauvegarder la configuration actuelle Spara den aktuella konfigurationen - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Anpassad SQL-begäran - + Requête SQL : SQL-begäran: - + Position Position - + Titre du folio Bladtitel - + Position du folio Bladposition - + Numéro du folio Bladnummer - - + + Exporter Exportera - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Fel - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3717,29 +4342,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Flytta ett grafikobjekt - + Éditer les informations sur l'auteur window title Redigera information om skapare - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Du kan använda detta fält för att nämna skaparna av symbolen, dess licens eller annan information som du anser vara användbar. - + Éditer les noms window title Redigera namn - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Du kan ange namnet på symbolen för flera språk. @@ -3747,101 +4372,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Objektet är inte en katalog - + L'item demandé n'est pas une categrie. Abandon. message box content Det begärda objektet är inte en katalog, avbryter. - + Catégorie inexistante message box title Katalogen finns inte - + La catégorie demandée n'existe pas. Abandon. message box content Den begärda katalogen finns inte, avbryter. - + Éditer une catégorie window title Redigera katalog - + Créer une nouvelle catégorie window title Skapa ny katalog - + Nom de la nouvelle catégorie default name when creating a new category Namn på den nya katalogen - + Édition en lecture seule message box title Skrivskyddad redigering - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Du har inte de nödvändiga rättigheterna för att ändra denna katalog. Den kommer därför att öppnas som skrivskyddad. - + Nom interne : Internt namn: - + Vous pouvez spécifier un nom par langue pour la catégorie. Du kan ange ett namn för varje språk till katalogen. - + Nom interne manquant message box title Internt namn saknas - + Vous devez spécifier un nom interne. message box content Du måste ange ett internt namn. - + Nom interne déjà utilisé message box title Internt namn upptaget - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Det interna namn du har valt används redan av en befintlig katalog. Vänligen välj ett annat. - + Erreur message box title Fel - + Impossible de créer la catégorie message box content Kan inte skapa katalog @@ -3850,73 +4475,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Öppna underliggande mapp i filsystemet - + Éditer l'élément Redigera symbol - + Supprimer l'élément Ta bort symbol - + Supprimer le dossier Ta bort mapp - + Recharger les collections Ladda om bibliotek - + Éditer le dossier Redigera mapp - + Nouveau dossier Ny mapp - + Nouvel élément Ny symbol - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Visa endast denna mapp - + Afficher tous les dossiers Visa alla mappar - + Propriété du dossier Egenskaper för mapp - + Supprimer l'élément ? message box title Ta bort symbol? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3924,25 +4549,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Borttagning av objektet - + La suppression de l'élément a échoué. message box content Borttagning av objektet misslyckades. - + Supprimer le dossier? message box title Ta bort mappen? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3950,24 +4575,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Borttagning av mapp - + La suppression du dossier a échoué. message box content Borttagning av mappen misslyckades. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3983,43 +4608,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Mappen %1 innehåller - + %n élément(s), répartie(s) %n objekt, fördelade @@ -4027,7 +4652,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). i %n mapp. @@ -4035,32 +4660,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Sökväg till bibliotek: %1 - + Chemin dans le système de fichiers : %1 Sökväg i filsystem: %1 - + Rechercher... - + Collections - + Modèles - + Propriété du dossier %1 Egenskap för mappen %1 @@ -4130,124 +4755,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant Öppna underliggande mapp i filsystemet - + Copier le chemin Kopiera sökväg - + Basculer vers ce projet Växla till detta projekt - + Fermer ce projet Stäng detta projekt - + Propriétés du projet Projektegenskaper - + Propriétés du folio Bladegenskaper - + Ajouter un folio Lägg till blad - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Ta bort blad - + Remonter ce folio Flytta blad uppåt - + Abaisser ce folio Flytta blad nedåt - + Remonter ce folio x10 Flytta blad uppåt x10 - + Remonter ce folio x100 Flytta blad uppåt x100 - + Remonter ce folio au debut Flytta blad överst - + Abaisser ce folio x10 Flytta blad nedåt x10 - + Abaisser ce folio x100 Flytta blad nedåt x100 - + Nouveau modèle Nytt titelblock - + Éditer ce modèle Redigera titelblock - + Supprimer ce modèle Ta bort titelblock - - + + Panneau des éléments - + Filtrer Filter @@ -4293,7 +4918,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Exportera @@ -4302,102 +4927,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title Exportera blad från projektet - + Exporter Exportera - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Välj de blad du vill exportera och deras mått: - + Tout cocher Markera allt - + Tout décocher Avmarkera allt - + Titre du folio Bladtitel - + Nom de fichier Filnamn - + Dimensions Mått - + Noms des fichiers cibles message box title Namn på målfiler - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Du måste ange ett unikt, icke-tomt filnamn för varje blad som ska exporteras. - + Dossier non spécifié message box title Mapp ej specifierad - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Du måste ange sökvägen till den mapp där filerna ska sparas. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Det går inte att skriva till denna fil - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Det verkar som om du inte har de nödvändiga behörigheterna för att skriva till filen %1. - + Aperçu Översikt - - + + px px @@ -4681,63 +5306,73 @@ som du skapar. Text- och nummerinmatningar är Applicera förflyttning - - + + Générique Generisk - + Fusible Säkring - + Sectionnable Frånskiljbar - + Diode Diod - + Terre Jord - + Phase Fas - + Neutre Neutral - + Sans Utan - + Avec - + Modifier des propriétés de borniers Ändring av egenskaper för plintar - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4745,27 +5380,27 @@ som du skapar. Text- och nummerinmatningar är FreeTerminalModel - + Label Etikett - + Référence croisé Korsreferens - + Type Typ - + Fonction Funktion - + led LED @@ -4798,104 +5433,105 @@ som du skapar. Text- och nummerinmatningar är Tillåt utzoomning utanför blad - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Använd &fönster (tillämpas vid nästa start av QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Använd f&likar (tillämpas vid nästa start av QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Skalningsmetod för bildskärmar med hög pixeldensitet (hdpi) (tillämpas vid nästa start av QElectroTech): - + Projets Projekt - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Automatisk backup av projekt (tillämpas vid nästa start av QElectroTech): - + Ne pas conserver les labels des éléments lors des copier coller Behåll inte textetiketter när du kopierar och klistrar in - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Kolumner i titelblock börjar på 0 (annars 1) - + Désactivé Av - + min minute min. - + Utiliser les numéros de folio à la place de leur position dans le projet Använd bladnummer istället för dess position i projektet - + Collections Bibliotek - + Accès aux collections Åtkomst till bibliotek - + Répertoire de la collection commune Mapp för gemensamt symbolbibliotek - - - - - - + + + + + + Par defaut Förinställt - - - - - - + + + + + + + Parcourir... Bläddra... - + Répertoire de la collection utilisateur Mapp för personligt symbolbibliotek - + (Recharger les collections d'éléments pour appliquer les changements) (Ladda om biblioteken för att tillämpa ändringarna) - + Répertoire des cartouches utilisateur Mapp för personligt titelblockbibliotek @@ -4910,476 +5546,689 @@ som du skapar. Text- och nummerinmatningar är - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Mapp för organisationens symbolbibliotek - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Mapp för organisationens titelblockbibliotek - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments Symbolhantering - + Mettre en valeur dans le panel les éléments fraîchement intégrés Markera nyligen infogade symboler i panelen - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Varje symbol innehåller information om dess författare, dess licens eller annan information som du anser vara användbar i ett fritt fält. Här kan du ange standardvärdet för detta fält för de symboler du skapar: - + Langues Språk - + Appliqué au prochain lancement de QElectroTech Tillämpas vid nästa start av QElectroTech - + Textes Texter - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Här kan du ange standardutseendet för olika texter i QElectroTech - + Textes d'éléments Symboltexter - - - + + + Police : Typsnitt: - - + + ° ° - + Longueur : Längd: - - + + Rotation : Rotation: - + Textes indépendants Fristående texter - + Autres textes Övriga texter - + Grille + Clavier Rutnät + tangentbord - + Grille : 1 - 30 Rutnät: 1-30 - + DiagramEditor yGrid Schemaredigerare rutnät-Y: - + La Grille doite etre active pour pouvoir voir les modifications. Rutnät måste vara aktiverat för att ändringarna ska synas. - + DiagramEditor xGrid Schemaredigerare rutnät-X: - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Tangentbordsförflyttning: 1-30 - + DiagramEditor (touche : gauche / droite) xGrid Schemaredigerare (tangent: vänster/höger) rutnät-X: - + DiagramEditor (touche : haut / bas) yGrid Schemaredigerare (tangent: upp/ned) rutnät-Y: - + Déplacement au clavier avec la touche ALT : 1 - 9 Tangentbordsförflyttning med ALT: 1-9 - + DiagramEditor (touche : gauche / droite ) xGrid Schemaredigerare (tangent: vänster/höger) rutnät-X: - + DiagramEditor (touche : haut / bas) yGrid Schemaredigerare (tangent: upp/ned) rutnät-Y: - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor Redigerare - + Max. parts in Element Editor List Maximalt antal delar i symbolredigerare - + Arrondi supérieur pour 0.5 et plus Avrunda uppåt för 0,5 och över - + Toujours arrondi supérieur Avrunda alltid uppåt - + Toujours arrondi inférieur Avrunda alltid nedåt - + Arrondi supérieur pour 0.75 et plus Avrunda uppåt för 0,75 och över - + Pas d'arrondi Ingen avrundning - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Allmänt - + Système System - + Arabe Arabiska - + Brézilien Brasilianska - + Catalan Katalanska - + Tchèque Tjeckiska - + Allemand Tyska - + Danois Danska - + Grec Grekiska - + Anglais Engelska - + Espagnol Spanska - + Français Franska - + Croate Kroatiska - + Italien Italienska - + Japonais Japanska - + Coréen - + Polonais Polska - + Portugais Portugisiska - + Roumains Rumänska - + Russe Ryska - + Slovène Slovenska - + Pays-Bas Nederländska - + Norvege Norska - + Belgique-Flemish Belgiska - + Turc Turkiska - + Hongrois Ungerska - + Mongol Mongoliska - + Ukrainien Ukrainska - + Chinois Kinesiska - + Suédois Svenska - + Chemin de la collection commune Sökväg till gemensamt symbolbibliotek - + Chemin de la collection company Sökväg till organisationens symbolbibliotek - + Chemin de la collection utilisateur Sökväg till personligt symbolbibliotek - + Chemin des cartouches company Sökväg till organisationens titelblockbibliotek - + Chemin des cartouches utilisateur Sökväg till personligt titelblockbibliotek - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. För höga värden kan leda till att programmet krascher. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5434,7 +6283,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Detta är en titelblockmall som kan användas på ett blad. - + %1 [non utilisé dans le projet] %1 [används inte i projektet] @@ -5764,42 +6613,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Översikt - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6016,28 +6865,28 @@ Använd den avancerade redigeraren för detta. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6281,6 +7130,96 @@ Använd den avancerade redigeraren för detta. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + MarginsEditDialog @@ -6332,7 +7271,7 @@ Använd den avancerade redigeraren för detta. <html><head/><body><p>Avlänka vald symbol</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Länka vald symbol</p></body></html> @@ -6432,7 +7371,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6442,6 +7381,158 @@ Voulez-vous tout de même lier ce contact esclave ? Korsreferenser (huvud) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Ångra + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Ångra + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6491,10 +7582,15 @@ Voulez-vous tout de même lier ce contact esclave ? Auto-numrering för förbindningar - + Multi-collage Klistra in flera + + + Numéroter les éléments collés + + NameListDialog @@ -6504,7 +7600,7 @@ Voulez-vous tout de même lier ce contact esclave ? Dialog - + Variables de cartouche Variabler för titelblock @@ -6532,7 +7628,7 @@ Voulez-vous tout de même lier ce contact esclave ? Lägg till rad - + Copier dans le presse papier Kopiera till urklipp @@ -6590,13 +7686,13 @@ Voulez-vous tout de même lier ce contact esclave ? Auto-numrering - + Nouveau folio configuration page title Nytt blad - + Nouveau projet configuration page title Nytt projekt @@ -6871,13 +7967,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dynamisk textetikett - + Déplacer un champ texte Flytta en textetikett @@ -6937,25 +8033,43 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Flytta en text - + Modifier un champ texte Ändra en textetikett + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6963,32 +8077,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7099,12 +8213,12 @@ Voulez-vous tout de même lier ce contact esclave ? Sluten polygon - + Ajouter un point Lägg till punkt - + Supprimer ce point Ta bort punkt @@ -7152,60 +8266,60 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Välj de egenskaper som ska tillämpas på den nya potentialen. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Välj den potential från listan som ska användas för den nya potentialen - - - + + + Numéro : %1 Nummer: %1 - - - + + + Fonction : %1 Funktion: %1 - - - + + + Tension/protocole : %1 Spänning/protokoll: %1 - - - + + + Couleur du conducteur : %1 Färg på förbindning: %1 - - - + + + Section du conducteur : %1 Tvärsnitt på förbindning: %1 - - + + %n conducteurs composent le potentiel suivant : %n förbindning utgör följande potential: @@ -7213,23 +8327,23 @@ Tvärsnitt på förbindning: %1 - + Ajouter au câble: %1 Lägg till i kabel: %1 - + Ajouter au bus: %1 Lägg till i bus: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Ändra egenskaper för flera förbindningar - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7240,10 +8354,107 @@ Följande variabler är inkompatibla: %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + Conserver + + + + + Supprimer + Ta bort + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Utskrift @@ -7252,142 +8463,342 @@ Följande variabler är inkompatibla: ProjectAutoNumConfigPage - + Numérotation auto Auto-numrering - + Management Hantering - - + + Conducteurs Förbindningar - - - Eléments - Symboler - - - - - Folios - Blad - - - - Numérotation auto des folios - Auto-numrering av blad - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Namn + + + + Folio - - - - - - - - - - Nom de la nouvelle numérotation - Namn på ny numrering + + Élément + Symboler - - - - - - - - Sans nom - Namnlös + + Figé + - - Importer les numérotations d'un projet + + Attribuer un numéro libre… + + + + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Symboler + + + + + Folios + Blad + + + + Numérotation auto des folios + Auto-numrering av blad + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + Supprimer la numérotation + Ta bort numrering + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + Nom de la nouvelle numérotation + Namn på ny numrering + + + Sans nom + Namnlös + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech-projekt (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7395,12 +8806,12 @@ Följande variabler är inkompatibla: ProjectDBModel - + Position Position - + Position du folio Bladposition @@ -7423,50 +8834,134 @@ Följande variabler är inkompatibla: ProjectMainConfigPage - + Général configuration page title Allmänt - + Titre du projet : label when configuring Projekttitel: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Denna titel kommer att finnas tillgänglig för alla blad i detta projekt som %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Nedan kan du definiera anpassade variabler som kommer att vara tillgängliga för alla blad i detta projekt (används vanligtvis för titelblock). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7510,137 +9005,137 @@ Följande variabler är inkompatibla: Från och med nu: - + Option de rendu Alternativ för rendering - + Dessiner le cadre Rita ram - + Dessiner le cartouche Rita titelblock - + Conserver les couleurs des conducteurs Behåll färger på förbindningar - + Dessiner les bornes Rita anslutningar - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Utskriftsalternativ - + Adapter le folio à la page Anpassa blad till sida - + Utiliser toute la feuille Använd hela sidan - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Om detta alternativ är markerat kommer bladen att förstoras eller förminskas så att dom fyller hela det utskrivbara området på sidan. - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Om det här alternativet är markerat ignoreras sidans marginaler och hela ytan används för utskrift. Detta kanske inte stöds av din skrivare. - + toolBar toolBar - + Ajuster la largeur Anpassa bredden - + Ajuster la page Anpassa till sida - + Zoom arrière Zooma ut - + Zoom avant Zooma in - + Paysage Landskap - + Portrait Porträtt - + Première page Första sida - + Page précédente Föregående sida - + Page suivante Nästa sida - + Dernière page Sista sida - + Afficher une seule page Visa en sida - + Afficher deux pages Visa två sidor - + Afficher un aperçu de toutes les pages Visa alla sidor - + mise en page Sidlayout @@ -7818,238 +9313,286 @@ Vill du spara ändringarna? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Laddar... Initialisering av cache för symbolbibliotek - + Chargement... Éditeur de schéma splash screen caption Laddar... Schemaredigerare - + Chargement... Ouverture des fichiers splash screen caption Laddar... Öppnar file - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET-titelblock - + Cartouches company title of the company's title block templates collection Organisationens titelblock - + Cartouches utilisateur title of the user's title block templates collection Personliga titelblock - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Schema - + Electrique Normal example text - translate length, not meaning Elektrisk - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Konfigurera QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Fel + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Laddar... - + Chargement... icône du systray splash screen caption Laddar... Ikoner för systray - + QElectroTech systray menu title QElectroTech - + &Quitter &Avsluta - + &Masquer &Dölj - + &Restaurer &Återställ - + &Masquer tous les éditeurs de schéma &Dölj alla schemaredigerare - + &Restaurer tous les éditeurs de schéma &Återställ alla schemaredigerare - + &Masquer tous les éditeurs d'élément &Dölj alla symbolredigerare - + &Restaurer tous les éditeurs d'élément &Återställ alla symbolredigerare - + &Masquer tous les éditeurs de cartouche systray submenu entry &Dölj alla titelblockredigerare - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Återställ alla titelblockredigerare - + &Nouvel éditeur de schéma &Ny schemaredigerare - + &Nouvel éditeur d'élément &Ny symbolredigerare - + Ferme l'application QElectroTech Stäng programmet QElectroTech - + Réduire QElectroTech dans le systray Stäng QElectroTech till systray - + Restaurer QElectroTech Återställ QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Schemaredigerare - + Éditeurs d'élément Symbolredigerare - + Éditeurs de cartouche systray menu entry Titelblockredigerare - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Följande återställningsfil har hittats,<br>vill du öppna den?</b><br> + <b>Följande återställningsfil har hittats,<br>vill du öppna den?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Följande återställningsfiler har hittats,<br>vill du öppna dem?</b><br> + <b>Följande återställningsfiler har hittats,<br>vill du öppna dem?</b><br> - Fichier de restauration - Återställningsfil + Återställningsfil - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Användning: - + [options] [fichier]... @@ -8058,7 +9601,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8075,34 +9618,34 @@ Tillgängliga alternativ : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Ange mappen för symbolbibliotek - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Ange mappen för titelblockbibliotek - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Ange konfigurationsmappen - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Definiera datamapp - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Ange mappen som innehåller språkfilerna @@ -8112,253 +9655,271 @@ Tillgängliga alternativ : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Projekt - + Collections Symbolbibliotek - + Aucune modification Inga ändringar - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Klicka på en åtgärd för att gå bakåt i redigeringen av schemat - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip Denna panel listar de olika åtgärder som utförts på det aktuella bladet. Om du klickar på en åtgärd återgår du till schemats status precis efter att åtgärden utfördes. - + Annulations dock title Ändringar - + E&xporter E&xportera - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip Exporterar det aktuella bladet till ett annat format - + Imprimer Skriv ut - + Imprime un ou plusieurs folios du projet courant status bar tip Skriver ut ett eller flera blad från det aktuella projektet - + Exporter en pdf Exportera som pdf - + Exporte un ou plusieurs folios du projet courant status bar tip Exporterar ett eller flera blad från det aktuella projektet - + &Quitter &Avsluta - + Ferme l'application QElectroTech status bar tip Stäng programmet QElectroTech - + Annuler Ångra - + Annule l'action précédente status bar tip Ångrar föregående åtgärd - + Refaire Gör om - + Restaure l'action annulée status bar tip Återställer ångrad åtgärd - + Co&uper &Klipp ut - + Cop&ier K&opiera - + C&oller K&listra in - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip Överför markerade objekt till urklipp - + Copie les éléments sélectionnés dans le presse-papier status bar tip Kopierar markerade objekt till urklipp - + Place les éléments du presse-papier sur le folio status bar tip Placera urklippsobjekt på blad - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs Återställ förbindningar - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Återställ förbindningar utan att ta hänsyn till ändringar - + Création automatique de conducteur(s) Tool tip of auto conductor Skapa förbindningar automatiskt - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Använd automatiskt skapande av förbindningar där det är möjligt - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor @@ -8374,862 +9935,1069 @@ Tillgängliga alternativ : Visar bladets bakgrundsfärg i vitt eller grått - + Afficher la grille Visa rutnät - + Affiche ou masque la grille des folios Visar eller döljer rutnät på blad - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Visa + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Korsreferenser + + + + Voir Affichage > Afficher + + + + Propriétés du folio Bladegenskaper - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Redigera bladegenskaper (mått, titelblock-information, förbindningsegenskaper etc.) - + Propriétés du projet Projektegenskaper - + Ajouter un folio Lägg till ett blad - - - + + + Supprimer le folio Ta bort blad - + Nettoyer le projet Städa upp projektet - + Exporter au format CSV Exportera i CSV-format - + Ajouter une nomenclature Lägg till en förteckning - + Ajouter un sommaire Lägg till en innehållsförteckning - + Gestionnaire de borniers (DEV) Plintradshanterare (DEV) - + Lancer le plugin de création de borniers Starta plugin för skapande av plintrader - + Exporter la liste des noms de conducteurs Exportera lista med ledarnamn - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Exportera den interna projektdatabasen - + en utilisant des onglets Användning av flikar - + Présente les différents projets ouverts des onglets status bar tip Visar de olika projekt som är öppna som flikar - + en utilisant des fenêtres Användning av fönster - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Visar de olika projekt som är öppna i underfönster - + &Mosaïque &Sida vid sida - + Dispose les fenêtres en mosaïque status bar tip Arrangera fönster sida vid sida - + &Cascade &Överlappande - + Dispose les fenêtres en cascade status bar tip Arrangera fönster överlappande - + Mode Selection Markeringsläge - + Permet de sélectionner les éléments status bar tip Används för att markera objekt - + Mode Visualisation Visningsläge - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Gör det möjligt att visa bladet utan att ändra i det - + Projet suivant Nästa projekt - + Active le projet suivant status bar tip Aktivera följande projekt - + Projet précédent Föregående projekt - + Active le projet précédent status bar tip Aktiverar föregående projekt - + &Nouveau &Nytt - + &Ouvrir &Öppna - + &Enregistrer &Spara - + Enregistrer sous Spara som - + + &Fermer S&täng - + Crée un nouveau projet status bar tip Skapar ett nytt projekt - + Ouvre un projet existant status bar tip Öppnar ett befintligt projekt - + Ferme le projet courant status bar tip Stänger det aktuella projektet - + Enregistre le projet courant et tous ses folios status bar tip Sparar det aktuella projektet och alla dess blad - + Enregistre le projet courant avec un autre nom de fichier status bar tip Sparar det aktuella projektet med ett annat filnamn - + Ajouter une colonne Lägg till kolumn - + Enlever une colonne Ta bort kolumn - + Ajouter une ligne Add row Lägg till rad - + Enlever une ligne Remove row Ta bort rad - + Ajoute une colonne au folio status bar tip Lägger till en kolumn på bladet - + Enlève une colonne au folio status bar tip Tar bort en kolumn på bladet - + Agrandit le folio en hauteur status bar tip Ökar bladets höjd - + Rétrécit le folio en hauteur status bar tip Minskar bladets höjd - + Supprimer Ta bort - + Pivoter Rotera - + Pivoter le groupe - + Orienter les textes Textrotering - + Retrouver dans le panel Hitta i panelen - + Éditer l'item sélectionné Redigera det markerade objektet - + Grouper les textes sélectionnés Gruppera markerade textetiketter - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Tar bort markerade objekt från bladet - + Pivote les éléments et textes sélectionnés status bar tip Roterar markerade objekt och texter - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Roterar markerade texter till en exakt vinkel - + Retrouve l'élément sélectionné dans le panel status bar tip Visar den valda symbolen i panelen - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Markera allt - + Désélectionner tout Avmarkera allt - + Inverser la sélection Invertera markering - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Markerar alla objekt på bladet - + Désélectionne tous les éléments du folio status bar tip Avmarkerar alla objekt på bladet - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Avmarkerar markerade objekt och markerar omarkerade objekt - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant Zooma in - + Zoom arrière Zooma ut - + Zoom sur le contenu Zooma innehåll - + Zoom adapté Zooma anpassad - + Pas de zoom Återställ zoom - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Förstora bladet - + Rétrécit le folio status bar tip Förminska bladet - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Anpassar zoomen för att visa hela innehållet i bladet, utan ram - + Adapte le zoom exactement sur le cadre du folio status bar tip Anpassar zoomen exakt till bladets ram - + Restaure le zoom par défaut status bar tip Återställer standardzoom - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte Lägg till ett textfält - + Ajouter une image Lägg till en bild - + Ajouter un PDF - + Ajouter une ligne Draw line Lägg till en linje - + Ajouter un rectangle Lägg till en rektangel - + Ajouter une ellipse Lägg till en ellips - + + Ajouter un arc + + + + Ajouter une polyligne Lägg till en polygon - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Lägg till en plintrad - + Ajoute un champ de texte sur le folio actuel Lägger till ett textfält till det aktuella bladet - + Ajoute une image sur le folio actuel Lägger till en bild till det aktuella bladet - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Lägger till en linje till det aktuella bladet - + Ajoute un rectangle sur le folio actuel Lägger till en bild till det aktuella bladet - + Ajoute une ellipse sur le folio actuel Lägger till en ellips till det aktuella bladet - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Lägger till en polygontill det aktuella bladet - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Lägger till en plintrad till det aktuella bladet - + Chercher/remplacer Sök/ersätt - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils Verktyg - + Affichage Visning - + Schéma Schema - + Ajouter Lägg till - + Profondeur toolbar title Djup - + + Scripts + toolbar title + + + + &Fichier &Fil - + &Édition &Redigera - + &Projet &Projekt - + Afficha&ge &Visning - + Fe&nêtres Fön&ster - + &Récemment ouverts &Nyligen öppnat - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Huruvida huvudverktygsfältet ska visas eller inte - + Affiche ou non la barre d'outils Affichage Huruvida verktygsfältet Visning ska visas eller inte - + Affiche ou non la barre d'outils Schéma Huruvida verktygsfältet Schema ska visas eller inte - + Affiche ou non le panel d'appareils Huruvida symbolpanelen ska visas eller inte - + Affiche ou non la liste des modifications Huruvida listan över ändringar ska visas eller inte - + Afficher les projets Visning av projekt - - + + Projet %1 enregistré dans le repertoire: %2. Projekt %1 sparat i katalog: %2. - + Ouvrir un fichier Öppna en fil - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech-projekt (*.qet);;XML-filer (*.xml);;Alla filer (*) - - + + Impossible d'ouvrir le fichier message box title Det går inte att öppna filen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Det verkar som om filen %1 du försöker öppna inte finns eller inte längre finns. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Det verkar som om filen du försöker öppna inte är läsbar. Det är därför omöjligt att öppna den. Kontrollera filens behörigheter. - + Ouverture du projet en lecture seule message box title Öppna projektet i skrivskyddat läge - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Det verkar som om projektet du försöker öppna inte är skrivbart. Det kommer därför att öppnas som skrivskyddat. - - + + Échec de l'ouverture du projet message box title Det går inte att öppna projektet - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Det verkar som om filen "%1" inte är en QElectroTech-projektfil. Den kan inte öppnas. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9238,7 +11006,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9247,42 +11015,82 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - - Groupe - Grupp - - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content - + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe + Grupp + + + + %n objet(s) remis sur la grille + + + + + + + + %n objet(s) aligné(s) + + + + + + + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9290,100 +11098,100 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Redigera symbol - + Éditer le champ de texte edit text field Redigera textfält - + Éditer l'image edit image Redigera bild - + Éditer le conducteur edit conductor Redigera förbindning - + Éditer l'objet sélectionné edit selected item Redigera markerat objekt - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Ett fel uppstod när filen "%1" öppnades. - + Active le projet « %1 » Aktiverar projektet "%1" - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Fel - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9391,7 +11199,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9399,7 +11207,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9407,18 +11215,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9427,13 +11235,111 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + Textes %1 @@ -9446,401 +11352,401 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Symbolredigerare - + &Fichier &Fil - + &Édition &Redigera - + Coller depuis... Klistra in från... - + Afficha&ge &Visning - + &Aide &Hjälp - + Annulations Ändringar - + Parties Delar - + Informations Information - + Outils Verktyg - + Affichage Visning - + Élément Symboler - + Annulation Annulering - + Tout sélectionner Markera allt - + &Nouveau &Ny - + &Ouvrir &Öppna - + &Ouvrir depuis un fichier Öppna från en &fil - + &Enregistrer &Spara - + Enregistrer sous Spara som - + Enregistrer dans un fichier Spara till en fil - + Exporter en SVG - + Recharger Ladda om - + &Fermer cet éditeur S&täng den här redigeraren - + Fermer cet éditeur Stäng den här redigeraren - + Désélectionner tout Avmarkera allt - + Co&uper &Klipp ut - + Cop&ier K&opiera - + C&oller K&listra in - + C&oller dans la zone &Klistra in i området - + Un fichier En fil - + Un élément En symbol - + Inverser la sélection Invertera markering - + &Supprimer &Ta bort - + Éditer le nom et les traductions de l'élément Redigera symbolens namn och översättningar - + Éditer les informations sur l'auteur Redigera information om skapare - + Éditer les propriétés de l'élément Redigera symbolens egenskaper - + Zoom avant Zooma in - + Zoom arrière Zooma ut - + Zoom adapté Zooma anpassad - + Pas de zoom Återställ zoom - + À &propos de QElectroTech &Om QElectroTech - + Affiche des informations sur QElectroTech Visar information om QElectroTech - + Manuel en ligne Manual online - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Visar QElectroTechs onlinehandbok med standardwebbläsaren - + Chaine Youtube Youtube-kanal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Visar QElectroTechs YouTube-kanal med standardwebbläsaren - + Soutenir le projet par un don Stötta projektet med en donation - + Soutenir le projet QElectroTech par un don Stöd QElectroTech-projektet med en donation - + À propos de &Qt Om &Qt - + Affiche des informations sur la bibliothèque Qt Visar information om Qt-biblioteket - + Rotation Rotation - + Fine-Rotation - + Mirror Spegla - + Flip Vänd - + Importer un dxf Importera en DXF-fil - + importer un élément à redimensionner importera en symbol som ska storleksanpassas - + Afficher menu entry Visa - + Le fichier %1 n'existe pas. message box content Filen %1 finns inte. - - + + Impossible d'ouvrir le fichier %1. message box content Det går inte att öppna filen %1. - - + + Ce fichier n'est pas un document XML valide message box content Filen är inte ett giltigt XML-dokument - - + + Erreur toolbar title Fel - - + + Édition en lecture seule message box title Skrivskyddad redigering - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Du har inte de nödvändiga behörigheterna för att ändra denna symbol. Den kommer därför öppnas i skrivskyddat läge. - - + + Erreur message box title Fel - + Impossible d'écrire dans ce fichier message box content Det går inte att skriva till denna fil - - - - + + + + Élément inexistant. message box title Symbolen finns inte. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Den valda virtuella sökvägen matchar inte en symbol. - - + + L'élément n'existe pas. message box content Symbolen finns inte. - + Impossible d'enregistrer l'élément message box content Det går inte att spara symbolen - + Ouvrir un fichier dialog title Öppna en fil - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech-symboler (*.elmt);;XML-filer (*.xml);;Alla filer (*) - + [Modifié] window title tag [Ändrad] - + [lecture seule] window title tag [Skrivskyddad] - + Trop de primitives, liste non générée: %1 För många grafikbojekt, listan genererades inte: %1 - - + + %n partie(s) sélectionnée(s). %n markerad del. @@ -9848,45 +11754,68 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Anslutning saknas - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Utan anslutning kan symbolen inte anslutas till andra symboler via förbindningar. - + Absence de borne Anslutning saknas - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Fel</b> :<br>Bladhänvisningar får bara ha en anslutning.<br><b>Lösning</b> :<br>Kontrollera att symbolen endast har en anslutning - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + La vérification de cet élément a généré message box content Kontroll av denna symbol genererad - + %n erreur(s) errors @@ -9895,12 +11824,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et och - + %n avertissement(s) warnings @@ -9909,248 +11838,281 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs Fel - + Avertissements Varningar - + Impossible d'ouvrir le fichier message box title Det går inte att öppna filen - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Det verkar som om filen %1 du försöker öppna inte finns eller inte längre finns. - + Enregistrer l'élément en cours ? dialog title Spara den aktuella symbolen? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Vill du registrera symbolen %1? - + Annuler Ångra - + Refaire Gör om - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + Höjd + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Importer un élément à redimensionner Importera en symbol som ska storleksanpassas - + Éléments QElectroTech (*.elmt) QElectroTech-symbol (*.elmt) - + Profondeur toolbar title Djup - + Ajouter une ligne Lägg till en linje - + Ajouter un rectangle Lägg till en rektangel - + Ajouter une ellipse Lägg till en ellips - + Ajouter un polygone Lägg till en polygon - + Ajouter du texte Lägg till en text - + Ajouter un arc de cercle Lägg till en båge - + Ajouter une borne Lägg till en anslutning - + Ajouter un champ texte dynamique Lägg till ett dynamiskt textfält - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Dubbelklicka för att avsluta polygonen, högerklicka för att ångra den sista punkten - + Ajouter un texte d'élément non éditable dans les schémas Lägg till symboltext som inte är redigerbar i scheman - + Ajouter un texte d'élément pouvant être édité dans les schémas Lägg till symboltext som är redigerbar i scheman - + Parties toolbar title Delar - + Aucune modification Inga ändringar - + Éditeur d'éléments status bar message Symbolredigerare - - - + + + Echec de l'enregistrement Registrering misslyckades - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Registreringen misslyckades, villkoren är ogiltiga - + Enregistrer sous dialog title Spara som - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech-symboler (*.elmt) - + Recharger l'élément dialog title Ladda om symbol - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Du har gjort ändringar i denna symbol. Om du laddar om den kommer dessa ändringar att gå förlorade. Vill du verkligen ladda om symbolen? - + Avertissement Varning - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Att importera en stor DXF-filkan ta lite tid, @@ -10160,137 +12122,172 @@ ha tålamod under importeringen... QETMainWindow - + &Configurer QElectroTech &Konfigurera QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Ställer in olika parametrar för QElectroTech - + À &propos de QElectroTech &Om QElectroTech - + Affiche des informations sur QElectroTech status bar tip Visar information om QElectroTech - + Manuel en ligne Manual online - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip Visar QElectroTechs onlinehandbok med standardwebbläsaren - - + + + + Général Allmänt - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube Youtube-kanal - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip Visar QElectroTechs YouTube-kanal med standardwebbläsaren - - + + Télécharger une nouvelle version (dev) Ladda ner en ny version (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Visar onlinearkivet QElectroTech Nightly med standardwebbläsaren - + Soutenir le projet par un don Stötta projektet med en donation - + Soutenir le projet QElectroTech par un don status bar tip Stöd QElectroTech-projektet med en donation - + À propos de &Qt Om &Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Visar information om Qt-biblioteket - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Konfiguration - + &Aide window menu &Hjälp - + Sortir du &mode plein écran &Avsluta helskärmsläge - + Affiche QElectroTech en mode fenêtré status bar tip Visar QElectroTech i fönsterläge - + Passer en &mode plein écran Växla till &helskärmsläge - + Affiche QElectroTech en mode plein écran status bar tip Visar QElectroTech i helskärmsläge - + Afficher menu entry Visa @@ -10299,52 +12296,52 @@ ha tålamod under importeringen... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Projekt « %1 : %2 » - + Projet %1 displayed title for a title-less project - %1 is the file name Projekt %1 - + Projet sans titre displayed title for a project-less, file-less project Namnlöst projekt - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [skrivskyddad] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [modifierad] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10352,19 +12349,19 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Ett fel uppstod under modellintegreringen. - + Avertissement message box title Varning - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10373,7 +12370,7 @@ Vous utilisez actuellement QElectroTech en version %2 Du använder för närvarande QElectroTech version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10382,32 +12379,32 @@ Que désirez vous faire ? Vad vill du göra? - + Avertissement message box title Varning - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Projektet du försöker öppna är delvis kompatibelt med din version %1 av QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? För att göra det helt kompatibelt, öppna samma projekt med QElectroTech version 0.8 eller 0.80, spara projektet och öppna det igen med denna version. Vad vill du göra? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Öppnar det aktuella projektet...</b><br/>Skapar blad</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Öppnar det aktuella projektet...</b><br/>Skapar korsreferenser</p> @@ -10776,52 +12773,52 @@ Vad vill du göra? QObject - - + + chargement %p% (%v sur %m) laddar %p% (%v av %m) - - + + - - - - - - + + + + + + this is an error in the code det här är ett fel i koden - + Collection QET QET-symbolbibliotek - + Collection Company Organisationens symbolbibliotek - + Collection utilisateur Personligt symbolbibliotek - + Macros - + Collection inconnue Okänt symbolbibliotek - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10841,22 +12838,22 @@ Vad vill du göra? Sök/ersätt bladegenskaper - + Chercher/remplacer les propriétés d'éléments. Sök/ersätt symbolegenskaper. - + Chercher/remplacer des textes independants Sök/ersätt fristående texter - + Chercher/remplacer les propriétés de conducteurs. Sök/ersätt egenskaper för förbindningar. - + Rechercher / remplacer avancé Sök/ersätt avancerat @@ -11018,44 +13015,44 @@ Vad vill du göra? - + coller %1 undo caption - %1 is a sentence listing the content to paste Klistra in %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut Klipp ut %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content Flytta %1 - + modifier le texte undo caption Ändra text - + modifier un conducteur undo caption Ändra förbindning - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Återställ %1 - + modifier les dimensions du folio undo caption Ändra storlek på blad @@ -11082,7 +13079,7 @@ Vad vill du göra? Ta bort del - + Ouvrir un element Öppna en symbol @@ -11260,12 +13257,17 @@ Vad vill du göra? Text - + Importer un fichier dxf Importera en DXF-fil + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11337,38 +13339,38 @@ Vill du ersätta den? en textgrupp - + Folio sans titre Namnlöst blad - + schema schema - + Conserver les proportions Bibehåll proportioner - + Réinitialiser les dimensions Återställ storlek - + Aperçu Översikt - + Exporter vers le presse-papier Exportera till urklipp - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Varning: symbolen har registrerats med en senare version av QElectroTech. @@ -11535,7 +13537,7 @@ Vill du ersätta den? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11544,7 +13546,7 @@ Vill du ersätta den? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11553,7 +13555,7 @@ Vill du ersätta den? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11562,7 +13564,7 @@ Vill du ersätta den? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11571,7 +13573,7 @@ Vill du ersätta den? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11580,7 +13582,7 @@ Vill du ersätta den? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11589,7 +13591,7 @@ Vill du ersätta den? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11598,7 +13600,7 @@ Vill du ersätta den? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11607,99 +13609,99 @@ Vill du ersätta den? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Textfilen som innehåller GNU/GPL-licensen kan inte hittas - men den kan du ju ändå utantill, eller hur? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Textfilen som innehåller GNU/GPL-licensen finns men kunde inte öppnas - men du kan den ju ändå utantill, eller hur? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Det gick inte att öppna filen %1 med skrivbehörighet, fel %2 uppstod. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file Ett fel uppstod vid skrivning till filen %1, fel %2 uppstod. - + Amener au premier plan Flytta till förgrunden - + Rapprocher Flytta upp - + Éloigner Flytta ned - + Envoyer au fond Flytta till bakgrunden - + Ramène la ou les sélections au premier plan Tar fram markering till förgrunden - + Rapproche la ou les sélections Flyttar upp markering - + Éloigne la ou les sélections Flyttar ned markering - + Envoie en arrière plan la ou les sélections Flyttar markering till bakgrunden - - - - + + + + Profondeur Djup - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Så här installerar du insticksprogrammet qet_tb_generator:<br>Besök:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Kräver Python 3.5 eller högre.<br><B><U> Första installation på Windows</B></U><br>1. Installera, om nödvändigt, Python 3.5 eller högre<br>Besök:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U>Uppdatera på Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>användare kan köra detta script i denna mapp<br>C:\users\<användare>\AppData\Local\Programs\Python\Python36-32\Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> Så här installerar du insticksprogrammet qet_tb_generator:<br>Besök:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U>Första installation på macOSX</B></U><br>1. Installera, om nödvändigt, paketet python 3.11, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Kör skriptet Profile.command<br> eftersom programmet använder hårdkodad PATH för att lokalisera pluginprogrammet qet-tb-generator<br>Besök:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U>Uppdatera på macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Så här installerar du insticksprogrammet qet_tb_generator:<br>Besök:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Kräver Python 3.5 eller högre.<br><br><B><U>Första installation på Linux</B></U><br>1. Kontrollera att du har pip3 installerat: pip3 --version<br>Om inte, installera med: sudo apt-get install python3-pip<br>2. Installera programmet: sudo pip3 install qet_tb_generator<br>3. Kör programmet: qet_tb_generator<br><br><B><U>Uppdatera på Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Fel vid start av plugin qet_tb_generator - + Borne tooltip Anslutning @@ -11716,6 +13718,7 @@ Vill du ersätta den? + Titre Titel @@ -11842,35 +13845,35 @@ Vill du ersätta den? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire Kommentar - - - + + + Réf. croisée @@ -11878,9 +13881,9 @@ Vill du ersätta den? - - - + + + Fonction Funktion @@ -12334,7 +14337,7 @@ Vill du ersätta den? horisontell justering - + %p% effectué (%v sur %m) %p% utfört (%v av %m) @@ -12406,6 +14409,7 @@ Vill du ersätta den? Ändra egenskaperna för en symbol + Modifier les informations de l'élément : %1 Redigera information för symbol: %1 @@ -12422,7 +14426,7 @@ Vill du ersätta den? Ändra titelblock - + supprimer %1 undo caption - %1 is a sentence listing the removed content Ta bort %1 @@ -12456,7 +14460,7 @@ Vill du ersätta den? %1 textgrupper - + %n texte(s) @@ -12464,19 +14468,19 @@ Vill du ersätta den? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Orientering av valda texter - + Création de conducteurs Skapande av förbindningar @@ -12561,7 +14565,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Ladda ner den genom att följa länken nedan och packa upp den i installationsmappen. - + Automatic terminal numbering @@ -12644,7 +14648,7 @@ Ladda ner den genom att följa länken nedan och packa upp den i installationsma - + %n groupe(s) de textes @@ -12653,8 +14657,8 @@ Ladda ner den genom att följa länken nedan och packa upp den i installationsma - - + + Déplacer %1 @@ -12783,98 +14787,111 @@ Ladda ner den genom att följa länken nedan och packa upp den i installationsma - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + + - + Ajouter %1 Lägg till %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Ändring av färg för ett textfält - + Pivoter un texte - + Modifier le trait d'une forme Ändra linje för en geometrisk form - + Modifier le remplissage d'une forme Ändra fyllning för en geometrisk form - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Ändra en symboltext - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12882,6 +14899,47 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + Dégrouper %n objet(s) + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + + QTextOrientationWidget @@ -12901,371 +14959,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Informationen som ska visas är större än vad som kan visas i tabellerna. Lägg till en ny tabell eller justera de befintliga tabellerna för att visa all information. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Informationen som ska visas är större än vad som kan visas i tabellen. Lägg till en ny tabell eller justera den befintliga tabellen för att visa all information. - + Limitation de tableau Tabellbegränsning - + Modifier la géometrie d'un tableau Ändra geometrin för en tabell + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Lägg till punkt - + Supprimer ce point Ta bort punkt - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Storlek - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Lägg till en punkt på en polygon - + Supprimer un point d'un polygone Ta bort en punkt från en polygon - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Ändra %1 - + une ligne en linje - + un rectangle en rektangel - + une éllipse en ellips - + un arc - + une polyligne en polygon - + une courbe - + une shape en grafisk form @@ -13347,7 +15466,7 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all TextLabel - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? Symbolen « %1 » finns redan. Vad vill du göra? @@ -13355,31 +15474,75 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + Folio + + + + + Élément + Symboler + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13403,9 +15566,9 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all - - - + + + Ne pas modifier Ändra inte @@ -13525,97 +15688,97 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all fas - - + + Nombre de phase Fasnamn - + Neutre Neutral - + neutre neutral - + Terre Skyddsjord - + terre skyddsjord - + TextLabel TextLabel - + PushButton PushButton - + Apparence Utseende - + Taille : Storlek: - - + + Couleur : Färg: - + Style : Stil: - - + + Modifier Redigera - + Couleur secondaire : Sekundärfärg: - + Taille de trait : Linjestorlek: - + px px - + Trait plein conductor style: solid line Solid linje - + Trait en pointillés conductor style: dashed line Streckad linje - + Traits et points conductor style: dashed and dotted line Streckad och punktad linje @@ -13624,7 +15787,7 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all ReplaceElementDialog - + Ne pas modifier Ändra inte @@ -13666,10 +15829,10 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all - - - - + + + + Ne pas modifier Ändra inte @@ -13729,7 +15892,7 @@ Lägg till en ny tabell eller justera den befintliga tabellen för att visa all Använd aktuellt datum - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13742,38 +15905,38 @@ Följande variabler kan användas: - %autonum: automatisk numrering av blad - + Disponible en tant que %locmach pour les modèles de cartouches Tillgänglig som %locmach för titelblock - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Tillgänglig som %plant för titelblock</p></body></html> - + Titre : Titel: - - - - - - - + + + + + + + Supprimer ce texte Radera denna text - + Personnalisées Anpassad - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Här kan du definiera dina egna namn/värde-associationer för användning i titelblocket. Exempel: Om @@ -13812,6 +15975,185 @@ Skapa din egen text med hjälp av följande variabler: %c: kolumnnummer + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Namn: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Spara + + + + Ouvrir le &dossier + + + + + &Fermer + S&täng + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13850,185 +16192,185 @@ Skapa din egen text med hjälp av följande variabler: Gå till nästa träff - + Aller à la correspondance précédente Gå till föregående träff - + Actualiser Uppdatera - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Visa avancerade alternativ</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Ange egenskaper som ska ersättas i symboler</p></body></html> - + Élément Symboler - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Ange egenskaper som ska ersättas i förbindningar</p></body></html> - + Conducteur Förbindningar - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Ersätt markerade träffar</p></body></html> - + Tout remplacer Ersätt alla - + avancé Avancerat - + Remplacer : Ersätt: - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Ange egenskaper som ska ersättas i blad</p></body></html> - + Folio Blad - + Champ texte de folio Textfält för blad - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Ersätt vald träff</p></body></html> - + Remplacer Ersätt - + Quitter Avsluta - + Correspondance : Korrespondens: - + Folios Blad - + Champs texte Textetiketter - + Eléments Symboler - + Eléments simple Enkla symboler - + Eléments maître Huvudfunktioner - + Eléments esclave Slavfunktioner - + Eléments report de folio Bladhänvisningssymboler - + Eléments bornier Plintar - + Conducteurs Förbindningar - + Inconnue Okända - + Sélectionner les éléments de ce folio Välj symbolerna på detta blad - + Sélectionner les conducteurs de ce folio Välj förbindningarna på detta blad - + Sélectionner les textes de ce folio Välj texterna på detta blad - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [ändrad] @@ -14056,53 +16398,81 @@ Skapa din egen text med hjälp av följande variabler: Ta bort numrering - + Définition Definition - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Ta bort en numreringsvariabel</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Lägg till en numreringsvariabel</p></body></html> - Précédent - Föregående + Föregående - Suivant - Nästa + Nästa - + Type Typ - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Värde - + Incrémentation Inkrement - + + Annuler + Ångra + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Auto-numrering av blad - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14130,13 +16500,13 @@ Fältet "Inkrement" används inte. - + Conducteur Autonumérotation title window Auto-numrering av förbindningar - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14174,13 +16544,13 @@ De andra fälten används inte. De andra fälten används inte. - + Element Autonumérotation title window Auto-numrering av symboler - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14217,6 +16587,16 @@ De andra fälten används inte. -Typen ”Blad” representerar namnet på det aktuella bladet. De andra fälten används inte. + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16606,12 +18986,12 @@ De andra fälten används inte. Egenskaper att visa - + Configuration Konfiguration - + Requête SQL : SQL-begäran: @@ -16621,6 +19001,18 @@ De andra fälten används inte. Position + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + TerminalEditor @@ -16975,123 +19367,123 @@ De andra fälten används inte. Utför flytt - + Étage : Våning: - + Type : Typ: - + Couleur pont : Färg på bygel: - - + + Générique Generisk - + Fusible Säkring - + Sectionnable Frånskiljbar - + Diode Diod - + Terre Jord - + LED : LED: - + Fonction : Funktion: - + Déplacer dans : Flytta till: - + Phase Fas - + Neutre Neutral - + Position automatique Automatisk position - + Grouper les bornes Gruppera plintar - + Degrouper les bornes Avgruppera plintar - + Ponter les bornes Bygla plintarna - + Déponter les bornes Avbygla plintarna - + Propriétés Egenskaper - + Nom : Namn: - + Commentaire : Kommentar: - + Installation : Anläggning: - + Localisation : Placering: - + Description Beskrivning @@ -17119,32 +19511,32 @@ De andra fälten används inte. toolBar - + Ajouter un bornier Lägg till plintrad - + Ajouter un bornier au projet Lägg till en plintrad i projektet - + Supprimer le bornier Ta bort plintrad - + Supprimer le bornier du projet Tar bort en plintrad från projektet - + Recharger Ladda om - + Recharger les borniers Ladda om plintrader @@ -17374,12 +19766,12 @@ De andra fälten används inte. Plintnavigator - + Projet sans titre Namnlöst projekt - + Bornes indépendante Tillgängliga plintar @@ -17482,7 +19874,7 @@ De andra fälten används inte. Nedladdning - + Dossier installation Installationsmapp @@ -17490,37 +19882,37 @@ De andra fälten används inte. TitleBlockDimensionWidget - + Largeur : default dialog label Bredd: - + Absolu a traditional, absolute measure Absolut - + Relatif au total a percentage of the total width Relativt total - + Relatif au restant a percentage of what remains from the total width Relativt resterande - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17549,87 +19941,87 @@ De andra fälten används inte. <html><head/><body><p>Visar titelblocket längst ner (horisontellt) eller till höger (vertikalt) i bladet.</p></body></html> - + Principales Huvud - + Date : Datum: - + Auteur : Skapare: - + Indice Rev: Rev.index: - + Disponible en tant que %locmach pour les modèles de cartouches Tillgänglig som %locmach för titelblock - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Tillgänglig som %plant för titelblock</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches Tillgänglig som %title för titelblock - + Folio : Blad: - + Fichier : Fil: - + Disponible en tant que %author pour les modèles de cartouches Tillgänglig som %author för titelblock - + Disponible en tant que %filename pour les modèles de cartouches Tillgänglig som %filename för titelblock - + Pas de date Inget datum - + Date courante Aktuellt datum - + Appliquer la date actuelle Använd aktuellt datum - + Disponible en tant que %date pour les modèles de cartouches Tillgänglig som %date för titelblock - + Date fixe : Fast datum: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17642,67 +20034,68 @@ Följande variabler kan användas: - %autonum: automatisk numrering av blad - + Titre : Titel: - + Page Num: Sidnummer: - + Disponible en tant que %indexrev pour les modèles de cartouches Tillgänglig som %indexrev för titelblock - + Installation : Anläggning (=): - + Localisation: Placering (+): - + Personnalisées Anpassad - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Här kan du definiera dina egna namn/värde-associationer för användning i titelblocket. Exempel: Om du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ersättas med 1745 i titelblocket. - + Éditer ce modèle menu entry Redigera titelblock - + Dupliquer et éditer ce modèle menu entry Duplicera och redigera denna mall - + Title block templates actions Åtgärder för mallar till titelblock - - + + + Créer un Folio Numérotation Auto Skapa en automatisk bladnumrering - + Modèle par défaut Standardmall @@ -17710,13 +20103,13 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18215,50 +20608,50 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title - - + + %n conducteur(s) listé(s). wiring list summary @@ -18267,7 +20660,7 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18279,96 +20672,115 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers WiringListExport - - + + Erreur Fel - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Spänning/protokoll - + Couleur du fil Wiring list CSV header Förbindningsfärg - + Section du fil Wiring list CSV header Förbindningstvärsnitt - + Fonction Wiring list CSV header Funktion - + + Câble + Wiring list CSV header + Kabel + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Varning + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18582,27 +20994,27 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Exportera den interna projektdatabasen - + sans_nom namnlös @@ -18610,7 +21022,7 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers qdesigner_internal::ColorAction - + Text Color Textfärg @@ -18618,7 +21030,7 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers qdesigner_internal::HtmlTextEdit - + Insert HTML entity Infoga HTML-entitet @@ -18626,27 +21038,27 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers qdesigner_internal::RichTextEditorDialog - + Edit text Redigera text - + Rich Text Rich Text - + Source Källa - + &OK &Ok - + &Cancel &Avbryt @@ -18654,69 +21066,69 @@ du associerar namnet ”volta” med värdet ”1745” kommer %{volta} att ers qdesigner_internal::RichTextEditorToolBar - + Texte en gras Fet text - - - + + + Éditeur de texte - + Texte en italique Kursiv text - + Texte souligé Understruken text - + Left Align Vänsterjusterad - + Center Centrerad - + Right Align Högerjusterad - + Justify Justera - + Superscript Superscript - + Subscript Subscript - + Insérer un lien Infoga en länk - + Insert &Image Infoga &bild - + Simplify Rich Text Förenkla Rich Text diff --git a/lang/qet_tr.ts b/lang/qet_tr.ts index a0bdf93aa..cb24a9b1c 100644 --- a/lang/qet_tr.ts +++ b/lang/qet_tr.ts @@ -54,272 +54,272 @@ log - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, elektrik şemalarının tasarım ve çizim uygulaması. - + Les développeurs de QElectroTech about tab, developers line QElectroTech geliştiricileri - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line İletişim: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Orjinal Konsept - - + - - + + + Développement Geliştirme - + Convertisseur DXF DXF dönüştürücü - + Plugin Bornier Terminal Blok Eklentisi - + Collection Kütüphane - + Traduction en espagnol İspanyolca çeviri - + Traduction en russe Rusça çeviri - + Traduction en portugais Portekizce çeviri - + Traduction en tchèque Çekçe çeviri - + Traduction en polonais Lehçe çeviri - + Traduction en allemand Almanca çeviri - + Traduction en roumain Rumence çeviri - + Traduction en italien İtalyanca çeviri - + Traduction en arabe Arapça çeviri - + Traduction en croate Hırvatça çeviri - + Traduction en catalan Katalanca çeviri - + Traduction en grec Yunanca çeviri - + Traduction en néerlandais Hollandaca çeviri - + Traduction en flamand Flamanca çeviri - + Traduction en danois Danca çeviri - + Traduction en brézilien Brezilyaca çeviri - + Traduction en Turc Türkçe Çeviri - + Traduction en hongrois Macarca Çeviri - + Traduction en serbe Sırpça çeviri - + Traduction en japonais Japonca çeviri - + Traduction en coréen Korece çeviri - + Traduction en mongol Moğolca çeviri - + Paquets Fedora et Red Hat Fedora et Red Hat Paketleri - + Paquets Mageia Mageia Paketleri - + Paquets Debian Debian Paketleri - + Paquets Gentoo Gentoo Paketleri - + Paquets OS/2 OS/2 paketleri Paketleri - + Paquets FreeBSD FreeBSD Paketleri - + Paquets MAC OS X MAC OS X Paketleri - + Paquets Archlinux AUR Archlinux AUR Paketleri - + Icônes Simgeler - + Documentation Dökümantasyon - + Collection d'éléments Öğe kütüphanesi - + Redimensionneur d'éléments Element scaler Öğe yeniden boyutlandırıcı - + Convertisseur d'élément DXF Dxf2elmt DXF öğe dönüştürücüsü - + Outil de traduction d'éléments Qet_translate Öğe çeviri aracı - + Paquets Snap Snap paketleri - + Traduction en ukrainien Ukraynaca çeviri - + Traduction en norvégien Norveççe çeviri - + Traduction en slovène Slovence çeviri - + Générateur d'élément lambda Lambda element generator Lambda öğe üreteci @@ -428,17 +428,17 @@ Yapılandırma - + Contenu İçerik - + Sélectionner la police des en tête du tableau Tablo başlığı yazı tipini seç - + Sélectionner la police des cellules du tableau Tablo hücreleri yazı tipini seç @@ -456,6 +456,134 @@ Aşağıdaki klemens planını ekle : + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Açı : + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,58 +687,132 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element I am not sure about this It should be checked Element - + Conducteur İletken - + Configurer les règles d'auto numérotation Otomatik numaralandırma kurallarını yapılandır - + Configurer Yapılandır - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + %n élément(s) numérotés. + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + Autonumérotation Otomatik numaralandırma + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -680,28 +915,74 @@ Var Olan - + Under Development Geliştiriliyor - + Installing Kurulumda - + Built Kurulmuş - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + Auto Numbering Management title window Otomatik Numaralandırma Yönetimi - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -745,55 +1026,55 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Önizleme - + nomenclature_ isimleri_ - + Enregister sous... Farklı kaydet ... - + Fichiers csv (*.csv) csv Dosyaları (*.csv) - - + + Erreur Hata - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Pozisyon - + Position du folio Sayfa Pozisyonu - + Quantité numéro d'article Special field with name : designation quantity Miktar makale numarası - + Requête refusée - + Erreur dans la requête : %1 @@ -826,6 +1107,27 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -872,7 +1174,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi ClickableImageLabel - + Cliquez pour choisir une couleur @@ -903,8 +1205,8 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Bir değişken ekleyin : - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Mevcut değişkenleri kullanarak oluşturduğunuz metni buraya girin @@ -912,13 +1214,13 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Conductor - + Modifier les propriétés d'un conducteur undo caption İletken özelliklerini değiştir - + Modifier les propriétés de plusieurs conducteurs undo caption İletkenlerin özelliklerini değiştir @@ -927,73 +1229,73 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi ConductorColorToolButton - + Noir Siyah - + Marron Kahverengi - + Gris Gri - + Bleu Mavi - + Vert Yeşil - + Rouge Kırmızı - + Orange Turuncu - + Violet Mor - + Blanc Beyaz - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1001,7 +1303,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi - + Choisir une couleur de conducteur @@ -1019,13 +1321,13 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Bu gerilim hattındaki bütün iletkenlerine bu özellikleri uygula - + Modifier les propriétés d'un conducteur undo caption İletkenin özelliklerini değiştir - + Modifier les propriétés de plusieurs conducteurs undo caption İletkenlerin özelliklerini değiştir @@ -1034,24 +1336,32 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Bu gerilim hattındaki bütün iletkenlerine bu özellikleri uygula + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur İletken @@ -1075,6 +1385,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi + Texte visible Görünür metin @@ -1096,6 +1407,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi + Texte Metin @@ -1110,7 +1422,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Fonksiyon : - + Formule du texte : Metin Formülü : @@ -1160,69 +1472,69 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi İletken metninin yeri ve yönü : - + cable kablo - + bus bus - - + + Unifilaire Tek Hatlı - - + + Nombre de phase Faz sayısı - + Neutre Nötr - + neutre nötr - + Phase Faz - + phase faz - + Protective Earth Neutral Koruma ve Nötr İletkeni - + PEN PEN - + Terre Toprak - + terre toprak - + TextLabel EtiketMetni @@ -1232,34 +1544,34 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Metin rengi: - + Apparence Görünüm - + Couleur secondaire : İkincil renk : - + px - - + + Couleur : Renk : - + Taille de trait : Çizgi boyutu : - + Couleur du conducteur İletken rengi @@ -1270,35 +1582,52 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi &Çoklu Hatlı - + Taille : Boyut : - - + + Style du conducteur İletken Şekli - + Style : Şekil : - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Düz çizgi - + Trait en pointillés conductor style: dashed line Kesik çizgi - + Traits et points conductor style: dashed and dotted line Kesik ve noktalı çizgi @@ -1320,128 +1649,151 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler - + Normalement ouvert Normalde açık - + Normalement fermé Normalde kapalı - + Inverseur Switch - + Autre - - + + Inconnu - + Simple Temel - + Puissance Power Switch - + Temporisé travail Gecikmeli Açılan - + Temporisé repos Gecikmeli Kapanan - + Temporisé travail & repos Gecikmeli Açılan Kapanan + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1471,27 +1823,27 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Hata - + Impossible d'écrire dans le fichier « %1 ». @@ -1499,7 +1851,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Diagram - + Modifier la profondeur I am not sure about this. It should be checked. Derinliği değiştirin @@ -1640,7 +1992,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1657,263 +2009,331 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image I am not sure about this. It should be checked. Bir görüntü - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Bir resim seç... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Hata - + Impossible de charger l'image. Resim yüklenemiyor. - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1921,7 +2341,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagramPropertiesDialog - + Propriétés du folio window title Sayfa Özellikleri @@ -1930,12 +2350,12 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagramTextItem - + Maintenir ctrl pour un déplacement libre Serbest hareket için CTRL'a basılı tutunuz - + <Shift> to move @@ -1945,79 +2365,85 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip I am not sure about this. It should be checked. Bu, öğelerinizi ekleyerek ve iletkenler arasında terminaller yerleştirerek düzenlerinizi tasarladığınız alandır. Bağımsız metinler eklemek de mümkündür. - + Coller ici context menu action Buraya yapıştır - + Collage multiple Çoklu Yapıştır - + Créer un template context menu action Şablon oluştur - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Seçilen bağlantıları bağla - + Sans titre what to display for untitled diagrams Başlıksız - + Modèle enregistré Şablon kaydedildi - + Le modèle a été enregistré avec succès sous : %1 Şablon başarıyla şu adla kaydedildi: %1 - + Erreur Hata - + Le fichier n'a pas pu être écrit. Dosya yazılamadı. - + Choisir la nouvelle couleur de ce conducteur Bu iletkenin yeni rengini seçin - + Modifier les propriétés d'un conducteur undo caption Bu iletkenin özelliklerini değiştirin @@ -2036,7 +2462,7 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Başlık - + TextLabel MetinEtiketi @@ -2044,42 +2470,42 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Üst - + Bas Alt - + Gauche Sol - + Droite Sağ - + Direction : @@ -2087,17 +2513,17 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DynamicElementTextItem - + Texte Metin - + Éditer un texte d'élément Öğe metnini düzenle - + Redimensionner un texte d'élément @@ -2116,31 +2542,31 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi - - - - + + + + ... ... - + Importer une configuration de texte Metin yapılandırması içe aktar - + Ajouter un texte Metin ekle - + Ajouter un groupe de textes I am not sure about this. It should be checked. Grup metin ekle - + Supprimer la sélection Seçimi sil @@ -2355,21 +2781,21 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi - + Gauche Sol - + Droite Sağ - + Centre Orta @@ -2468,64 +2894,64 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Hizalama - - + + Déplacer un champ texte Metin alanını taşı - + Pivoter un champ texte Metin alanını döndür - + Modifier le texte d'un champ texte Metin alanının metnini düzenleme - - + + Modifier la police d'un champ texte Öğe metninin yazı tipini değiştir - + Modifier la couleur d'un champ texte Metin alanının rengini değiştirme - + Modifier la conservation de l'angle Açı korumasını değiştir - + Modifier le point de rotation d'un champ texte - + Modifier le cadre d'un champ texte Metin alanının çerçevesini değiştir - + Modifier la largeur d'un texte Metnin genişliğini değiştir - + Modifier l'information d'un texte Metin bilgilerini düzenle - + Modifier la source de texte, d'un texte Metin kaynağını ve metnini değiştir - + Modifier l'alignement d'un champ texte Metin alanının hizalamasını değiştirin @@ -2533,32 +2959,32 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi DynamicTextItemDelegate - + Texte utilisateur Kullanıcı metni - + Information de l'élément Öğe bilgisi - + Texte composé Oluşturulan metin - + Gauche Sol - + Centre Orta - + Droite Sağ @@ -2566,12 +2992,12 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2612,154 +3038,227 @@ Not: Bu durum "Otomatik Numaralandırma"'ya engel koymaz veya izi Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Bir öğeyi aç - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Açmak istediğiniz öğeyi seçin. - + Enregistrer un élément dialog title Bir öğeyi kaydet - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Tanımınızı kaydetmek istediğiniz öğeyi seçin. - + Ouvrir une catégorie dialog title Bir kategori aç - - + + Choisissez une catégorie. dialog content Bir kategori seçin. - + Enregistrer une catégorie dialog title Bir kategoriyi kaydet - + Enregistrer un template dialog title Şablonu kaydet - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content Şablonunuzu kaydetmek istediğiniz konumu seçin. - + Titre Başlık - + Label Etiket - + Nom du nouveau dossier Yeni klasörün adı - + Nom du nouveau template Yeni şablon adı - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Varolmayan seçim - + La sélection n'existe pas. message box content Seçim mevcut değil. - - + + Sélection incorrecte message box title Yanlış seçim - + La sélection n'est pas un élément. message box content Seçim bir öğe değil. - + Écraser l'élément ? message box title Öğeyi silmek mi istiyorsunuz? - + Écraser le template ? message box title Şablon üzerine yazılsın mı? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content I am not sure about this. It should be checked. Öğe zaten var. Üzerine yazmak istermisiniz? - + Le template existe déjà. Voulez-vous l'écraser ? message box content Şablon zaten mevcut. Üzerine yazmak istiyor musunuz? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Öğe için adı olan bir öğe veya katagori seçmelisiniz. @@ -2783,12 +3282,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Bu metni sil - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2806,104 +3311,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Otomatik numaralandırmadan hariç tut - + Informations Bilgiler - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2919,8 +3534,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Tür @@ -3004,8 +3619,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction Fonksiyon @@ -3035,303 +3650,303 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Değerler - - - + + + Simple Temel - + Maître Master - + Esclave Bağımlı - + Renvoi de folio suivant Sonraki sayfaya dön - + Renvoi de folio précédent Önceki sayfaya dön - + Bornier Terminal - + Vignette Küçük Resim - + Définition de conducteur - - + + Normalement ouvert Normalde açık - - + + Normalement fermé Normalde kapalı - - + + Inverseur Switch - + Other Diğer - + Esclave PLC - - + + Puissance Power Switch - - + + Temporisé travail I am not sure about this. It should be checked. Gecikmeli Açılan - - + + Temporisé repos Gecikmeli Kapanan - - + + Temporisé travail & repos Gecikmeli Açılan Kapanan - + Bobine Bobin - + Organe de protection Koruma Elamanı - + Commutateur / bouton Anahtar / Buton - + Module PLC - - + + Générique Genel - + Fusible Sigorta - + Séctionnable Ayrılabilir - + Diode Diyot - + Phase Faz - + Neutre Nötr - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Açıklama - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun Yok - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules - + Terre Toprak @@ -3345,7 +3960,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Öğe @@ -3485,249 +4100,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Seçimi yukarı taşı - + Ajouter la sélection Seçim ekle - + Supprimer la sélection Seçimi sil - + Descendre la sélection Seçimi aşağı taşı - + Pas de filtre Filtre yok - + N'est pas vide Boş değil - + Est vide Boş - + Contient İçeriyor - + Ne contient pas İçermiyor - + Est égal à Eşittir - + N'est pas égale à Eşit değil - + Filtre : Filtre : - + Type d'éléments Öğe türü - + Simples Basit - + Tous Tümü - + Vignettes Küçük resimler - + Contacteurs et relais Kontaktörler ve röleler - + Boutons et commutateurs Düğmeler ve anahtarlar - + Borniers Klemensler - + Organes de protection Koruma elemanları - + Automates (MAE/SPS) - + Configuration Yapılandırma - + Ouvrir la configuration sélectionné Seçili yapılandırmayı aç - + Sauvegarder la configuration actuelle Mevcut yapılandırmayı kaydet - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée Özel SQL sorgusu - + Requête SQL : SQL sorgusu : - + Position Pozisyon - + Titre du folio Sayfa başlığı - + Position du folio Sayfa Pozisyonu - + Numéro du folio Sayfa numarası - - + + Exporter Dışa aktar - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Hata - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3735,30 +4350,30 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Öncülü Taşıma - + Éditer les informations sur l'auteur window title Yazar metinlerini düzenle - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. I am not sure about this. It should be checked. Bu ücretsiz alanı, öğenin, lisansının veya yararlı bulduğunuz diğer tüm bilgilerin yazarlarından bahsetmek için kullanabilirsiniz. - + Éditer les noms window title Adları düzenle - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Öğenin adını birden çok dilde belirtebilirsiniz. @@ -3766,101 +4381,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Öğe bir katagoride değil - + L'item demandé n'est pas une categrie. Abandon. message box content İstenen öğe bir katagöride değildir. Ayrıl. - + Catégorie inexistante message box title Mevcut olmayan katagori - + La catégorie demandée n'existe pas. Abandon. message box content İstenen katagori mevcut değil. Ayrıl. - + Éditer une catégorie window title Katagoriyi düzenle - + Créer une nouvelle catégorie window title Yeni kategori oluştur - + Nom de la nouvelle catégorie default name when creating a new category Yeni kategorinin adı - + Édition en lecture seule message box title Salt okunur sürüm - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Bu kategoriyi düzenleme ayrıcalığına sahip değilsiniz. Salt okunur modda açılacaktır. - + Nom interne : İç adı : - + Vous pouvez spécifier un nom par langue pour la catégorie. Kategori için bir dile göre bir isim belirtebilirsiniz. - + Nom interne manquant message box title Eksik iç ad - + Vous devez spécifier un nom interne. message box content Bir iç ad belirtmelisiniz. - + Nom interne déjà utilisé message box title İç ad zaten kullanılıyor - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Seçtiğiniz iç ad zaten mevcut bir kategori tarafından kullanılıyor. Lütfen başka birini seçiniz. - + Erreur message box title Hata - + Impossible de créer la catégorie message box content Kategori oluşturulamıyor @@ -3869,73 +4484,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant İlgili klasörü aç - + Éditer l'élément Öğeyi düzenle - + Supprimer l'élément Öğeyi sil - + Supprimer le dossier Klasörü sil - + Recharger les collections Kütüphaneleri yeniden yükle - + Éditer le dossier Klasörü düzenle - + Nouveau dossier Yeni klasör - + Nouvel élément Yeni öğe - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Sadece bu klasörü göster - + Afficher tous les dossiers Tüm klasörleri görüntüle - + Propriété du dossier Klasörün özelliği - + Supprimer l'élément ? message box title Öğeyi sil ? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3943,25 +4558,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Öğeyi silme - + La suppression de l'élément a échoué. message box content Öğenin silinmesi başarısız oldu. - + Supprimer le dossier? message box title Klasörü sil ? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3969,24 +4584,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Klasörü silme - + La suppression du dossier a échoué. message box content Klasörü silme başarısız oldu. - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -4002,82 +4617,82 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient %1 klasörü içerir - + %n élément(s), répartie(s) %n öğe(ler) - + dans %n dossier(s). %n klasöründe. - + Chemin de la collection : %1 Kütüphane Yolu : %1 - + Chemin dans le système de fichiers : %1 Dosya sistemindeki yol : %1 - + Rechercher... Ara... - + Collections Koleksiyonlar - + Modèles Şablonlar - + Propriété du dossier %1 %1 klasörü özelliği @@ -4147,124 +4762,124 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant İlgili klasörü aç - + Copier le chemin Yolu kopyala - + Basculer vers ce projet Bu projeye geç - + Fermer ce projet Bu projeyi kapat - + Propriétés du projet Proje Özellikleri - + Propriétés du folio Sayfa özellikleri - + Ajouter un folio Bir sayfa ekle - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Bu sayfayı sil - + Remonter ce folio Bu sayfayı yukarı taşı - + Abaisser ce folio Bu sayfayı aşağı taşı - + Remonter ce folio x10 Bu sayfayı yukarı taşı x10 - + Remonter ce folio x100 Bu sayfayı yukarı taşı x100 - + Remonter ce folio au debut Bu sayfayı en başa geri koy - + Abaisser ce folio x10 Bu sayfayı aşağı taşı x10 - + Abaisser ce folio x100 Bu sayfayı aşağı taşı x100 - + Nouveau modèle Yeni şablon - + Éditer ce modèle Bu şablonu düzenle - + Supprimer ce modèle Bu şablonu sil - - + + Panneau des éléments - + Filtrer Filtre @@ -4310,7 +4925,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Dışa aktar @@ -4319,102 +4934,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title Proje sayfalarını dışa aktar - + Exporter Dışa aktar - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Dışa aktarmak istediğiniz sayfaları ve boyutlarını seçin : - + Tout cocher Tümünü işaretle - + Tout décocher Tümünü Kaldır - + Titre du folio Sayfa başlığı - + Nom de fichier Dosya adı - + Dimensions Boyutlar - + Noms des fichiers cibles message box title Hedef dosya adları - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Dışa aktarılacak her bir sayfa için boş olmayan, benzersiz bir dosya adı girmelisiniz. - + Dossier non spécifié message box title Belirtilmemiş klasör - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Görüntü dosyalarının kaydedileceği klasörün yolunu belirtmelisiniz. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Bu dosyaya yazılamıyor - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content %1 dosyasına yazmak için gerekli izinlere sahip olmadığınız anlaşılıyor. - + Aperçu Önizleme - - + + px px @@ -4696,63 +5311,73 @@ atayabilirsiz. Metin ve sayı girişleri ayrıca mevcut. Hareketi uygula - - + + Générique Genel - + Fusible Sigorta - + Sectionnable Ayrılabilir - + Diode Diyot - + Terre Toprak - + Phase Faz - + Neutre Nötr - + Sans Olmadan - + Avec İle - + Modifier des propriétés de borniers Klemens özelliklerini değiştir - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4760,27 +5385,27 @@ atayabilirsiz. Metin ve sayı girişleri ayrıca mevcut. FreeTerminalModel - + Label Etiket - + Référence croisé Çapraz referans - + Type Tip - + Fonction Fonksiyon - + led led @@ -4803,52 +5428,53 @@ atayabilirsiz. Metin ve sayı girişleri ayrıca mevcut. Sistem renklerini kullan - + Chemin de la collection utilisateur Kullanıcı Kütüphanesi Yolu - + Chemin de la collection commune Ortak Kütüphane Yolu - - - - - - + + + + + + Par defaut Varsayılan - - - - - - + + + + + + + Parcourir... Göz Atın... - + (Recharger les collections d'éléments pour appliquer les changements) (Değişiklikleri uygulamak için öğe kütüphanelerini yeniden yüklemelisiniz) - + Projets Projeler - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Projelerin otomatik olarak yedeklenmesi (QElectroTech'in bir sonraki açılışında uygulanır) - + Ne pas conserver les labels des éléments lors des copier coller #Kopyala-Yapıştır yaparken öğelerin etiketlerinden tutmayın @@ -4858,23 +5484,23 @@ atayabilirsiz. Metin ve sayı girişleri ayrıca mevcut. Touchpad hareketlerini kullan - + Utiliser les numéros de folio à la place de leur position dans le projet Projedeki pozisyonlarının yerine sayfa numaralandırmasını kullan - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Başlık bloğunun 0'dan başlayarak sütunlarını numaralandır(Aksi takdirde "1") - + Désactivé Devredışı - + min minute dk @@ -4885,80 +5511,80 @@ atayabilirsiz. Metin ve sayı girişleri ayrıca mevcut. #Yakınlaştırmanın sayfanın ötesine geçmesine izin ver - + Chemin des cartouches utilisateur It does not exist in the english translation. Kullanıcı başlık blokları dizini - + Collections Koleksiyonlar - + Accès aux collections Koleksiyonlara Erişim - + Répertoire de la collection commune Ortak koleksiyon dizini - + Répertoire de la collection utilisateur Kullanıcı koleksiyon dizini - + Répertoire des cartouches utilisateur Kullanıcı başlık blokları dizini - + Gestion des éléments Öğe Yönetimi - + Mettre en valeur dans le panel les éléments fraîchement intégrés #Yeni entegre edilen öğeleri panelde vurgulayın - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : #Her öğe,boş bi alanda "Yazarları, Lisansı veya başka bir alanda yararlı bulduğunuz veriler" hakkında bilgiler içerir. #Burada, oluşturacağınız öğeler için bu alanın varsayılan içeriğini belirtebilirsiniz : - + Appliqué au prochain lancement de QElectroTech QElectroTech'in bir sonraki başlatma işleminde uygulanır - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech Burada çeşitli metinlerin QElectroTech içinde varsayılan görünümünü tanımlayabilirsiniz - + Grille + Clavier Izgara + Klavye - + Grille : 1 - 30 Izgara: 1 - 30 - + DiagramEditor xGrid Diyagram Editörü xIzgarası - + DiagramEditor yGrid Diyagram Editörü yIzgarası @@ -4973,429 +5599,642 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. - Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - - - - - Gestes de la souris avec le bouton droit - - - - - Afficher les guides par défaut (appliqué au prochain lancement) + Sans limite + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. + + + + + Gestes de la souris avec le bouton droit + + + + + Afficher les guides par défaut (appliqué au prochain lancement) + + + + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) &Windows'u kullan (QElectroTech'in bir sonraki başlatılmasında uygulanır) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) &Sekmeleri kullan (QElectroTech'in bir sonraki başlatılmasında uygulanır) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Yüksek piksel yoğunluklu ekran (hdpi) ölçeklendirme yöntemi (QElectroTech bir sonraki başlatıldığında uygulanır): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company Company koleksiyon dizini - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company Company antet blokları dizini - + Répertoire des Macros utilisateur Kullanıcı Makroları dizini - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues Diller - + Textes Metinler - + Textes d'éléments Öğelerin Metinleri - - - + + + Police : Yazı Tipi : - - + + ° ° - + Longueur : Uzunluk : - - + + Rotation : Dönüş: - + Textes indépendants Bağımsız Metinler - + Autres textes Diğer Metinler - + La Grille doite etre active pour pouvoir voir les modifications. Değişiklikleri görebilmek için Izgara'nın etkin olması gerekir. - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Klavye hareketi: 1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Diyagram Editörü (Tuş : Sol / Sağ) xIzgara - + DiagramEditor (touche : haut / bas) yGrid Diyagram Editörü (Tuş : Yukarı / Aşağı) yIzgarası - + Déplacement au clavier avec la touche ALT : 1 - 9 ALT tuşuyla Klavye hareketi : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Diyagram Editörü (Tuş : Sol / Sağ) xIzgara - + DiagramEditor (touche : haut / bas) yGrid Diyagram Editörü (Tuş : Yukarı / Aşağı) yIzgarası - + Affichage Grille Izgara Görünümü - - + + max: maks: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 Diagram-Editor ızgara nokta boyutu : 1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 Öğe editörü ızgara nokta boyutu : 1 - 5 - + Editor Editor - + Max. parts in Element Editor List Öğe Editör Listesindeki maks. parça sayısı - + Arrondi supérieur pour 0.5 et plus 0.5 ve üzeri için yukarı yuvarla - + Toujours arrondi supérieur Her zaman yukarı yuvarla - + Toujours arrondi inférieur Her zaman aşağı yuvarla - + Arrondi supérieur pour 0.75 et plus 0.75 ve üzeri için yukarı yuvarla - + Pas d'arrondi Yuvarlama yok - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Genel - + Système Sistem - + Arabe Arapça - + Brézilien Brezilyaca - + Catalan Katalanca - + Tchèque Çekce - + Allemand Almanca - + Danois Danca - + Grec Yunanca - + Anglais İngilizce - + Espagnol İspanyolca - + Français Fransızca - + Croate Hırvatça - + Italien İtalyanca - + Japonais Japonca - + Coréen Korece - + Polonais Polonyaca - + Portugais Portekizce - + Roumains Romence - + Russe Rusça - + Slovène Slovakça - + Pays-Bas Hollancada - + Norvege Norveç - + Belgique-Flemish Flemenkçe - + Turc Türkçe - + Hongrois Macarca - + Mongol Moğolca - + Ukrainien Ukraynaca - + Chinois Çince - + Suédois İsveççe - + Chemin de la collection company Company koleksiyon yolu - + Chemin des cartouches company Company antet blokları yolu - + Chemin des macros utilisateur Kullanıcı makroları yolu - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + csv Dosyaları (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. Çok yüksek değerler uygulamanın çökmesine neden olabilir. - + Fonctionnalité expérimental Deneysel özellik - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5455,7 +6294,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Bu, bir sayfaya uygulanabilecek bir antet şablonudur. - + %1 [non utilisé dans le projet] %1 [Projede kullanılmıyor] @@ -5785,42 +6624,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Önizleme - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6042,28 +6881,28 @@ Lütfen bunun için gelişmiş editörü kullanın. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6310,6 +7149,95 @@ Lütfen bunun için gelişmiş editörü kullanın. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + MarginsEditDialog @@ -6361,7 +7289,7 @@ Lütfen bunun için gelişmiş editörü kullanın. <html><head/><body><p>Seçili öğenin bağlantısını kopar</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Seçili öğenin bağlantısını yap</p></body></html> @@ -6461,7 +7389,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6471,6 +7399,158 @@ Voulez-vous tout de même lier ce contact esclave ? Çapraz Referans (Master) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6520,10 +7600,15 @@ Voulez-vous tout de même lier ce contact esclave ? İletkenlerin Otomatik Numaralandırılması - + Multi-collage Çoklu Yapıştır + + + Numéroter les éléments collés + + NameListDialog @@ -6533,7 +7618,7 @@ Voulez-vous tout de même lier ce contact esclave ? Diyalog - + Variables de cartouche Başlık Bloğu Değişkenleri @@ -6561,7 +7646,7 @@ Voulez-vous tout de même lier ce contact esclave ? Bir çizgi ekle - + Copier dans le presse papier Pano'ya kopyala @@ -6619,13 +7704,13 @@ Voulez-vous tout de même lier ce contact esclave ? Otomatik Numaralandırma - + Nouveau folio configuration page title Yeni Sayfa - + Nouveau projet configuration page title Yeni Proje @@ -6901,13 +7986,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Dinamik metin alanı - + Déplacer un champ texte Bir metin alanını taşı @@ -6967,57 +8052,74 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Bir metni taşı - + Modifier un champ texte Bir metin alanını düzenle + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7123,12 +8225,12 @@ Voulez-vous tout de même lier ce contact esclave ? Kapalı çokgen - + Ajouter un point Bir nokta ekle - + Supprimer ce point Bu noktayı sil @@ -7181,84 +8283,84 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Lütfen yeni potansiyele uygulanacak özellikleri seçin. - - + + %n conducteurs composent le potentiel suivant : %n iletkenler aşağıdaki potansiyeli oluşturur : - - - + + + Numéro : %1 Sayı : %1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Lütfen yeni bir potansiyel kullanmak için listeden bir elektrik potansiyeli seçin - - - + + + Fonction : %1 Fonksiyon : %1 - - - + + + Tension/protocole : %1 Voltaj/protokol : %1 - - - + + + Couleur du conducteur : %1 İletken rengi : %1 - - - + + + Section du conducteur : %1 İletken kesiti : %1 - + Ajouter au câble: %1 Kabloya ekle: %1 - + Ajouter au bus: %1 Bus'a ekle: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption I am not sure about this . It should be checked. İletkenlerin özelliklerini değiştir - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7269,10 +8371,106 @@ Aşağıdaki değişkenler uyumsuz : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + Conserver + + + + + Supprimer + Sil + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Sayfa Başlığını Yapılandırma @@ -7282,142 +8480,332 @@ Aşağıdaki değişkenler uyumsuz : ProjectAutoNumConfigPage - + Management Yönetim - + Numérotation auto Otomatik Numaralandırma - - + + Conducteurs İletkenler - - - Eléments - Öğeler - - - - - Folios - Sayfalar - - - - Numérotation auto des folios - Sayfa otomatik numaralandırma - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + İsim + + + + Folio + Sayfa + + + + Élément + Öğe + + + + Figé - - - - - - - - - - Nom de la nouvelle numérotation - Yeni numaralandırmanın adı + + Attribuer un numéro libre… + - - - - - - - - Sans nom - İsimsiz - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Öğeler + + + + + Folios + Sayfalar + + + + Numérotation auto des folios + Sayfa otomatik numaralandırma + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + ; %n numéro(s) sans élément + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + Supprimer la numérotation + Numaralandırmayı sil + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + Nom de la nouvelle numérotation + Yeni numaralandırmanın adı + + + Sans nom + İsimsiz + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech Projesi (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7425,12 +8813,12 @@ Aşağıdaki değişkenler uyumsuz : ProjectDBModel - + Position Pozisyon - + Position du folio Sayfa Pozisyonu @@ -7453,50 +8841,134 @@ Aşağıdaki değişkenler uyumsuz : ProjectMainConfigPage - + Général configuration page title Genel - + Titre du projet : label when configuring Proje başlığı : - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Bu başlık, bu projedeki tüm sayfalar için %projecttitle olarak belirlenecektir. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Bu projedeki (genellikle öğeler için) tüm sayfalar için mevcut olacak özel özellikleri aşağıda tanımlayabilirsiniz. - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7540,137 +9012,137 @@ Aşağıdaki değişkenler uyumsuz : Şu tarihe kadar : - + Option de rendu Render seçeneği - + Dessiner le cadre Çerçeveyi çiz - + Dessiner le cartouche Anteti çiz - + Conserver les couleurs des conducteurs İletkenlerin renklerini koru - + Dessiner les bornes Terminalleri çiz - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Yazdırma seçeneği - + Adapter le folio à la page Sayfaya sığdırın - + Utiliser toute la feuille Tüm sayfayı kullan - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Bu seçenek işaretlenirse, sayfa yalnızca bir sayfanın yazdırılabilir alanını dolduracak şekilde büyütülür veya küçültülür." - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Bu seçenek işaretlenirse, sayfanın kenar boşlukları yok sayılır ve tüm yüzeyi yazdırma için kullanılır. Bu, yazıcınız tarafından desteklenmeyebilir. - + toolBar toolBar - + Ajuster la largeur Genişliği Ayarla - + Ajuster la page Sayfayı Ayarla - + Zoom arrière Uzaklaştır - + Zoom avant Yakınlaştır - + Paysage Sayfa boyunca - + Portrait Portre - + Première page İlk sayfa - + Page précédente Önceki sayfa - + Page suivante Sonraki sayfa - + Dernière page Son sayfa - + Afficher une seule page Tek sayfa göster - + Afficher deux pages İki sayfa göster - + Afficher un aperçu de toutes les pages Tüm sayfaları önizle - + mise en page sayfa düzeni @@ -7848,238 +9320,286 @@ Değişiklikleri kaydetmek ister misiniz ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Yükleniyor... Ürün kütüphanelerinin önbelleği başlatılıyor - + Chargement... Éditeur de schéma splash screen caption Yükleniyor ... Şema Editörü - + Chargement... Ouverture des fichiers splash screen caption Yükleniyor ... Açılış dosyaları - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QElectroTech Antetleri - + Cartouches company title of the company's title block templates collection Company antet blokları - + Cartouches utilisateur title of the user's title block templates collection Kullanıcı Antetleri - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Şema - + Electrique Normal example text - translate length, not meaning Elektrik - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title QElectroTech'i yapılandır - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Hata + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Yükleniyor... - + Chargement... icône du systray splash screen caption Yükleniyor ... systray icon - + QElectroTech systray menu title QElectroTech - + &Quitter &Çıkış - + &Masquer &Gizle - + &Restaurer &Geri Yükle - + &Masquer tous les éditeurs de schéma Tüm şema düzenleyicilerini &gizle - + &Restaurer tous les éditeurs de schéma Tüm şema düzenleyicilerini &geri yükle - + &Masquer tous les éditeurs d'élément Tüm öğe düzenleyicilerini &gizle - + &Restaurer tous les éditeurs d'élément Tüm öğe düzenleyicilerini &geri yükle - + &Masquer tous les éditeurs de cartouche systray submenu entry Tüm Antet düzenleyicileri &gizle - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Tüm Antet düzenlemelerini geri yükle - + &Nouvel éditeur de schéma &Yeni şema düzenleyici - + &Nouvel éditeur d'élément &Yeni öğe editörü - + Ferme l'application QElectroTech QElectroTech uygulamasını kapatır - + Réduire QElectroTech dans le systray Systray'da QElectroTech'i azaltın - + Restaurer QElectroTech QElectroTech'i geri yükle - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Şema Editörleri - + Éditeurs d'élément Öğe Editörleri - + Éditeurs de cartouche systray menu entry Anteti Düzenle - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Aşağıdaki geri yükleme dosyası bulundu,<br>Açmak ister misiniz ?</b><br> + <b>Aşağıdaki geri yükleme dosyası bulundu,<br>Açmak ister misiniz ?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Aşağıdaki geri yükleme dosyaları bulundu,<br>Açmak ister misiniz ?</b><br> + <b>Aşağıdaki geri yükleme dosyaları bulundu,<br>Açmak ister misiniz ?</b><br> - Fichier de restauration - Dosyayı geri yükle + Dosyayı geri yükle - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Kullanım : - + [options] [fichier]... @@ -8088,7 +9608,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8105,35 +9625,35 @@ Mevcut seçenekler: - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Öğelerin kütüphanesinin klasörünü tanımla - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Antet şablonu kütüphanesinin klasörünü tanımlayın - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Yapılandırma klasörünü ayarla - + --data-dir=DIR Definir le dossier de data --data-dir=DIR Veri klasörünü tanımla - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Dil dosyalarını içeren klasörü ayarlayın @@ -8143,161 +9663,161 @@ Mevcut seçenekler: QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Projeler - + Collections Kolleksiyonlar - + Aucune modification Değişiklik yok - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Şema üzerinde çalışmak için bir işleme tıklayın - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip I am not sure about this. It should be checked. Bu panel, geçerli sayfada gerçekleştirilen farklı eylemleri listeler. Bir eylemi tıklamak, şemanın uygulamadan sonraki haline dönmesini sağlar. - + Annulations dock title İptal edilenler - + E&xporter D&ışa aktar - + Exporte le folio courant dans un autre format status bar tip Mevcut sayfayı başka bir formatta dışa aktarır - + Imprimer Yazdır - + Imprime un ou plusieurs folios du projet courant status bar tip Mevcut projeden bir veya daha fazla sayfa yazdır - + &Quitter &Çıkış - + Ferme l'application QElectroTech status bar tip QElectroTech uygulamasını kapatır - + Annuler İptal - + Annule l'action précédente status bar tip Önceki eylemi iptal eder - + Refaire Yeniden yapma - + Restaure l'action annulée status bar tip İptal edilen eylemi geri yükle - + Co&uper Ke&s - + Cop&ier Kop&yala - + C&oller Y&apıştır - + Transfère les éléments sélectionnés dans le presse-papier status bar tip Seçili öğeleri panoya aktar - + Copie les éléments sélectionnés dans le presse-papier status bar tip Seçilen öğeleri panoya kopyala - + Place les éléments du presse-papier sur le folio status bar tip Panodaki öğeleri sayfaya yerleştirin - + Réinitialiser les conducteurs İletkenleri sıfırla - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Modifikasyonları dikkate almadan iletken yollarını yeniden hesaplar - + Création automatique de conducteur(s) Tool tip of auto conductor Otomatik iletken (ler) oluşturma - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Mümkün olduğunda otomatik oluşturulan iletken(ler) kullanın @@ -8313,955 +9833,1180 @@ Mevcut seçenekler: Sayfa'nın arka plan rengini beyaz veya gri olarak görüntüler - + Afficher la grille Izgarayı göster - + Affiche ou masque la grille des folios Sayfaların ızgarasını göster veya gizle - + Propriétés du folio Sayfa Özelikkleri - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Sayfa özelliklerini düzenleyin (boyutlar, antet bilgileri, iletken özellikleri ...) - + Propriétés du projet Proje Özellikleri - + Ajouter un folio Bir Sayfa Ekle - - - + + + Supprimer le folio Sayfayı sil - + Nettoyer le projet Projeyi temizle - + Ajouter un sommaire Bir özet ekle - + Ajouter une nomenclature Bir nomenklatür ekle - + Lancer le plugin de création de borniers Terminal bloğu yaratma eklentisini başlatın - + Grouper les textes sélectionnés Seçilen metinleri gruplandır - + Chercher/remplacer Bul / Değiştir - + en utilisant des onglets Sekmeleri kullan - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporter en pdf PDF olarak export et - + Exporte un ou plusieurs folios du projet courant status bar tip Geçerli projeden bir veya daha fazla sayfa export et - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Görünüm + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Çapraz Referans + + + + Voir Affichage > Afficher + + + + Exporter au format CSV CSV formatında export et - + Gestionnaire de borniers (DEV) Klemens yöneticisi (DEV) - + Exporter la liste des noms de conducteurs İletken adları listesini export et - + Exporter le plan de câblage Kablolama planını export et - + Liste de câblage (base de données) - + Numérotation automatique des bornes Klemenslerin otomatik numaralandırılması - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Projenin dahili veritabanını export et - + Présente les différents projets ouverts des onglets status bar tip Farklı projeleri açık sekmelerde sunar - + en utilisant des fenêtres Pencereleri kullan - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Farklı projeleri alt alta açılan pencerelerde sunar - + &Mosaïque &Yan yana - + Dispose les fenêtres en mosaïque status bar tip Döşenmiş pencereleri düzenle - + &Cascade &Basamak - + Dispose les fenêtres en cascade status bar tip Basamaklı pencereleri düzenleme - + Mode Selection Seçim Modu - + Permet de sélectionner les éléments status bar tip Öğeleri seçmeye izin ver - + Mode Visualisation Görüntüleme modu - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Sayfayı değiştirmeden görüntüleyebilirsiniz - + Projet suivant Sonraki proje - + Active le projet suivant status bar tip Bir sonraki projeyi aktifleştir - + Projet précédent Önceki proje - + Active le projet précédent status bar tip Önceki projeyi aktifleştir - + &Nouveau &Yeni - + &Ouvrir &Aç - + &Enregistrer &Kaydet - + Enregistrer sous Farklı kaydet - + + &Fermer &Kapat - + Crée un nouveau projet status bar tip Yeni bir proje oluştur - + Ouvre un projet existant status bar tip Mevcut bir projeyi aç - + Ferme le projet courant status bar tip Mevcut projeyi kapat - + Enregistre le projet courant et tous ses folios status bar tip Mevcut projeyi ve tüm sayfaları kaydeder - + Enregistre le projet courant avec un autre nom de fichier status bar tip Mevcut projeyi başka bir dosya adıyla kaydet - + Ajouter une colonne Bir Sütun ekle - + Enlever une colonne Bir sütunu kaldır - + Ajouter une ligne Add row Bir çizgi ekle - + Enlever une ligne Remove row Bir çizgi kaldır - + Ajoute une colonne au folio status bar tip Sayfaya bir sutun ekle - + Enlève une colonne au folio status bar tip Sayfadan bir sutun kaldır - + Agrandit le folio en hauteur status bar tip Sayfa yüksekliğini büyütür - + Rétrécit le folio en hauteur status bar tip Sayfayı Küçült - + Supprimer Sil - + Pivoter Döndür - + Pivoter le groupe - + Orienter les textes Metni düzelt - + Retrouver dans le panel Panelde bul - + Éditer l'item sélectionné Seçilen öğeyi düzenle - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Seçilen öğeleri sayfadan kaldırır - + Pivote les éléments et textes sélectionnés status bar tip Seçili öğeleri ve metinleri döndür - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Seçilen metinleri hassas bir açıyla döndürün - + Retrouve l'élément sélectionné dans le panel status bar tip Panelde seçilen öğeyi bul - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Tümünü seç - + Désélectionner tout Hiçbirini seçme - + Inverser la sélection Seçimi ters çevir - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Sayfadaki tüm unsurları seç - + Désélectionne tous les éléments du folio status bar tip Sayfadaki tüm öğelerin seçimini kaldırın - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip Seçili öğelerin seçimini kaldırın ve seçilmemiş öğeleri seçin - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant Yakınlaştır - + Zoom arrière Uzaklaştır - + Zoom sur le contenu İçeriğe odaklan - + Zoom adapté Uyarlanmış yakınlaştırma - + Pas de zoom Yakınlaştırma yok - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Sayfayı görüntüle - + Rétrécit le folio status bar tip Sayfayı Küçült - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Çerçevenin tüm içeriğini çerçeveden bağımsız olarak gösterecek şekilde yakınlaştırır - + Adapte le zoom exactement sur le cadre du folio status bar tip Yakınlaştırmayı tam olarak sayfa çerçevesine uyarlar - + Restaure le zoom par défaut status bar tip Varsayılan yakınlaştırmayı geri yükle - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte Bir metin alanı ekle - + Ajouter une image Bir resim ekle - + Ajouter un PDF - + Ajouter une ligne Draw line Bir çizgi ekle - + Ajouter un rectangle Bir dikdörtgen ekle - + Ajouter une ellipse Bir elips ekle - + + Ajouter un arc + + + + Ajouter une polyligne Bir çokgen ekle - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes Klemens planı ekle - + Ajoute un champ de texte sur le folio actuel Geçerli sayfaya metin alanı ekle - + Ajoute une image sur le folio actuel Geçerli sayfaya resim ekle - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Geçerli sayfaya çizgi ekle - + Ajoute un rectangle sur le folio actuel Geçerli sayfaya dikdörtgen ekler - + Ajoute une ellipse sur le folio actuel Geçerli sayfaya elips ekle - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Geçerli sayfaya devamlı çizgi ekle - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel Geçerli sayfaya bir klemens planı ekler - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils Araçlar - + Affichage Görünüm - + Schéma Şema - + Ajouter Ekle - + Profondeur toolbar title Derinlik - + + Scripts + toolbar title + + + + &Fichier &Dosya - + &Édition &Düzenle - + &Projet &Proje - + Afficha&ge Gö&rünüm - + Fe&nêtres Pe&ncere - + &Récemment ouverts &Son Açılan - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Ana araç çubuğunu göster veya göster - + Affiche ou non la barre d'outils Affichage Görünüm araç çubuğunu göster veya göster - + Affiche ou non la barre d'outils Schéma Şema araç çubuğunu göster veya göster - + Affiche ou non le panel d'appareils Cihazların paneli görüntülensin veya görüntülenmesin - + Affiche ou non la liste des modifications Değişiklikler listesi görüntüleniyor veya görüntülenmiyor - + Afficher les projets Projeleri görüntüle - - + + Projet %1 enregistré dans le repertoire: %2. %1 projesi şu dizine kaydedildi : %2. - + Ouvrir un fichier Bir dosya aç - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech Projeleri (*.qet);;XML Dosyaları (*.xml);;Tüm Dosyalar (*) - - + + Impossible d'ouvrir le fichier message box title Dosya açılamadı - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Açmaya çalıştığınız %1 dosyası mevcut değil gibi görünüyor. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Açmaya çalıştığınız dosya okunabilir değil gibi görünüyor. Dosya açılamıyor. Lütfen dosyanın izinlerini kontrol edin. - + Ouverture du projet en lecture seule message box title Projeyi salt okunur açma - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Açmaya çalıştığınız proje yazılabilir değil gibi görünüyor. Salt okunur modda açılacaktır. - - + + Échec de l'ouverture du projet message box title Proje açılamadı - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content %1 dosyasının bir QElectroTech proje dosyası olmadığı anlaşılıyor. Bu açılamaz. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9269,7 +11014,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9277,174 +11022,212 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + Suppression de borne impossible Klemens silinemiyor - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer Seçim, köprülenmiş ve/veya çok seviyeli bir klemense ait olan bir veya daha fazla klemens içerdiğinden silme yapılamıyor. Silmek için ilgili klemenslerin köprülerini kaldırın ve/veya seviyelerini silin - + Groupe Grup - + %n objet(s) remis sur la grille + + + %n objet(s) aligné(s) + + + + - + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element Öğeyi düzenle - + Éditer le champ de texte edit text field Metin alanını düzenle - + Éditer l'image edit image Resmi Düzenle - + Éditer le conducteur edit conductor İletkeni düzenle - + Éditer l'objet sélectionné edit selected item Seçilen nesneyi düzenle - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content Dosyayı açarken bir sorun oluştu %1. - + Active le projet « %1 » « %1 » projesini etkinleştir - + Êtes-vous sûr de vouloir supprimer ce folio ? Bu sayfayı silmek istediğinizden emin misiniz? - + Supprimer les folios Sayfaları sil - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? Seçili %1 sayfayı silmek istediğinizden emin misiniz? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Hata - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9453,13 +11236,108 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + Textes %1 @@ -9467,42 +11345,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau &Yeni - + &Ouvrir &Aç - + &Ouvrir depuis un fichier &Dosyadan Aç - + &Enregistrer &Kaydet - + Enregistrer sous Farklı kaydet - + Enregistrer dans un fichier Bir dosyaya kaydet - + Recharger Yeniden yükle - + Tout sélectionner Tümünü seç @@ -9512,390 +11390,390 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - Öğe Editörü - + &Aide &Yardım - + Annulations İptal edilenler - + Parties Parçalar - + Informations Bilgiler - + Outils Araçlar - + Affichage Görünüm - + Élément Öğe - + Annulation İptal - + Exporter en SVG - + &Fermer cet éditeur Bu editörü &kapat - + Fermer cet éditeur Bu editörü kapat - + Désélectionner tout Hiçbirini Seçme - + Co&uper &Kes - + Cop&ier Kop&yala - + C&oller &Yapıştır - + C&oller dans la zone Alana &yapıştır - + Un fichier Bir dosya - + Un élément Bir öğe - + À &propos de QElectroTech QElectroTech &Hakkında - + Affiche des informations sur QElectroTech QElectroTech ile ilgili bilgileri görüntüle - + Manuel en ligne Çevrimiçi kullanım kılavuzu - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech QElectroTech Çevrim içi Klavuzunu varsayılan tarayıcı ile başlat - + Chaine Youtube Youtube kanalı - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech QElectroTech’in Youtube kanalını varsayılan tarayıcıda başlatın - + Soutenir le projet par un don Projeye bağış yaparak destek olun - + Soutenir le projet QElectroTech par un don QElectroTech projesine bağış yaparak destek olun - + À propos de &Qt &Qt Hakkında - + Affiche des informations sur la bibliothèque Qt Qt kütüphanesi bilgilerini görüntüler - + Rotation Döndürme - + Fine-Rotation İnce-Döndürme - + Mirror Ayna - + Flip Çevir - + Importer un dxf DXF import et - + importer un élément à redimensionner yeniden boyutlandırılacak öğe import et - + Inverser la sélection Seçimi ters çevir - + &Supprimer &Sil - + Éditer le nom et les traductions de l'élément Öğenin adını ve çevirilerini düzenle - + Éditer les informations sur l'auteur Yazar bilgilerini düzenle - + Éditer les propriétés de l'élément Öğenin özelliklerini düzenleme - + Annuler İptal - + Refaire Yeniden yap - + Profondeur toolbar title Derinlik - + Zoom avant Yakınlaştır - + Zoom arrière Uzaklaştır - + Zoom adapté Uyarlanmış zum - + Pas de zoom Yakınlaştırma yok - + Ajouter une ligne Bir Çizgi ekle - + Ajouter un rectangle Bir dikdörtgen ekle - + Ajouter une ellipse Bir elips ekle - + Ajouter un polygone Çokgen ekle - + Ajouter du texte Metin ekle - + Ajouter un arc de cercle Yay ekle - + Ajouter une borne Bir terminal ekle - + Ajouter un champ texte dynamique Dinamik metin alanı ekle - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Şekli bitirmek için çift tıkla, sağ tık ile son noktayı iptal et - + Ajouter un texte d'élément non éditable dans les schémas Diyagramlara düzenlemez bir metin öğesi ekleyin - + Ajouter un texte d'élément pouvant être édité dans les schémas Diyagramlara düzenlenebilir bir metin öğesi ekleyin - + Parties toolbar title Parçalar - + Avertissement Uyarılar - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Büyük bir DXF import etmek zaman alabilir lütfen import sırasında bekleyin... - + &Fichier &Dosya - + &Édition &Baskı - + Afficha&ge &Görünüm - + Coller depuis... Yapıştır ... - + [Modifié] window title tag [Düzeltildi] - + [lecture seule] window title tag [Salt Okunur] - + Aucune modification Değişiklik yok - + Éditeur d'éléments status bar message Öğe Editörü - - + + %n partie(s) sélectionnée(s). %n Seçilen Parça(lar). - + Absence de borne warning title Terminal Yokluğu - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>Bir terminalin yokluğunda, eleman diğer elemanlara iletkenler ile bağlanamaz. - + Absence de borne Terminal yokluğu - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Hata</b> :<br>Sayfa raporlarının yanlızca bir terminali olmalıdır.<br><b>Çözüm</b> :<br>Öğelerin yanlızca bir terminali olduğunu kontrol edin - + La vérification de cet élément a généré message box content Bu öğenin doğrulaması oluşturuldu - + %n erreur(s) errors @@ -9903,12 +11781,12 @@ lütfen import sırasında bekleyin... - + et ve - + %n avertissement(s) warnings @@ -9916,205 +11794,260 @@ lütfen import sırasında bekleyin... - + <b>%1</b> : %2 warning title: warning description <b>%1</b> : %2 - + Erreurs Hatalar - + Avertissements Uyarılar - + Le fichier %1 n'existe pas. message box content %1 Dosyası mevcut değil. - + Afficher menu entry Görünüm - - + + Impossible d'ouvrir le fichier %1. message box content %1 Dosyası açılamıyor. - - + + Ce fichier n'est pas un document XML valide message box content Bu dosya geçerli bir XML belgesi değil - - + + Erreur toolbar title Hata - - + + Édition en lecture seule message box title Salt okunur sürüm - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content Bu öğeyi değiştirmek için gerekli ayrıcalıklara sahip değilsiniz. Salt okunur modda açılacaktır. - - + + Erreur message box title Hata - + Impossible d'écrire dans ce fichier message box content Bu dosyaya yazılamıyor - + Impossible d'enregistrer l'élément message box content Öğe kaydedilemiyor - + Trop de primitives, liste non générée: %1 Çok fazla ilkel, liste oluşturulmadı: %1 - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + Impossible d'ouvrir le fichier message box title Dosya açılamadı - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Açmaya çalıştığınız %1 dosyası artık mevcut değil gibi görünüyor. - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + Genişlik + + + + Hauteur + Yükseklik + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Recharger l'élément dialog title Öğeyi yeniden yükle - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Bu öğede değişiklik yaptınız. Yeniden yüklerseniz, bu değişiklikler kaybolacaktır. Öğeyi gerçekten yeniden yüklemek istiyor musunuz? - + Importer un élément à redimensionner Yeniden boyutlandırılacak bir öğe import et - + Éléments QElectroTech (*.elmt) QElectroTech Öğeleri (* .elmt) - - - + + + Echec de l'enregistrement Kaydedilemedi - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides I am not sure about this.It should be checked. @@ -10122,60 +12055,60 @@ les conditions requises ne sont pas valides Şartlar sağlanamıyor - + Enregistrer sous dialog title Farklı kaydet - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech Öğeleri (* .elmt) - + Enregistrer l'élément en cours ? dialog title Mevcut öğeyi kaydet ? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name %1 öğesini kaydetmek istiyor musunuz? - + Ouvrir un fichier dialog title Bir dosya aç - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech Öğeleri (*.elmt);;XML Dosyaları (*.xml);;Tüm Dosyalar (*) - - - - + + + + Élément inexistant. message box title Varolmayan öğe. - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Seçilen sanal yol bir öğe ile eşleşmiyor. - - + + L'élément n'existe pas. message box content Öğe mevcut değil. @@ -10184,138 +12117,173 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech QElectroTech'i &Yapılandır - + Permet de régler différents paramètres de QElectroTech status bar tip QElectroTech'in çeşitli parametrelerini ayarla - + À &propos de QElectroTech QElectroTech &Hakkında - + Affiche des informations sur QElectroTech status bar tip QElectroTech ile ilgili bilgileri görüntüle - + Manuel en ligne Çevrimiçi kullanım kılavuzu - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip QElectroTech Çevrim içi Klavuzunu varsayılan tarayıcı ile başlat - - + + + + Général Genel - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube Youtube kanalı - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip QElectroTech’in Youtube kanalını varsayılan tarayıcıda başlatın - - + + Télécharger une nouvelle version (dev) Yeni sürümü indir (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip Launches Default Browser to QElectroTech Online Nightly Repository - + Soutenir le projet par un don Projeye bağış yaparak destek olun - + Soutenir le projet QElectroTech par un don status bar tip QElectroTech projesine bağış yaparak destek olun - + À propos de &Qt &Qt Hakkında - + Affiche des informations sur la bibliothèque Qt status bar tip Qt kütüphanesi bilgilerini görüntüler - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Ayarlar - + &Aide window menu &Yardım - + Sortir du &mode plein écran I am not sure about this. It should be checked. Çıkış ve tam ekran &modu - + Affiche QElectroTech en mode fenêtré status bar tip QElectroTech pencereli modda görüntüleniyor - + Passer en &mode plein écran Tam ekran &moduna geç - + Affiche QElectroTech en mode plein écran status bar tip QElectroTech tam ekran modunda görüntüle - + Afficher menu entry Görünüm @@ -10324,52 +12292,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path Proje « %1 : %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Proje %1 - + Projet sans titre displayed title for a project-less, file-less project Başlıksız proje - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [salt okunur] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [değiştirildi] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10377,19 +12345,19 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Şablon entegre edilirken bir hata oluştu. - + Avertissement message box title Uyarılar - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10397,7 +12365,7 @@ Vous utilisez actuellement QElectroTech en version %2 Şu anda QElectroTech sürüm %2 kullanıyorsunuz - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10406,32 +12374,32 @@ Que désirez vous faire ? Ne yapmak istersiniz? - + Avertissement message box title Uyarı - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. Açmaya çalıştığınız proje, QElectroTech sürüm %1 ile kısmen uyumludur. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? Tamamen uyumlu hale getirmek için lütfen bu projeyi QElectroTech sürüm 0.8 veya 0.80 ile açın, projeyi kaydedin ve bu sürümle tekrar açın. Ne yapmak istersiniz? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Mevcut Proje Açılıyor</b><br/>Sayfa Oluşturma</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Devam eden projeyi açıyor...</b><br/>Çapraz referansları ayarlama</p> @@ -10800,28 +12768,28 @@ Ne yapmak istersiniz? QObject - - + + chargement %p% (%v sur %m) yükleniyor %p% (%v sur %m) - + Collection QET QET Kütüphanesi - + Collection Company Company Koleksiyonu - + Collection utilisateur Kullanıcı Kütüphanesi - + Macros @@ -10830,12 +12798,12 @@ Ne yapmak istersiniz? Makrolar - + Collection inconnue Bilinmeyen Kütüphane - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10884,39 +12852,39 @@ Ne yapmak istersiniz? bir grafik öğe - + coller %1 undo caption - %1 is a sentence listing the content to paste I am not sure about this. It should be checked. yapıştır %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut kes %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content taşı %1 - + modifier le texte undo caption metni değiştir - + modifier un conducteur undo caption Bir iletkeni değiştir - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Sıfırla %1 @@ -10928,7 +12896,7 @@ Ne yapmak istersiniz? Anteti değiştir - + modifier les dimensions du folio undo caption sayfa boyutlarını değiştir @@ -10970,6 +12938,7 @@ Ne yapmak istersiniz? + Titre Başlık @@ -11155,8 +13124,13 @@ Ne yapmak istersiniz? element part name metin + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11227,39 +13201,39 @@ Değiştirmek ister misiniz? bir grup metin - + Folio sans titre Başlıksız Sayfa - + schema şema - + Conserver les proportions Oranları koru - + Réinitialiser les dimensions Boyutları sıfırla - + Aperçu Önizleme - + Exporter vers le presse-papier I am not sure about this.It should be checked. Panoya dışa aktar - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Uyarı: Ürün QElectroTech'in daha sonraki bir sürümü ile kaydedilmiştir. @@ -11338,7 +13312,7 @@ Değiştirmek ister misiniz? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11346,7 +13320,7 @@ Değiştirmek ister misiniz? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11354,7 +13328,7 @@ Değiştirmek ister misiniz? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11362,7 +13336,7 @@ Değiştirmek ister misiniz? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11370,7 +13344,7 @@ Değiştirmek ister misiniz? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11378,7 +13352,7 @@ Değiştirmek ister misiniz? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11386,7 +13360,7 @@ Değiştirmek ister misiniz? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11394,7 +13368,7 @@ Değiştirmek ister misiniz? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11402,79 +13376,79 @@ Değiştirmek ister misiniz? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? GNU / GPL lisansını içeren metin dosyası bulunamadı - yine de, bunu doğru olarak biliyor musunuz? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? GNU / GPL lisansını içeren metin dosyası var ancak açılamadı - yine de, bunu doğru olarak biliyor musunuz? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Yazma için %1 dosyası açılamıyor,%2 hatasıyla karşılaşıldı. - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file %1 dosyasını yazarken %2 hatası oluştu. - + Amener au premier plan Ön plana getir - + Rapprocher Yakına getir - + Éloigner Tut - + Envoyer au fond En alta gönder - + Ramène la ou les sélections au premier plan Seçileni öne getir - + Rapproche la ou les sélections Seçileni yakınlaştır - + Éloigne la ou les sélections Seçileni uzaklaştır - + Envoie en arrière plan la ou les sélections Seçilenleri arkaya gönder - - - - + + + + Profondeur Derinlik - + Borne tooltip I am not sure about this. It should be checked. @@ -11624,7 +13598,7 @@ Değiştirmek ister misiniz? yatay ayarlama - + %p% effectué (%v sur %m) %p% yapıldı (%v sur %m) @@ -11671,6 +13645,7 @@ Değiştirmek ister misiniz? Bir grup metnin hizalanmasını değiştir + Modifier les informations de l'élément : %1 Öğe bilgilerini düzenle : %1 @@ -11681,7 +13656,7 @@ Değiştirmek ister misiniz? Birden çok öğenin bilgilerini değiştir - + supprimer %1 undo caption - %1 is a sentence listing the removed content sil %1 @@ -11716,20 +13691,20 @@ Değiştirmek ister misiniz? %1 metin grubu - + %n texte(s) - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Seçilen metinleri yönlendir @@ -11740,22 +13715,22 @@ Değiştirmek ister misiniz? Sayfa özelliklerini Bul / Değiştir - + Chercher/remplacer les propriétés d'éléments. Öğe özelliklerini Bul / Değiştir. - + Chercher/remplacer les propriétés de conducteurs. İletken özelliklerini Bul / Değiştir. - + Rechercher / remplacer avancé Gelişmiş Bul / Değiştir - + Chercher/remplacer des textes independants Bağımsız metinleri Bul / Değiştir @@ -11852,35 +13827,35 @@ Değiştirmek ister misiniz? - - - + + + Type - - - + + + Adresse - - - + + + Commentaire Açıklama - - - + + + Réf. croisée @@ -11888,9 +13863,9 @@ Değiştirmek ister misiniz? - - - + + + Fonction Fonksiyon @@ -12220,27 +14195,27 @@ Değiştirmek ister misiniz? Kaydedilmiş dosya yolu - + Création de conducteurs İletkenlerin oluşturulması - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Qet_tb_generator eklentisini yüklemek için <br> Ziyaret Et: <br> <a href='https://pypi.python.org/pypi/qet-tb-generator'> qet-tb-generator </a> <br> python 3.5 veya üzeri. <br> <B> <U> İlk önce Windows'a yükleyin </B> </U> <br> 1. Gerekirse, python 3.5 veya üstü bir sürüm yükleyin. <br> Ziyaret: <br> <a href='https://www.python.org/downloads/'> python.org </a> <br> 2. pip install qet_tb_generator <br> <B> <U> Windows'ta Güncelleme </B> </U> <br> python -m pip install --upgrade qet_tb_generator <br> >> kullanıcı bu script'in terminalde bu dizinde başlatılmasını sağlayabilir <br> C: \ users \ XXXX \ AppData \ Local \ Programs \ Python \ Python36-32 \ Scripts <br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> qet_tb_generator eklentisini kurmak için<br>Şu adresi ziyaret edin :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> macOSX'te ilk kurulum</B></U><br>1. Gerekirse yalnızca python 3.11 paketini kurun, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Profile.command betiğini çalıştırın<br>çünkü program qet-tb-generator eklentisini bulmak için hardcoded PATH kullanır <br> Şu adresi ziyaret edin :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> macOSX'te güncelleme</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> qet_tb_generator eklentisini kurmak için<br>Şu adresi ziyaret edin :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Python 3.5 veya üzeri gerektirir.<br><br><B><U> Linux'ta ilk kurulum</B></U><br>1. pip3'ün kurulu olduğunu kontrol edin: pip3 --version<br>Kurulu değilse şu komutla kurun: sudo apt-get install python3-pip<br>2. Programı kurun: sudo pip3 install qet_tb_generator<br>3. Programı çalıştırın: qet_tb_generator<br><br><B><U> Linux'ta güncelleme</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin qet_tb_generator eklentisi başlatılırken hata oluştu @@ -12260,15 +14235,15 @@ Değiştirmek ister misiniz? Yapıştır - - + + - - - - - - + + + + + + this is an error in the code bu kodda bir hatadır @@ -12469,12 +14444,12 @@ Değiştirmek ister misiniz? Klemens köprüsünün rengini değiştir - + Ouvrir un element Bir öğe aç - + Importer un fichier dxf DXF dosyası import et @@ -12564,7 +14539,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da Lütfen aşağıdaki bağlantıyı takip ederek indirin ve kurulum klasörüne çıkartın - + Automatic terminal numbering Otomatik klemens numaralandırma @@ -12646,7 +14621,7 @@ Lütfen aşağıdaki bağlantıyı takip ederek indirin ve kurulum klasörüne - + %n groupe(s) de textes @@ -12654,8 +14629,8 @@ Lütfen aşağıdaki bağlantıyı takip ederek indirin ve kurulum klasörüne - - + + Déplacer %1 @@ -12776,97 +14751,109 @@ Lütfen aşağıdaki bağlantıyı takip ederek indirin ve kurulum klasörüne - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + - + Ajouter %1 %1 ekle - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Metin alanının rengini değiştirme - + Pivoter un texte - + Modifier le trait d'une forme Şeklin hattını düzenle - + Modifier le remplissage d'une forme Bir şeklin dolgusunu değiştirin - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Öğe metnini düzenle - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12874,6 +14861,45 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + Dégrouper %n objet(s) + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Sayfa + QTextOrientationWidget @@ -12893,371 +14919,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Görüntülenecek bilgiler, tablolar tarafından görüntülenebilecek maksimum miktarın üzerindedir. Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut tabloları ayarlayın. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Görüntülenecek bilgiler, tablo tarafından görüntülenebilecek maksimum miktarın üzerindedir. Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut tabloyu ayarlayın. - + Limitation de tableau Tablo sınırlaması - + Modifier la géometrie d'un tableau Bir tablonun geometrisini değiştir + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Bir nokta ekle - + Supprimer ce point Bu noktayı sil - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Boyut - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Poligona bir nokta ekle - + Supprimer un point d'un polygone Poligondan bir noktayı sil - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 %1'i düzenle - + une ligne bir çizgi - + un rectangle bir dikdörtgen - + une éllipse bir elips - + un arc - + une polyligne bir polyline - + une courbe - + une shape bir şekil @@ -13339,7 +15426,7 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut Metin Etiketi - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? %1" öğesi zaten var. Ne yapmak istersiniz ? @@ -13347,31 +15434,73 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + Folio + Sayfa + + + + Élément + Öğe + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13395,9 +15524,9 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut - - - + + + Ne pas modifier Değiştirme @@ -13517,97 +15646,97 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut faz - - + + Nombre de phase Faz sayısı - + Neutre Nötr - + neutre nötr - + Terre Toprak - + terre toprak - + TextLabel MetinEtiketi - + PushButton Buton - + Apparence Görünüm - + Taille : Boyut : - - + + Couleur : Renk : - + Style : Stil : - - + + Modifier Düzenleme - + Couleur secondaire : İkincil renk : - + Taille de trait : Çizgi boyutu : - + px px - + Trait plein conductor style: solid line Düz çizgi - + Trait en pointillés conductor style: dashed line Kesik çizgi - + Traits et points conductor style: dashed and dotted line Kesikli ve noktalı çizgi @@ -13616,7 +15745,7 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut ReplaceElementDialog - + Ne pas modifier Değiştirme @@ -13658,10 +15787,10 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut - - - - + + + + Ne pas modifier Değiştirmeyin @@ -13721,12 +15850,12 @@ Lütfen tüm bilgileri görüntülemek için yeni bir tablo ekleyin veya mevcut Geçerli tarihi uygula - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Antet şablonları için %plant olarak mevcut</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13739,33 +15868,33 @@ Aşağıdaki değişkenler kullanılabilir: -%autonum : Sayfa Otomatik Numaralandırma - + Disponible en tant que %locmach pour les modèles de cartouches Antet şablonları için %lochmach olarak mevcuttur - + Titre : Başlık : - - - - - - - + + + + + + + Supprimer ce texte Bu metni sil - + Personnalisées Özelleştir - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Burada, antete işlemek için kendi ad / değer ilişkilerinizi tanımlayabilirsiniz. örnek: @@ -13805,6 +15934,185 @@ Créer votre propre texte en vous aidant des variables suivantes : + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Yeni + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + İsim : + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Kaydet + + + + Ouvrir le &dossier + + + + + &Fermer + &Kapat + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13818,42 +16126,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Bir sonraki eşleşmeye git - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Gelişmiş ayarları göster</p></body></html> - + Aller à la correspondance précédente Bir önceki eşleşmeye git - + Quitter Çıkış - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Öğelerde değiştirilecek özellikleri tanımla</p></body></html> - + Champ texte de folio Sayfa metin alanı - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>İletkenlerde değiştirilecek özellikleri tanımla</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Sayfalarda değiştirilecek özellikleri tanımla</p></body></html> - + Folio Sayfa @@ -13878,42 +16186,42 @@ Créer votre propre texte en vous aidant des variables suivantes : Büyük küçük harf duyarlı - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body>Seçilen eşlenmişi değiştir<p></p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>İşaretli seçilenleri değiştir</p></body></html> - + avancé gelişmiş - + Élément Öğe - + Conducteur İletken - + Remplacer : Değiştir : - + Remplacer Değiştir - + Tout remplacer Tümünü değiştir @@ -13923,105 +16231,105 @@ Créer votre propre texte en vous aidant des variables suivantes : Bul : - + Actualiser Gerçekleştir - + Correspondance : Yazışma : - + Folios Sayfalar - + Champs texte Metin alanları - + Eléments Öğeler - + Eléments simple Basit Öğeler - + Eléments maître Ana Öğeler - + Eléments esclave Bağımlı Öğe - + Eléments report de folio Sayfa referanslı öğeler - + Eléments bornier Terminal Öğeler - + Sélectionner les éléments de ce folio Bu sayfanın öğelerini seç - + Sélectionner les conducteurs de ce folio Bu sayfanın iletkenlerini seç - + Sélectionner les textes de ce folio Bu sayfanın metinlerini seç - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [Düzenlenmiş] - + Conducteurs İletkenler - + Inconnue Bilinmeyen @@ -14049,53 +16357,81 @@ Créer votre propre texte en vous aidant des variables suivantes : Numaralandırmayı sil - + Définition Tanım - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Numaralandırma değişkenini sil</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Numaralandırma değişkeni ekle</p></body></html> - Précédent - Önceki + Önceki - Suivant - Sonraki + Sonraki - + Type Tür - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur #Değer - + Incrémentation #Artış - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Sayfa Otonumaralandırması - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14124,7 +16460,7 @@ Değer alanında tanımlanan hane, seçilen tipten daha az hane içeriyorsa, tan - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14162,13 +16498,13 @@ Diğer alanlar kullanılmaz. Diğer alanlar kullanılmaz. - + Element Autonumérotation title window Öğe Otomatik Numaralandırma - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14206,7 +16542,17 @@ Diğer alanlar kullanılmaz. Diğer alanlar kullanılmaz. - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window Otomatik Numaralı İletken @@ -16599,12 +18945,12 @@ Diğer alanlar kullanılmaz. Görüntülenecek bilgi - + Configuration Yapılandırma - + Requête SQL : SQL sorgusu : @@ -16614,6 +18960,17 @@ Diğer alanlar kullanılmaz. Pozisyon + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + TerminalEditor @@ -16948,58 +19305,58 @@ Diğer alanlar kullanılmaz. Düzen - + Ponter les bornes Klemensleri köprüle - + Déponter les bornes Klemens köprülerini kaldır - + Propriétés Özellikler - + Nom : İsim : - + Commentaire : Yorum : - + Description Açıklama - + Installation : Kurulum : - + Localisation : Konum : - + Type : Type : - + Degrouper les bornes Klemensleri gruptan ayır - - + + Générique Genel @@ -17014,62 +19371,62 @@ Diğer alanlar kullanılmaz. Hareketi gerçekleştir - + Couleur pont : Köprü rengi : - + Fusible Sigorta - + Sectionnable Ayrılabilir - + Diode Diyot - + Terre Toprak - + Déplacer dans : Taşı : - + Phase Faz - + Neutre Nötr - + Position automatique Otomatik konum - + Étage : Kat : - + Grouper les bornes Klemensleri grupla - + Fonction : Fonksiyon : @@ -17084,7 +19441,7 @@ Diğer alanlar kullanılmaz. İle - + LED : LED : @@ -17112,32 +19469,32 @@ Diğer alanlar kullanılmaz. toolBar - + Ajouter un bornier Klemens bloğu ekle - + Ajouter un bornier au projet Projeye klemens bloğu ekle - + Supprimer le bornier Klemens bloğunu sil - + Supprimer le bornier du projet Klemens bloğunu projeden sil - + Recharger Yeniden yükle - + Recharger les borniers Klemens bloklarını yeniden yükle @@ -17367,12 +19724,12 @@ Diğer alanlar kullanılmaz. Klemens bloğu gezgini - + Projet sans titre Başlıksız proje - + Bornes indépendante Bağımsız klemens @@ -17475,7 +19832,7 @@ Diğer alanlar kullanılmaz. İndirme - + Dossier installation Kurulum klasörü @@ -17483,37 +19840,37 @@ Diğer alanlar kullanılmaz. TitleBlockDimensionWidget - + Largeur : default dialog label Genişlik : - + Absolu a traditional, absolute measure Salt - + Relatif au total a percentage of the total width Genele göre - + Relatif au restant a percentage of what remains from the total width Diğerlerine göre - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17542,87 +19899,87 @@ Diğer alanlar kullanılmaz. <html><head/><body><p>Anteti, sayfanın altında (yatay) veya sağda (dikey) olarak görüntüler.</p></body></html> - + Principales Ana - + Date : #Tarih : - + Auteur : #Yazar : - + Disponible en tant que %locmach pour les modèles de cartouches Antet şablonları için %lochmach olarak mevcuttur - + Indice Rev: Rev İndeksi: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Antet şablonları için %plant olarak mevcut</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches Antet şablonları için %başlık olarak mevcuttur - + Folio : #Sayfa : - + Fichier : #Dosya : - + Disponible en tant que %author pour les modèles de cartouches Antet şablonları için %author olarak mevcuttur - + Disponible en tant que %filename pour les modèles de cartouches Antet şablonları için %filename olarak mevcuttur - + Pas de date #Tarih yok - + Date courante #Güncel tarih - + Appliquer la date actuelle Geçerli tarihi uygula - + Disponible en tant que %date pour les modèles de cartouches Antet şablonları için %date olarak mevcuttur - + Date fixe : #Sabit tarih: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17635,68 +19992,69 @@ Aşağıdaki değişkenler kullanılabilir: -%autonum : Sayfa Otomatik Numaralandırma - + Titre : Başlık : - + Page Num: Sayfa No : - + Disponible en tant que %indexrev pour les modèles de cartouches Antet şablonları için %indexrev olarak mevcuttur - + Installation : #Kurulum : - + Localisation: Konum: - + Personnalisées I am not sure about this. It should be checked. Özelleştir - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Burada, antete işlemek için kendi ad / değer ilişkilerinizi tanımlayabilirsiniz. örnek: "volta" ismini "1745" ile ilişkilendirmek için antette 1745'e kadar%{volta} yerini alacak. - + Éditer ce modèle menu entry Bu şablonu düzenle - + Dupliquer et éditer ce modèle menu entry Bu şablonu çoğalt ve düzenle - + Title block templates actions Antet Şablonu İşlemleri - - + + + Créer un Folio Numérotation Auto Otomatik Numaralandırma Sayfası Oluşturma - + Modèle par défaut Varsayılan şablon @@ -17704,13 +20062,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18209,50 +20567,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title Bileşen 1 - + Borne 1 column title Klemens 1 - + Composant 2 column title Bileşen 2 - + Borne 2 column title Klemens 2 - + Folio column title Sayfa - - + + %n conducteur(s) listé(s). wiring list summary @@ -18260,7 +20618,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18271,96 +20629,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Hata - + Impossible de lire la structure en mémoire du projet. Projenin bellek yapısı okunamıyor. - + Exporter le plan de câblage Kablolama planını export et - + Fichiers CSV (*.csv) CSV Dosyaları (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. Dosya yazmak için açılamıyor. - + Page Wiring list CSV header Sayfa - + Composant 1 Wiring list CSV header Bileşen 1 - + Borne 1 Wiring list CSV header Klemens 1 - + Composant 2 Wiring list CSV header Bileşen 2 - + Borne 2 Wiring list CSV header Klemens 2 - + Tension / Protocole Wiring list CSV header Voltaj / Protokol - + Couleur du fil Wiring list CSV header Tel rengi - + Section du fil Wiring list CSV header Tel kesiti - + Fonction Wiring list CSV header Fonksiyon - + + Câble + Wiring list CSV header + Kablo + + + Export réussi Export başarılı - + Le plan de câblage a été exporté avec succès ! Kablolama planı başarıyla export edildi! + + WiringRulesWarning + + + Avertissement + Uyarılar + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18574,27 +20951,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Projenin dahili veritabanını export et - + sans_nom isimsiz @@ -18602,7 +20979,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Metin Rengi @@ -18610,7 +20987,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity HTML Öğesi Ekleme @@ -18618,27 +20995,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Metni düzenle - + Rich Text Zengin Metin - + Source Kaynak - + &OK &Tamam - + &Cancel &Vazgeç @@ -18646,69 +21023,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Kalın metin - - - + + + Éditeur de texte - + Texte en italique İtalik metin - + Texte souligé Altı çizili metin - + Left Align Sola Hizala - + Center Merkez - + Right Align Sağa Hizala - + Justify Doğrulama - + Superscript Üst indis - + Subscript Alt indis - + Insérer un lien Bir bağlantı ekle - + Insert &Image Resim &ekle - + Simplify Rich Text Zengin Metni Basitleştirin diff --git a/lang/qet_uk.ts b/lang/qet_uk.ts index aaec62dc8..27f63057a 100644 --- a/lang/qet_uk.ts +++ b/lang/qet_uk.ts @@ -54,272 +54,272 @@ Журнал - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech, програма для створення електричних схем. - + Les développeurs de QElectroTech about tab, developers line Разробники QElectroTech - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line Пишіть: <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale Оригінальна ідея - - + - - + + + Développement Розробка - + Convertisseur DXF DXF конвертер - + Plugin Bornier Плагін «Клемник» - + Collection Коллекція - + Traduction en espagnol Переклад іспанською - + Traduction en russe Переклад російською - + Traduction en portugais Переклад португальською> - + Traduction en tchèque Переклад чешською - + Traduction en polonais Переклад польською - + Traduction en allemand Переклад німецькою - + Traduction en roumain Переклад руминською - + Traduction en italien Переклад італійською - + Traduction en arabe Переклад арабською - + Traduction en croate Переклад хорватською - + Traduction en catalan Переклад каталонською - + Traduction en grec Переклад гркцькою - + Traduction en néerlandais Переклад голандською - + Traduction en flamand Переклад фламандською - + Traduction en danois Переклад датською - + Traduction en brézilien Переклад бразильською - + Traduction en Turc Переклад турецькою - + Traduction en hongrois Переклад угорською - + Traduction en serbe - + Traduction en japonais - + Traduction en coréen - + Traduction en mongol - + Paquets Fedora et Red Hat Пакунки Fedora та Red Hat - + Paquets Mageia Пакунки для Mageia - + Paquets Debian Пакунки для Debian - + Paquets Gentoo Пакунки для Gentoo - + Paquets OS/2 Пакунки для OS/2 - + Paquets FreeBSD Пакунки для FreeBSD - + Paquets MAC OS X Пакунки для MAC OS X - + Paquets Archlinux AUR Пакунки для Archlinux AUR - + Icônes Іконки - + Documentation Документація - + Collection d'éléments Колекція елементів - + Redimensionneur d'éléments Element scaler - + Convertisseur d'élément DXF Dxf2elmt - + Outil de traduction d'éléments Qet_translate - + Paquets Snap Пакунки Snap - + Traduction en ukrainien - + Traduction en norvégien - + Traduction en slovène - + Générateur d'élément lambda Lambda element generator Генератор лямбда-елементів @@ -428,17 +428,17 @@ Конфігурація - + Contenu Зміст - + Sélectionner la police des en tête du tableau Вибрати шрифт заголовка таблиці - + Sélectionner la police des cellules du tableau Вибрати шррифт чарунок таблиці @@ -456,6 +456,134 @@ + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ Кут: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -526,57 +687,139 @@ - - + + Réinitialiser à la valeur de départ - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation - - - + + + Prochaine valeur qui sera appliquée avec cet incrément - + Element Елемент - + Conducteur Провідник - + Configurer les règles d'auto numérotation Налаштування автонумерації - + Configurer Налаштувати - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + + + %n élément(s) numérotés. + + + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + + + Autonumérotation Автонумерація + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +921,82 @@ Існуючі - + Under Development В розробці - + Installing Встановлення - + Built закінчений - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + + + Auto Numbering Management title window Керування автонумерацією - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1039,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Попередній перегляд - + nomenclature_ номенклатура_ - + Enregister sous... Зберегти як... - + Fichiers csv (*.csv) Файли csv (*.csv) - - + + Erreur Помилка - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position Положення - + Position du folio Положення аркуша - + Quantité numéro d'article Special field with name : designation quantity кількість номерів позицій - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1120,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1187,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1218,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Додати змінну: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible Введіть тут складений текст, використовуючи доступні змінні @@ -909,13 +1227,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption Редагувати властивості провідника - + Modifier les propriétés de plusieurs conducteurs undo caption Modifier les propriétés de plusieurs conducteurs @@ -924,73 +1242,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir Чорний - + Marron Коричневий - + Gris Сірий - + Bleu Синій - + Vert Зелений - + Rouge Червоний - + Orange Оранжевий - + Violet Фіолетовий - + Blanc Білий - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -1000,7 +1318,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1018,13 +1336,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Застосуйте властивості до всіх провідників цього потенціалу - + Modifier les propriétés d'un conducteur undo caption Редагувати властивості провідника - + Modifier les propriétés de plusieurs conducteurs undo caption Редагувати властивості кількох провідників @@ -1033,24 +1351,34 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel Застосуйте властивості до всіх провідників цього потенціалу + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur Провідник @@ -1080,12 +1408,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Couleur du conducteur Колір провідника + Texte Текст @@ -1111,6 +1440,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible Видимий текст @@ -1170,133 +1500,150 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol редагувати нумерацію - + Formule du texte : Формула тексту: - + cable кабель - + bus шина - - + + Unifilaire Однолінійний - + TextLabel Текстова мітка - - + + Nombre de phase Кількість фаз - + Neutre Нейтраль - + neutre нейтраль - + Terre Земля - + terre земля - + Phase Фаза - + phase фаза - + Protective Earth Neutral Глухозаземлена нейтраль - + PEN PEN - + Apparence Зовнішній вигляд - + Taille : Розмір: - - + + Style du conducteur Стиль провідника - + Style : Стиль: - + Couleur secondaire : Вторинний колір: - + Taille de trait : Розмір лінії: - + px пікс - - + + Couleur : Колір: - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line Сіцільна лінія - + Trait en pointillés conductor style: dashed line Пуктирна лінія - + Traits et points conductor style: dashed and dotted line Штрих-пунктирна лінія @@ -1318,128 +1665,153 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : - + # - + Type Тип - + Sous-type - + Contacts - + Bornes - - + + T%1 - + (déjà assigné) - + (état ne correspond pas) - + (sous-type ne correspond pas) - + (nombre de contacts ne correspond pas) - + OK - + Annuler Відміна - + Normalement ouvert (NO) нормально розімкнутий - + Normalement fermé (NC) нормально замкнутий - + Inverseur (CO) перекидний - + Autre - - + + Inconnu - + Simple Простий - + Puissance Силовий - + Temporisé travail Вмикання із затримкою - + Temporisé repos Вимикання із затримкою - + Temporisé travail & repos Вмикання та вимикання по часу + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1469,27 +1841,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... - + Enregistrer le rapport de diagnostic - + Fichiers texte (*.txt);;Tous les fichiers (*) - + Erreur Помилка - + Impossible d'écrire dans le fichier « %1 ». @@ -1497,7 +1869,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur Змінити глибину @@ -1637,7 +2009,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1654,262 +2026,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image Зображення - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... Виберіть зображення... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur Помилка - + Impossible de charger l'image. Помилка - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1917,7 +2357,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title Вдластивості аркуша @@ -1926,12 +2366,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre Утримуйте ctrl для вільного пересування - + <Shift> to move @@ -1940,78 +2380,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip Це область, де ви проєктуєте свої схеми, додаючи до них елементи та прокладаючи провідники між їхніми клемами. Також є можливість додавати незалежні тексти. - + Coller ici context menu action Вставити тут - + Collage multiple Множинна вставка - + Créer un template context menu action - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + Choisir la nouvelle couleur de ce conducteur Виберіть новий колір цього провідника - + Modifier les propriétés d'un conducteur undo caption Редагувати властивості провідника - + X: %1 Y: %2 X: %1 Y: %2 - + Connecter les bornes sélectionnées Підключити вибрані клеми - + Sans titre what to display for untitled diagrams Без назви - + Modèle enregistré - + Le modèle a été enregistré avec succès sous : %1 - + Erreur Помилка - + Le fichier n'a pas pu être écrit. @@ -2029,7 +2475,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Назва - + TextLabel Текстова мітка @@ -2037,42 +2483,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut Верх - + Bas Низ - + Gauche - + Droite - + Direction : @@ -2080,17 +2526,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte Текст - + Éditer un texte d'élément Редагувати текст елемента - + Redimensionner un texte d'élément @@ -2109,30 +2555,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte Імпорт конфігурації тексту - + Ajouter un texte Додати текст - + Ajouter un groupe de textes Додайте групу текстів - + Supprimer la sélection Видалити виділене @@ -2344,21 +2790,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche Зліва - + Droite Зправа - + Centre По центру @@ -2457,64 +2903,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Шрифт - - + + Déplacer un champ texte Перемістити текстове поле - + Pivoter un champ texte Обертання текстового поля - + Modifier le texte d'un champ texte Редагувати текст у текстовому полі - - + + Modifier la police d'un champ texte Змінити шрифт текстового поля - + Modifier le cadre d'un champ texte Modifier le cadre d'un champ texte - + Modifier la largeur d'un texte Змінити ширину тексту - + Modifier l'information d'un texte Редагувати текстову інформацію - + Modifier la source de texte, d'un texte Змінити джерело тексту, текст - + Modifier l'alignement d'un champ texte Змінити вирівнювання текстового поля - + Modifier la couleur d'un champ texte Змінити колір текстового поля - + Modifier la conservation de l'angle Змінити збереження кута - + Modifier le point de rotation d'un champ texte @@ -2522,32 +2968,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur Текст користувача - + Information de l'élément Інформація про елемент - + Texte composé Складений текст - + Gauche Вліво - + Centre По центру - + Droite Вправо @@ -2555,12 +3001,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2601,153 +3047,226 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title Відкрити елемент - + Choisissez l'élément que vous souhaitez ouvrir. dialog content Виберіть елемент, який хочете відкрити. - + Enregistrer un élément dialog title Зберегти елемент - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content Виберіть елемент, де ви хочете зберегти своє визначення. - + Ouvrir une catégorie dialog title Відкрити категорію - - + + Choisissez une catégorie. dialog content Оберіть категорію. - + Enregistrer une catégorie dialog title Зберегти категорію - + Enregistrer un template dialog title - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content - + Titre Назва - + Label Мітка - + Nom du nouveau dossier Назва нової папки - + Nom du nouveau template - + Nom de fichier de l'élément placeholder: the element's file name, not its display name - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field - + Sélection inexistante message box title Неіснуючий вибір - + La sélection n'existe pas. message box content Вибір не існує - - + + Sélection incorrecte message box title Неправильний вибір - + La sélection n'est pas un élément. message box content Виділення не є елементом. - + Écraser l'élément ? message box title Перезаписати елемент? - + Écraser le template ? message box title - + L'élément existe déjà. Voulez-vous l'écraser ? message box content Елемент вже існує. Ви хочете перезаписати його? - + Le template existe déjà. Voulez-vous l'écraser ? message box content - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content Ви повинні вибрати елемент або категорію з назвою для елемента. @@ -2771,12 +3290,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Видалити цей текст - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2794,104 +3319,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Informations Інформація - + Ajouter une propriété personnalisée - + Séparation de potentiel - + Exclure de la nomenclature + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler Відміна - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2907,8 +3542,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type Тип @@ -2991,8 +3626,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction функція @@ -3022,302 +3657,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Значення - - - + + + Simple Простий - + Maître Головний - + Esclave Підпорядкований - + Renvoi de folio suivant Посилання на наступний аркуш - + Renvoi de folio précédent Посилання на попередній аркуш - + Bornier Клемна колодка - + Vignette Ескіз - + Définition de conducteur - - + + Normalement ouvert (NO) нормально розімкнутий - - + + Normalement fermé (NC) нормально замкнутий - - + + Inverseur (CO) перекидний - + Other Інший - + Esclave PLC - - + + Puissance Силовий - - + + Temporisé travail Вмикання із затримкою - - + + Temporisé repos Вимикання із затримкою - - + + Temporisé travail & repos Вмикання та вимикання по часу - + Bobine Котушка - + Organe de protection Пристрій захисту - + Commutateur / bouton Перемикач/кнопка - + Module PLC - - + + Générique загальний - + Fusible Запобіжник - + Séctionnable Секційний - + Diode Діод - + Terre Заземлення - + Phase Фаза - + Neutre Нейтраль - - - - - + + + + + T%1 - + Autre - + Configuration PLC - + + - + - - - + + Adresse - - + + Commentaire Аннотація - + Réf. croisée - - + + Nb. - + T1 - + Police des en-têtes - + Configurer la police des en-têtes de colonnes - + Police du texte - + Configurer la police du texte dans les cellules - + Afficher les en-têtes sur la feuille - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille - + Saut %1 après: - + Aucun - + H. ligne: - - + + mm - + Réf. - + Nom personnalisé de la colonne (vide = par défaut) - + Visible - + Coller depuis le presse-papiers - - + + Police des en-têtes: %1 %2pt - - + + Police du texte: %1 %2pt - + Police des en-têtes de colonnes - + Police du texte des cellules @@ -3331,7 +3966,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément Елемент @@ -3468,249 +4103,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété Посунути виділене вгору - + Ajouter la sélection Додати виділене - + Supprimer la sélection Видалити виділене - + Descendre la sélection Посунути виділене вниз - + Pas de filtre Без фильтра - + N'est pas vide Не порожньо - + Est vide Порожньо - + Contient Містить - + Ne contient pas Не містить - + Est égal à Дорівнює - + N'est pas égale à Не дорівнює - + Filtre : фільтр - + Type d'éléments Тип елемента - + Simples Простий - + Organes de protection Пристрої захисту - + Tous Все - + Boutons et commutateurs Кнопки та перемикачі - + Borniers Клемні колодки - + Vignettes Ескізи - + Contacteurs et relais Контактори та реле - + Automates (MAE/SPS) - + Configuration Конфігурація - + Ouvrir la configuration sélectionné Відкрити збережену конфігурацію - + Sauvegarder la configuration actuelle Зберегти поточну конфігурацію - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée SQL запит користувача - + Requête SQL : SQL запит - + Position положення - + Titre du folio Назва аркуша - + Position du folio Положення аркуша - + Numéro du folio Номер аркуша - - + + Exporter Експорт - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur Помилка - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3718,29 +4353,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive Пересунути примітив - + Éditer les informations sur l'auteur window title Змінити інформацію про автора - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. Ви можете використовувати це вільне поле, щоб вказати авторів елемента, його ліцензію або будь-яку іншу інформацію, яку ви вважаєте корисною. - + Éditer les noms window title Редагувати імена - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. Ви можете вказати назву елемента кількома мовами. @@ -3748,101 +4383,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title Цей елемент - не категорія - + L'item demandé n'est pas une categrie. Abandon. message box content Потрібний елемент не є категорією. Відміна. - + Catégorie inexistante message box title Неіснуюча категорія - + La catégorie demandée n'existe pas. Abandon. message box content Потрібна категорія не існує. Пропущено. - + Éditer une catégorie window title Редагувати категорію - + Créer une nouvelle catégorie window title Додати нову категорію - + Nom de la nouvelle catégorie default name when creating a new category Назва нової категорії - + Édition en lecture seule message box title Версія тільки для читання - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content Ви не маєте прав редагувати цю категорію. Тому його буде відкрито в режимі лише для читання. - + Nom interne : Внутрішня назва - + Vous pouvez spécifier un nom par langue pour la catégorie. Для категорії можна вказати назву для кожної мови. - + Nom interne manquant message box title Внутрішня назва відсутня - + Vous devez spécifier un nom interne. message box content Ви маєте вказати внутрішню назву - + Nom interne déjà utilisé message box title Внутрішня назва вже використовується - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content Вибране вами внутрішня назва вже використовується наявною категорією. Виберіть іншу. - + Erreur message box title Помилка - + Impossible de créer la catégorie message box content Неможливо створити категорію @@ -3851,73 +4486,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant Відкрити папку - + Éditer l'élément Редагувати елемент - + Supprimer l'élément Видалити елемент - + Supprimer le dossier Видалити папку - + Recharger les collections Перезавантажити колекцію - + Éditer le dossier Редагувати папку - + Nouveau dossier Нова папка - + Nouvel élément Новий елемент - + Importer une pièce EPLAN (.edz)… - + Afficher uniquement ce dossier Показати лише цю папку - + Afficher tous les dossiers Показати всі папки - + Propriété du dossier Властивості папки - + Supprimer l'élément ? message box title Видалити елемент - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3925,25 +4560,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title Видалення елемента - + La suppression de l'élément a échoué. message box content Видалення елемента не вдалося. - + Supprimer le dossier? message box title Видалити папку? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3951,24 +4586,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title Видалення папки - + La suppression du dossier a échoué. message box content Видалення папки не вдалось - + Avertissement — Importation d'un fichier EPLAN (.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3984,43 +4619,43 @@ En important ce fichier, vous confirmez que : - + J'ai lu et j'accepte ces conditions. - + Importer - + Importer une pièce EPLAN - + Pièces EPLAN (*.edz) - + Import EPLAN - + Impossible d'importer cette pièce : %1 - + Le dossier %1 contient Папка %1 містить - + %n élément(s), répartie(s) %n елемент, повтор @@ -4029,7 +4664,7 @@ En important ce fichier, vous confirmez que : - + dans %n dossier(s). в %n папці. @@ -4038,32 +4673,32 @@ En important ce fichier, vous confirmez que : - + Chemin de la collection : %1 Шлях до колекції: %1 - + Chemin dans le système de fichiers : %1 Шлях в файловій сстемі: %1 - + Rechercher... - + Collections Колекції - + Modèles - + Propriété du dossier %1 Властивості папки %1 @@ -4133,125 +4768,125 @@ En important ce fichier, vous confirmez que : ElementsPanelWidget - + Ouvrir le dossier correspondant котру? Відкрити папку - + Copier le chemin Скопіювати шлях - + Basculer vers ce projet Перейти до даного проєкту - + Fermer ce projet Закрити даний проєкту - + Propriétés du projet Властивості проєкту - + Propriétés du folio Властивості аркуша - + Ajouter un folio Додати аркуш - + Insérer un folio au-dessus - + Insérer un folio en dessous - + Copier et coller - + Supprimer ce folio Видалити цей аркуш - + Remonter ce folio Пересунути аркуш вгору - + Abaisser ce folio Пересунути аркуш вниз - + Remonter ce folio x10 Пересунути аркуш вгору на 10 - + Remonter ce folio x100 Пересунути аркуш вгору на 100 - + Remonter ce folio au debut Перемістити аркуш на початок - + Abaisser ce folio x10 Пересунути аркуш вниз на 10 - + Abaisser ce folio x100 Пересунути аркуш вниз на 100 - + Nouveau modèle Новий шаблон - + Éditer ce modèle Редагувати цей шаблон - + Supprimer ce modèle Вилучити цей шаблон - - + + Panneau des éléments - + Filtrer Фільтр @@ -4297,7 +4932,7 @@ En important ce fichier, vous confirmez que : ExportConfigPage - + Export configuration page title Експорт @@ -4306,102 +4941,102 @@ En important ce fichier, vous confirmez que : ExportDialog - + Exporter les folios du projet window title Експорт аркішів проєкту - + Exporter Експорт - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : Виберіть аркуші, які ви хочете експортувати, та їхні розміри: - + Tout cocher Вибрати все - + Tout décocher Відмінити вибір - + Titre du folio Назви аркушів - + Nom de fichier Ім'я файлу - + Dimensions Розміри - + Noms des fichiers cibles message box title Імена цільових файлів - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content Ви повинні ввести непорожнє унікальне ім’я файлу для кожного аркуша під час експорту. - + Dossier non spécifié message box title Папка відсутня - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content Необхідно вказати шлях до папки, в якій будуть зберігатися файли зображень. - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title Неможливо записати в цей файл - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content Схоже, у вас немає прав на запис у файл %1. - + Aperçu Попередній перегляд - - + + px пікс @@ -4685,63 +5320,73 @@ that you create. Text and number inputs are Застосувати переміщення - - + + Générique Загальний - + Fusible Запобіжник - + Sectionnable Секційний - + Diode Діод - + Terre Заземлення - + Phase Фаза - + Neutre Нейтраль - + Sans Без - + Avec С - + Modifier des propriétés de borniers Змінити властивості клемних колодок - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4749,27 +5394,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label Мітка - + Référence croisé Перехресне посилання - + Type Тип - + Fonction Функція - + led індикатор @@ -4802,104 +5447,105 @@ that you create. Text and number inputs are Дозволити маштаб менше розміру аркуша - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) Використовувати &вікна (застосується при наступному запуску QElectroTech) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) Використовувати &вкладки (застосується при наступному запуску QElectroTech) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : Метод масштабування дисплеїв з високою щільністю пікселів (hdpi) (застосується при наступному запуску QElectroTech): - + Projets Проєкти - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) Автоматичне збереження проєктів (застосується при наступному запуску QElectroTech) - + Ne pas conserver les labels des éléments lors des copier coller Не зберігати мітки елементів під час копіювання та вставлення - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 Нумерувати стовпці положення елементів, починаючи з 0 (в іншому випадку з 1) - + Désactivé Вимкнено - + min minute мин - + Utiliser les numéros de folio à la place de leur position dans le projet Використовувати номери аркушів замість положення в пректі - + Collections Колекції - + Accès aux collections Розташування колекцій - + Répertoire de la collection commune Каталог загальної колекції - - - - - - + + + + + + Par defaut По замовчуванню - - - - - - + + + + + + + Parcourir... Вибрати... - + Répertoire de la collection utilisateur Каталог колекції користувача - + (Recharger les collections d'éléments pour appliquer les changements) (Обновіть колекції елементів щоб зміни застосувались) - + Répertoire des cartouches utilisateur Каталог штампів користувача @@ -4914,476 +5560,689 @@ that you create. Text and number inputs are - - Afficher la grille par défaut (appliqué au prochain lancement) + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Appliquer les règles de conducteurs par borne des projets - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Nombre maximal de conducteurs par borne : - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. - - - - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company - + Répertoire des Macros utilisateur - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Gestion des éléments Керування елемнтами - + Mettre en valeur dans le panel les éléments fraîchement intégrés Виділити нещодавно додані елементи в панелі - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : Кожний елемент включає інформацію про його авторів, його ліцензії чи буль-яку іншу інформацію, котру ви вважаєте корисною для вільног доступу. Тут ви можете вказати значення цього поля по замовчуванню для створюваних вами елемемнтів: - + Langues Мови - + Appliqué au prochain lancement de QElectroTech Застосується з наступним запуском QElectroTech - + Textes - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech - + Textes d'éléments Тексти - - - + + + Police : Шрифт: - - + + ° ° - + Longueur : Довжина: - - + + Rotation : Обертання: - + Textes indépendants Незалежний текст - + Autres textes Інший текст - + Grille + Clavier Сітка та клавіатура - + Grille : 1 - 30 Сітка :1 - 30 - + DiagramEditor yGrid Вертикальні лінії (yGrid) - + La Grille doite etre active pour pouvoir voir les modifications. - + DiagramEditor xGrid Горизонтальні лінії (xGrid) - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 Переміщення з клавіатури :1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid Клавіша вліво/вправо - по горизонталі (xGrid) - + DiagramEditor (touche : haut / bas) yGrid Клавіша вгору/вниз - по вертикалі (yGrid) - + Déplacement au clavier avec la touche ALT : 1 - 9 Переміщення з клавіатури за допомогою клавіш ALT : 1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid Клавіша вліво/вправо - по горизонталі (xGrid) - + DiagramEditor (touche : haut / bas) yGrid Клавіша вгору/вниз - по вертикалі (yGrid) - + Affichage Grille - - + + max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 - - + + min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 - + Editor - + Max. parts in Element Editor List - + Arrondi supérieur pour 0.5 et plus Округлювати в більшу сторону від 0.5 і більше - + Toujours arrondi supérieur Завжди округлювати в більшу сторону - + Toujours arrondi inférieur Завжди округляти в меншу сторону - + Arrondi supérieur pour 0.75 et plus Округляти в більшу сторону від 0.75 і більше - + Pas d'arrondi Не округляти - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title Загальне - + Système Системний - + Arabe Арабська - + Brézilien Бразильська - + Catalan Каталонська - + Tchèque - + Allemand Німецький - + Danois Датська - + Grec Грецька - + Anglais Англійська - + Espagnol Іспанська - + Français Французька - + Croate Хорватська - + Italien Італійська - + Japonais Японська - + Coréen - + Polonais Польська - + Portugais Португальська - + Roumains Руминська - + Russe Російська - + Slovène Словенська - + Pays-Bas Нідерланди - + Norvege Норвегія - + Belgique-Flemish Бельгійсько-фламандська - + Turc Турецька - + Hongrois Угорська - + Mongol Монгольська - + Ukrainien - + Chinois - + Suédois - + Chemin de la collection commune Шлях до загальної колекції - + Chemin de la collection company - + Chemin de la collection utilisateur Шлях до колекції користувача - + Chemin des cartouches company - + Chemin des cartouches utilisateur Шлях до штампів користувача - + Chemin des macros utilisateur - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + Файли csv (*.csv) + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. - + Fonctionnalité expérimental - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5438,7 +6297,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu Це - шаблон, що може бути застосований до аркуша. - + %1 [non utilisé dans le projet] %1 [не використовується в проєкті] @@ -5768,42 +6627,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu Попередній перегляд - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6019,28 +6878,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6283,6 +7142,97 @@ Veuillez utiliser l'éditeur avancé pour cela. + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + + + MarginsEditDialog @@ -6334,7 +7284,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>Відмінити зв'язок пов'язаного елемента</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>Пов'язати вибраний елемент</p></body></html> @@ -6434,7 +7384,7 @@ Voulez-vous tout de même lier ce contact esclave ? - + Coller depuis le presse-papiers @@ -6444,6 +7394,158 @@ Voulez-vous tout de même lier ce contact esclave ? Перехрестне посилання (головне) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + Відміна + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + Відміна + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6493,10 +7595,15 @@ Voulez-vous tout de même lier ce contact esclave ? Автонумерація провідників - + Multi-collage Мультикопіювання + + + Numéroter les éléments collés + + NameListDialog @@ -6506,7 +7613,7 @@ Voulez-vous tout de même lier ce contact esclave ? Діалог - + Variables de cartouche Змінні шаблону @@ -6534,7 +7641,7 @@ Voulez-vous tout de même lier ce contact esclave ? Додати рядок - + Copier dans le presse papier Скопіювати в буфер обміну @@ -6592,13 +7699,13 @@ Voulez-vous tout de même lier ce contact esclave ? Автонумерація - + Nouveau folio configuration page title Новий аркуш - + Nouveau projet configuration page title Новий проєкт @@ -6873,13 +7980,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name Динамічне текстове поле - + Déplacer un champ texte Перемістити текстове поле @@ -6939,25 +8046,44 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte Перемістити текст - + Modifier un champ texte Редагувати текстове поле + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + + + PdfPagesDialog - + Sélectionner une page - + Ce document PDF contient %n page(s) @@ -6966,32 +8092,32 @@ Voulez-vous tout de même lier ce contact esclave ? - + Page à importer : - + Résolution : - + 150 DPI (écran) - + 300 DPI (impression) - + 600 DPI (haute qualité) - + Aperçu : @@ -7102,12 +8228,12 @@ Voulez-vous tout de même lier ce contact esclave ? Замкнути багатокутник - + Ajouter un point Додати точку - + Supprimer ce point Видалити цю точку @@ -7155,60 +8281,60 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. Виберіть, будь ласка, властивості для нового потенціалу. - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel Виберіть електричний петенціал зі списку, щоб використати його для нового потенціалу - - - + + + Numéro : %1 Номер :%1 - - - + + + Fonction : %1 Функція :%1 - - - + + + Tension/protocole : %1 Напруга / протокол :%1 - - - + + + Couleur du conducteur : %1 Колір провідника :%1 - - - + + + Section du conducteur : %1 Переріз провідника :%1 - - + + %n conducteurs composent le potentiel suivant : %n провідник містить петенціал: @@ -7217,23 +8343,23 @@ Section du conducteur : %1 - + Ajouter au câble: %1 Додати в кабель: %1 - + Ajouter au bus: %1 Додати в шину: %1 - + Modifier les propriétés de plusieurs conducteurs undo caption Редагувати властивості кількох провідників - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7244,10 +8370,108 @@ Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + + + Conserver + + + + + Supprimer + Видалити + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title Друк @@ -7256,142 +8480,352 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto Автонумерація - + Management Керування - - + + Conducteurs Провідники - - - Eléments - Елементи - - - - - Folios - Аркуші - - - - Numérotation auto des folios - Автонумерація аркушів - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + Ім'я + + + + Folio + Аркуш + + + + Élément + Елемент + + + + Figé - - - - - - - - - - Nom de la nouvelle numérotation - Ім'я нумерації + + Attribuer un numéro libre… + - - - - - - - - Sans nom - Без імені - - - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + Елементи + + + + + Folios + Аркуші + + + + Numérotation auto des folios + Автонумерація аркушів + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + + + ; %n numéro(s) sans élément + + + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + + + Supprimer la numérotation + Видалити нумерацію + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + + + Nom de la nouvelle numérotation + Ім'я нумерації + + + Sans nom + Без імені + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) Проєкт QElectroTech (*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). @@ -7399,12 +8833,12 @@ Les variables suivantes sont incompatibles : ProjectDBModel - + Position Положення - + Position du folio Положення аркуша @@ -7427,50 +8861,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title Загальне - + Titre du projet : label when configuring Назва проєкта - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label Ця назва доступна всім дочернім аркушам як %projecttitle. - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label Нижче ви зможете вказати властивості користувача, котрі будуть достіпні всім дочірнім аркушам(зазвичай використовується в шаблонах). - + Temps passé sur ce projet : label when configuring - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label - + Réinitialiser button label - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project @@ -7514,137 +9032,137 @@ Les variables suivantes sont incompatibles : На дату: - + Option de rendu Опції оформлення - + Dessiner le cadre Малювати рамку - + Dessiner le cartouche Малювати основний напис - + Conserver les couleurs des conducteurs Зберегти колір провідників - + Dessiner les bornes Малювати виводи - + Dessiner les noms des bornes - + Inscrire les informations des composants - + Option d'impression Опції друку - + Adapter le folio à la page Вписати аркуш в сторінку - + Utiliser toute la feuille Використати всю сторінку - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." Якщо цей параметр відмічений, аркуш аркуш буде збільшуватися чи зменшуватися, щоб заповнити всю область сторінки. - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. Якщо цей параметр відмічений, поля сторінки ігноруються і вся її поверхня буде використана для друку. Це може не підтримуватись вашим принтером. - + toolBar панель_інструментів - + Ajuster la largeur Підігнати по ширині - + Ajuster la page Вписать в сторінку - + Zoom arrière Зеншити - + Zoom avant Збільшити - + Paysage Альбомна - + Portrait Книжна - + Première page Перша сторінка - + Page précédente Попередня сторінка - + Page suivante Наступна сторінка - + Dernière page Остання сторінка - + Afficher une seule page Показати одну сторінку - + Afficher deux pages Показати дві сторінки - + Afficher un aperçu de toutes les pages Показати всі сторінки - + mise en page Макет @@ -7823,239 +9341,287 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption Завантаження... Ініціалізація кеша колекції елементів - + Chargement... Éditeur de schéma splash screen caption Завантаження... Редактор схем - + Chargement... Ouverture des fichiers splash screen caption Завантаження... Відкривання файлів - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR Переведіть цей рядок в RTL, якщо ви перекладаєте на мову з письмом справа наліво, інакше, - в LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech Штампи QET - + Cartouches company title of the company's title block templates collection - + Cartouches utilisateur title of the user's title block templates collection Штампи користувача - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning Схема - + Electrique Normal example text - translate length, not meaning Електрична - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title Налаштування QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + Помилка + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption Завантаження... - + Chargement... icône du systray splash screen caption Завантаження... піктограмма в треї - + QElectroTech systray menu title QElectroTech - + &Quitter &Вихід - + &Masquer &Приховати - + &Restaurer &Показати - + &Masquer tous les éditeurs de schéma &Приховати редактор схем - + &Restaurer tous les éditeurs de schéma &Показати редактор схем - + &Masquer tous les éditeurs d'élément &Приховати редактор елементів - + &Restaurer tous les éditeurs d'élément &Показати редактор елеиентів - + &Masquer tous les éditeurs de cartouche systray submenu entry &Приховати редактор штампів - + &Restaurer tous les éditeurs de cartouche systray submenu entry &Показати редактор штампів - + &Nouvel éditeur de schéma &Новий редактор схем - + &Nouvel éditeur d'élément &Новий редактор елементів - + Ferme l'application QElectroTech Закрити QElectroTech - + Réduire QElectroTech dans le systray Згорнути QElectroTech в трей - + Restaurer QElectroTech Відновити QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas Редактори схем - + Éditeurs d'élément Редактори елементів - + Éditeurs de cartouche systray menu entry Редактори штампів - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>Виявлений файл відновленя.<br>Відкрити його?</b><br> + <b>Виявлений файл відновленя.<br>Відкрити його?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>Виявлені файли відновлення.<br>Відкрити їх?</b><br> + <b>Виявлені файли відновлення.<br>Відкрити їх?</b><br> - Fichier de restauration - Файл відновлення + Файл відновлення - + Rapport de plantage - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. - + Rapport de diagnostic - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. - + Usage : Використання: - + [options] [fichier]... @@ -8063,7 +9629,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8080,34 +9646,34 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR Вказує каталог з колекціями елеиентів - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR Вказує каталог з колекцією штампів - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR Вказує каталог конфігурації - + --data-dir=DIR Definir le dossier de data - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR Вказує каталог з файлами мов @@ -8117,254 +9683,272 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Projets dock title Проєкти - + Collections Колекції - + Aucune modification Немає змін - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip Виберіть дію, щоб повернути зроблені в схемі зміни - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip В цій панелі вказані різні зміни на даному аркуші. При виборі зміни аркуш буде повернутий в той стан, в якому він знаходився відразу після її застосування - + Annulations dock title Історія - + E&xporter E&експорт - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas - + Exporte le folio courant dans un autre format status bar tip Експортувати цей аркуш в інший фрмат - + Imprimer Друк - + Imprime un ou plusieurs folios du projet courant status bar tip Друк одного або більше аркушів цього проєкту - + Exporter en pdf Експорт в pdf - + Exporte un ou plusieurs folios du projet courant status bar tip підказка в рядку стану Експорт одного чи кількох аркушів цього проєкту - + &Quitter &Вихід - + Ferme l'application QElectroTech status bar tip Закрити QElectroTech - + Annuler Відміна - + Annule l'action précédente status bar tip Відмінити останні дії - + Refaire Повторити - + Restaure l'action annulée status bar tip Виконати відмінену дію - + Co&uper &Вирізати - + Cop&ier &Копіювати - + C&oller Вст&авити - + + Coller au point d'origine + + + + Transfère les éléments sélectionnés dans le presse-papier status bar tip Копіює віділені елементи в буфер обміну - + Copie les éléments sélectionnés dans le presse-papier status bar tip Копіює виділені елементи - + Place les éléments du presse-papier sur le folio status bar tip Вставляє на лист еементи з буфера обміну - + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Réinitialiser les conducteurs Відновити провідники - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip Перераховує траси провідників, ігнруючи зроблені користувачем зміни - + Création automatique de conducteur(s) Tool tip of auto conductor Автоматичне створення провідників - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor Використовувати автоматичне створення провідників коли це можливо - + Coupure automatique de conducteur(s) Tool tip of auto break conductor - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor @@ -8380,862 +9964,1069 @@ Options disponibles : Показати фон аркуша білим або сірим - + Afficher la grille Показати сітку - + Affiche ou masque la grille des folios - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides - + Affiche ou masque les guides - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + Показувати + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + Перехрестні посилання + + + + Voir Affichage > Afficher + + + + Propriétés du folio Властивості аркуша - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip Редагує властивості аркуша (розміри, інформацію шаблонів, властивості провідників...) - + Propriétés du projet Властивості проєкта - + Ajouter un folio Додати аркуш - - - + + + Supprimer le folio Видалити цей аркуш - + Nettoyer le projet Очистити проєкт - + Exporter au format CSV Експорт в формат CSV - + Ajouter une nomenclature Додати номенклатуру - + Ajouter un sommaire Додати висновок - + Gestionnaire de borniers (DEV) Керування клемними олодками (DEV) - + Lancer le plugin de création de borniers Запустити плагін створення клемної колодки - + Exporter la liste des noms de conducteurs Експорт списка імен провідників - + Exporter le plan de câblage - + Liste de câblage (base de données) - + Numérotation automatique des bornes - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet Експорт внутрішньої бази даних проєкта - + en utilisant des onglets Використовувати вкладки - + Présente les différents projets ouverts des onglets status bar tip Відображає різні відкриті проєкти у вкладках - + en utilisant des fenêtres Використовувати вікна - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip Відображає різні відкриті проєкти у вікнах - + &Mosaïque &Мозаїка - + Dispose les fenêtres en mosaïque status bar tip Розмістити вікна мозаїкою - + &Cascade &Каскад - + Dispose les fenêtres en cascade status bar tip Розмістити вікна каскадом - + Mode Selection Режим виділення - + Permet de sélectionner les éléments status bar tip Дозволяє вибрати елементи - + Mode Visualisation Режим перегляду - + Permet de visualiser le folio sans pouvoir le modifier status bar tip Дозволяє переглядати аркуші не змінюючи їх - + Projet suivant Наступний проєкт - + Active le projet suivant status bar tip Акривує наступний проєкт - + Projet précédent Попередній проєкт - + Active le projet précédent status bar tip Активує попередній проєкт - + &Nouveau &Новий - + &Ouvrir &Відкрити - + &Enregistrer &Зберегти - + Enregistrer sous Зберегти як - + + &Fermer &Закрити - + Crée un nouveau projet status bar tip Створити новий проєкт - + Ouvre un projet existant status bar tip Відкрити існуюий проєкт - + Ferme le projet courant status bar tip Закрити цей проєкт - + Enregistre le projet courant et tous ses folios status bar tip Зберегти цей проєкт і всі його аркуші - + Enregistre le projet courant avec un autre nom de fichier status bar tip Зберегти цей проєкт під другим ім'ям - + Ajouter une colonne Додати стопчик - + Enlever une colonne Видалити стопчик - + Ajouter une ligne Add row Додати рядок - + Enlever une ligne Remove row Видалити рядок - + Ajoute une colonne au folio status bar tip Додати стопчик - + Enlève une colonne au folio status bar tip Видалити стопчик - + Agrandit le folio en hauteur status bar tip Збільшує висоту аркуша - + Rétrécit le folio en hauteur status bar tip Зменшує висоту аркуша - + Supprimer Видалити - + Pivoter Повернути - + Pivoter le groupe - + Orienter les textes Вибрати напрямок тексту - + Retrouver dans le panel Знайти в панелі - + Éditer l'item sélectionné Редагувати вибраний елемент - + Grouper les textes sélectionnés Згрупувати вибрані тексти - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Enlève les éléments sélectionnés du folio status bar tip Видалити вибрані елементи - + Pivote les éléments et textes sélectionnés status bar tip Поворот вибраних елементів та текстів - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip - + Pivote les textes sélectionnés à un angle précis status bar tip Повернути вибраний текст на визачений кут - + Retrouve l'élément sélectionné dans le panel status bar tip Шукає вибраний елемент в панелі - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Tout sélectionner Виділити все - + Désélectionner tout Зняти виділення - + Inverser la sélection Інвертування виділення - + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les éléments du folio status bar tip Виділяє всі елементи на аркуші - + Désélectionne tous les éléments du folio status bar tip Знімає виділення зі всіх елементів на аркуші - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip інветує виділення - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + Zoom avant Збільшити - + Zoom arrière Зменшити - + Zoom sur le contenu Маштабувати вибране - + Zoom adapté Підігнати розмір - + Pas de zoom Відновити маштаб - + + Centrer sur le curseur + + + + Agrandit le folio status bar tip Збільшити аркуш - + Rétrécit le folio status bar tip Зменшити аркуш - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre Змінює маштаб для відображення всього, що на аркуші, незалежно від контента - + Adapte le zoom exactement sur le cadre du folio status bar tip Змінює маштаб для відображення тільки частини аркуша - + Restaure le zoom par défaut status bar tip Скинути маштаб - + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un champ de texte Додати текстове поле - + Ajouter une image Додати зображення - + Ajouter un PDF - + Ajouter une ligne Draw line Додати лінію - + Ajouter un rectangle Додати прямокутник - + Ajouter une ellipse Додати еліпс - + + Ajouter un arc + + + + Ajouter une polyligne Додати ломану лінію - + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes - + Ajoute un champ de texte sur le folio actuel Додати текстове поле на цей аркуш - + Ajoute une image sur le folio actuel Додати зображенння на цей аркуш - + Ajoute une page PDF sur le folio actuel - + Ajoute une ligne sur le folio actuel Додати лінію на цей аркуш - + Ajoute un rectangle sur le folio actuel Додати прямокутник на цей аркуш - + Ajoute une ellipse sur le folio actuel Додати еліпс на цей аркуш - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel Додати ломану лінію на цей аркуш - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel - + Chercher/remplacer Знайти/замінити - + Atteindre un élément - + Recherche et sélectionne rapidement un élément du folio status bar tip - + Outils Інструменти - + Affichage Вид - + Schéma Схема - + Ajouter Додати - + Profondeur toolbar title Глибина - + + Scripts + toolbar title + + + + &Fichier &Файл - + &Édition &Правка - + &Projet П&роект - + Afficha&ge &Вид - + Fe&nêtres &Вікно - + &Récemment ouverts &Нещодавно відкрите - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale Показати чи приховати головну панель інструментів - + Affiche ou non la barre d'outils Affichage Приховати або показати панель інструментів «Вид» - + Affiche ou non la barre d'outils Schéma Приховати або показати панель інструментів «Схема» - + Affiche ou non le panel d'appareils Приховати або показати панель елементів - + Affiche ou non la liste des modifications Приховати або показати срисок змін - + Afficher les projets Показати проєкти - - + + Projet %1 enregistré dans le repertoire: %2. Проєкт %1 збережений в каталозі: %2. - + Ouvrir un fichier Відкрити файл - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) Проєкти QElectroTech (*.qet);;Файли XML (*.xml);;Всі файли (*) - - + + Impossible d'ouvrir le fichier message box title Неможливо відкрити файл - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Файл %1, котрий ви намагаєтеся відкрить, не існує. - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. Файл, котрий ви намагаєтеся відкрити, недоступний для читання і не може бути відкритий. Перевірте права доступа. - + Ouverture du projet en lecture seule message box title Відкривання файлів в режимі "тільки читання" - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. Проєкт, котрий ви намагаєтеся відкрити, недоступний для запису. Він буде відкритий в режимі "тільки читання". - - + + Échec de l'ouverture du projet message box title Неможливо відкрити проєкт - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content Файл %1 не є проєктом QElectroTech. Він не може бути відкритим. - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9245,7 +11036,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9255,30 +11046,28 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title - - Suppression de borne impossible + + Folio %1 : %2 - - La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. -Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + Conducteurs non chargés + message box title - - - Groupe - Група - - - %n objet(s) remis sur la grille + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content @@ -9286,12 +11075,56 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + + Suppression de borne impossible + + + + + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. +Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer + + + + + Groupe + Група + + + + %n objet(s) remis sur la grille + + + + + + + + + %n objet(s) aligné(s) + + + + + + + + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) @@ -9300,101 +11133,101 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Éditer l'élement edit element Редагувати елемент - + Éditer le champ de texte edit text field Редагувати текстове поле - + Éditer l'image edit image Редагувати зображення - + Éditer le conducteur edit conductor Редагувати провідник - + Éditer l'objet sélectionné edit selected item Редагувати вибраний об'єкт - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content вміст вікна повідомлення Помилка при відкриванні файла %1. - + Active le projet « %1 » Активує проєкт «%1» - + Êtes-vous sûr de vouloir supprimer ce folio ? - + Supprimer les folios - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? - + Supprimer %1 folios - - - - - - - + + + + + + + Déplacer les folios - + Erreur message box title Помилка - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). @@ -9403,7 +11236,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. @@ -9412,7 +11245,7 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). @@ -9421,18 +11254,18 @@ Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les s - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9441,13 +11274,114 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + + + Textes %1 @@ -9460,396 +11394,396 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech — Редактор елементів - + &Fichier &Файл - + &Édition &Правка - + Coller depuis... Вставити з... - + Afficha&ge &Вид - + &Aide &Довідка - + Annulations Історія - + Parties Частини - + Informations Інформація - + Outils Інструменти - + Affichage Вид - + Élément Елемент - + Annulation Відміна - + Tout sélectionner Виділити все - + &Nouveau &Новий - + &Ouvrir &Відкрити - + &Ouvrir depuis un fichier &Відкрити з файла - + &Enregistrer &Зберегти - + Enregistrer sous Зберегти як - + Enregistrer dans un fichier Зберегти в файл - + Exporter en SVG - + Recharger Перезавантаження - + &Fermer cet éditeur - + Fermer cet éditeur - + Désélectionner tout зняти виділення - + Co&uper &Вирізати - + Cop&ier &Копіювати - + C&oller &Вставити - + C&oller dans la zone &Встатити в область - + Un fichier Файл - + Un élément Елемент - + Inverser la sélection Інвертувати виділення - + &Supprimer &Видалити - + Éditer le nom et les traductions de l'élément Редагувати назву та інформацію елемента - + Éditer les informations sur l'auteur Редагувати інформацію про автора - + Éditer les propriétés de l'élément Редагувати властивості елемента - + Zoom avant Збільшити - + Zoom arrière Зменшити - + Zoom adapté Підігнать розмір - + Pas de zoom Відновити маштаб - + À &propos de QElectroTech &про QElectroTech - + Affiche des informations sur QElectroTech Показує інформацію про QElectroTech - + Manuel en ligne Онлайн документація - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech Відкриває в браузері по замовчуванні онлайн документацію - + Chaine Youtube YouTube-канал - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech Відкриває в браузері по замовчуванні YouTube-канал QElectroTech - + Soutenir le projet par un don Підтримати проєкт - + Soutenir le projet QElectroTech par un don Підтримайте проєкт QElectroTech донатом - + À propos de &Qt Про бібліотеку &Qt - + Affiche des informations sur la bibliothèque Qt Показує інформацію про бібліотеку Qt - + Rotation Обертання - + Fine-Rotation - + Mirror - + Flip - + Importer un dxf Імпорт файла в форматі DXF - + importer un élément à redimensionner - + Afficher menu entry Показувати - + Le fichier %1 n'existe pas. message box content Файл %1 не існує. - - + + Impossible d'ouvrir le fichier %1. message box content Неможливо відкрити файл %1. - - + + Ce fichier n'est pas un document XML valide message box content Цей файл не являється правильним XML-документом - - + + Erreur toolbar title Помилка - - + + Édition en lecture seule message box title Версія тільки для читання - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content У вас немає прав для редагування цього елемента. Він буде відкритий в режимі "тільки читання". - - + + Erreur message box title Помилка - + Impossible d'écrire dans ce fichier message box content Неможливо зписати в цей файл - - - - + + + + Élément inexistant. message box title Неіснуючий елемент - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content Вибраний віртуальний шлях не відповідає елементу - - + + L'élément n'existe pas. message box content Елемент не існує. - + Impossible d'enregistrer l'élément message box content - + Ouvrir un fichier dialog title - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file - + [Modifié] window title tag - + [lecture seule] window title tag - - + + %n partie(s) sélectionnée(s). %n виділена частина. @@ -9858,45 +11792,69 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Absence de borne warning title Відсутній ввід - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br> За відсутності виводів елемент не може бути з'єднаний з іншим елементом провідником. - + Absence de borne Відсутній вивід - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>Помилка</b>:<br> Звіти про аркуші мають мати один вивід.<br><b>Рішення</b>:<br>Перевірте, щоб у елемента був лише один вивід - + Nombre de bornes incorrect - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + La vérification de cet élément a généré message box content Перевірка створеного елемента - + %n erreur(s) errors @@ -9906,12 +11864,12 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et і - + %n avertissement(s) warnings @@ -9921,253 +11879,286 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + <b>%1</b> : %2 warning title: warning description <b>%1</b>: %2 - + Erreurs Помилки - + Avertissements Попередження - + Impossible d'ouvrir le fichier message box title Неможливо відкрити файл - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. Схоже, що файл %1, котрий ви намагаєтеся відкрити, не існує. - + Enregistrer l'élément en cours ? dialog title Зберегти поточний елемент? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name Ви хочете зберегти елемент %1? - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + + + + + Hauteur + + + + X: %1 Y: %2 - + Exporter en SVG dialog title - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG - + Échec de l'export - + Impossible d'écrire dans le fichier « %1 ». - + Importer un élément à redimensionner - + Éléments QElectroTech (*.elmt) Элементи QElectroTech (*.elmt) - + Trop de primitives, liste non générée: %1 - + Annuler Відміна - + Refaire Повторити - + Profondeur toolbar title Глибина - + Ajouter une ligne Додати лінію - + Ajouter un rectangle Додати прямокутник - + Ajouter une ellipse Додати еліпс - + Ajouter un polygone Додати багатокутник - + Ajouter du texte Додати текст - + Ajouter un arc de cercle Додати дугу - + Ajouter une borne Додати вивід - + Ajouter un champ texte dynamique Додати динамічне тектове поле - + Double-click pour terminer la forme, Click droit pour annuler le dernier point Зробіть подвійний клік, щоб завершити форму, клік правою клавішою, щоб видалити останню точку - + Ajouter un texte d'élément non éditable dans les schémas Додати текст елемента, що не редагується - + Ajouter un texte d'élément pouvant être édité dans les schémas Додати текст елемента, що редагується - + Parties toolbar title Частини - + Aucune modification Немає змін - + Éditeur d'éléments status bar message Редактор елементів - - - + + + Echec de l'enregistrement Реєстрація не вдалася - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides Запис не вдався, не вірні умови - + Enregistrer sous dialog title Зберегти як - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file Элементи QElectroTech (*.elmt) - + Recharger l'élément dialog title Перезавантажити елемент - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content Цей елемент був змінений з моменту останнього збереження. Якщо ви перезавантажете його, всі зміни будуть втрачені. Ви дійсно хочете перезавантажити елемент? - + Avertissement Попередження - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... Імпорт великого файла в форматі DXF може зайняти деякий час, @@ -10177,141 +12168,176 @@ veuillez patienter durant l'import... QETMainWindow - + &Configurer QElectroTech &Налаштування QElectroTech - + Permet de régler différents paramètres de QElectroTech status bar tip Дозволяє змінити різні параметри QElectroTech - + À &propos de QElectroTech &Про QElectroTech - + Affiche des informations sur QElectroTech status bar tip Показує інформацію про QElectroTech - + Manuel en ligne Онлайн документація - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip підказка в рядку стану Відкрити онлайн документацію QElectroTech в браузері по замовчуванню - - + + + + Général - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Chaine Youtube YouTube-канал - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip підказка в рядку стану Відкрити YouTube-канал QElectroTech в браузері по замовчуванню - - + + Télécharger une nouvelle version (dev) Скачати нову версію (dev) - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip підказка в рядку стану Відкрити онлайн репозиторій Nightly QElectroTech в браузері по замовчуванню - + Soutenir le projet par un don Підтримати проєкт - + Soutenir le projet QElectroTech par un don status bar tip підказка в рядку стану Підтримайте проєкт QElectroTech донатом - + À propos de &Qt Про &бібліотеку Qt - + Affiche des informations sur la bibliothèque Qt status bar tip Показує інформацію про бібліотеку Qt - + Enregistrer un rapport de diagnostic... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip - + &Configuration window menu &Налаштування - + &Aide window menu &Довідка - + Sortir du &mode plein écran Вийти зповно&екранного режиму - + Affiche QElectroTech en mode fenêtré status bar tip Відобразить QElectroTech у віконному (звичайному) режимі - + Passer en &mode plein écran Повно&екранний режим - + Affiche QElectroTech en mode plein écran status bar tip Покаже QElectroTech в повноекранному режимі - + Afficher menu entry Показувати @@ -10320,53 +12346,53 @@ veuillez patienter durant l'import... QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path відображуваний заголовок для ProjectView -% 1 - це заголовок проєкта, -% 2 - це шлях до проєкта Проєкт «%1: %2» - + Projet %1 displayed title for a title-less project - %1 is the file name Проєкт %1 - + Projet sans titre displayed title for a project-less, file-less project Проєкт без імені - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [тільки читання] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [змінений] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10374,56 +12400,56 @@ Voulez-vous continuer ? - + Une erreur s'est produite durant l'intégration du modèle. error message Під час інтеграції шаблона виникла помилка. - + Avertissement message box title Попередження - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? - + Avertissement message box title Попередження - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>Відкривання поточного аркуша...</b><br/>Створення аркушів</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>Відкривання поточного аркуша...</b><br/>Налаштування перехресних посилань</p> @@ -10793,52 +12819,52 @@ Que désirez vous faire ? QObject - - + + chargement %p% (%v sur %m) завантаження %p% (%v з %m) - - + + - - - - - - + + + + + + this is an error in the code це помилка в коді - + Collection QET Колекція QET - + Collection Company - + Collection utilisateur Колекція користувача - + Macros - + Collection inconnue Невідома колекція - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. @@ -10858,22 +12884,22 @@ Que désirez vous faire ? Знайти/замінити властивості аркуша - + Chercher/remplacer les propriétés d'éléments. Знайти/замінити властивості елемента - + Chercher/remplacer des textes independants Знайти/замінити незалежний текст - + Chercher/remplacer les propriétés de conducteurs. Знайти/замінити властивості провідника - + Rechercher / remplacer avancé Розширений пошук та заміна @@ -11030,44 +13056,44 @@ Que désirez vous faire ? - + coller %1 undo caption - %1 is a sentence listing the content to paste вставити %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut вирізати %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content перемістити %1 - + modifier le texte undo caption змінити текст - + modifier un conducteur undo caption змінити провідник - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content Відновити %1 - + modifier les dimensions du folio undo caption змінити розмір аркуша @@ -11094,7 +13120,7 @@ Que désirez vous faire ? видалення - + Ouvrir un element Відкрити елемент @@ -11272,12 +13298,17 @@ Que désirez vous faire ? текст - + Importer un fichier dxf Імпортувати файл в форматі DXF + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more додати номера одного чи кількох провідників @@ -11351,38 +13382,38 @@ Voulez-vous la remplacer ? група тексту - + Folio sans titre Аркуш без імені - + schema схема - + Conserver les proportions Зберегти пропорції - + Réinitialiser les dimensions Відновити розмір - + Aperçu Попередній перегляд - + Exporter vers le presse-papier Експортувати в буфер обміну - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. Попередження: елементи були збережені за допомогою більш нової версії QElectroTech. @@ -11547,7 +13578,7 @@ Voulez-vous la remplacer ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11557,7 +13588,7 @@ Voulez-vous la remplacer ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11567,7 +13598,7 @@ Voulez-vous la remplacer ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11577,7 +13608,7 @@ Voulez-vous la remplacer ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11587,7 +13618,7 @@ Voulez-vous la remplacer ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11597,7 +13628,7 @@ Voulez-vous la remplacer ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11607,7 +13638,7 @@ Voulez-vous la remplacer ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11617,7 +13648,7 @@ Voulez-vous la remplacer ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11627,100 +13658,100 @@ Voulez-vous la remplacer ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? Неможливо знайти текстовий файл з ліцензією GNU/GPL, але вви його знаєте на пам'ять, чи не так? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? Файл з ліцензією GNU/GPL існує, але не може бути відкритий, але вви його знаєте на пам'ять, чи не так? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file Неможливо відкрити файл %1 для запису, виникла помилка %2 - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file повідомлення поитлки при спробі запису до XML-файлу Виникла помилка %2 під час запису файла %1. - + Amener au premier plan Помістить на передній план - + Rapprocher Підняти - + Éloigner Опустити - + Envoyer au fond Помістити на задній план - + Ramène la ou les sélections au premier plan Помістити вибране на передній план - + Rapproche la ou les sélections Підняти вибране - + Éloigne la ou les sélections Опустити вибране - + Envoie en arrière plan la ou les sélections Помістити вибране на задній план - - - - + + + + Profondeur Глибина - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> Щоб встановити плагін qet_tb_generator<br>Відвідайте:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Необхідний python версії 3.5 або вище.<br><B><U>Перша установка в Windows</B></U><br>1. При необхідності встановіть python 3.5 чи більш пізню версію<br>Посетите:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U>Оновлення в Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>користувач може запустити в терміналі<br>C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> Щоб встановити плагін qet_tb_generator<br>Відвідайте:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Потрібний Python 3.5 аби вище.<br><br><B><U>Перша установка в Linux</B></U><br>1. Перевірте чи встановлений у вас pip3: pip3 --version<br> Якщо не встановлений, то: sudo apt-get install python3-pip<br>2. Встановіть програму: sudo pip3 install qet_tb_generator<br>3. Запустіть программу: qet_tb_generator<br><br><B><U>Обновлення в Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin Помилка під час запуску плагіна qet_tb_generator - + Borne tooltip Вивід @@ -11737,6 +13768,7 @@ Voulez-vous la remplacer ? + Titre Назва @@ -11863,35 +13895,35 @@ Voulez-vous la remplacer ? - - - + + + Type Тип - - - + + + Adresse - - - + + + Commentaire Аннотація - - - + + + Réf. croisée @@ -11899,9 +13931,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction Функція @@ -12357,7 +14389,7 @@ Voulez-vous la remplacer ? вирівнювання по горизонталі - + %p% effectué (%v sur %m) %p% готово (%v із %m) @@ -12429,6 +14461,7 @@ Voulez-vous la remplacer ? Змінити властивості елемента + Modifier les informations de l'élément : %1 Змінити інформацію елемента: %1 @@ -12445,7 +14478,7 @@ Voulez-vous la remplacer ? змінити основний напис - + supprimer %1 undo caption - %1 is a sentence listing the removed content видалити %1 @@ -12479,7 +14512,7 @@ Voulez-vous la remplacer ? групи текстів (%1) - + %n texte(s) @@ -12488,19 +14521,19 @@ Voulez-vous la remplacer ? - - + + Pivoter %1 - + Orienter les textes sélectionnés window title Вибір напрямку виділеного тексту - + Création de conducteurs Створення провідників @@ -12586,7 +14619,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Automatic terminal numbering @@ -12670,7 +14703,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12680,8 +14713,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12818,7 +14851,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille @@ -12826,91 +14859,105 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da + + + Aligner %n objet(s) + + + + + + - + Ajouter %1 Додати %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte Змінити колір тексту - + Pivoter un texte - + Modifier le trait d'une forme Змінити лінію фігури - + Modifier le remplissage d'une forme Змінити заливку фігури - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément Редагувати текст елементу - + Numéroter automatiquement un élément - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12918,6 +14965,49 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + + + Dégrouper %n objet(s) + + + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + Аркуш + QTextOrientationWidget @@ -12937,371 +15027,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. Кількість інформації виходить за рамки допустимого відображення в таблицях. Будь ласка, додайте нову, або підправте існуючі таблиці, щоб інформація відображаласть повністю. - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. Кількість інформації виходить за рамки допустимого відображення в таблиці. Будь ласка, додайте нову, або підправте існуючу таблицю, щоб інформація відображаласть повністю. - + Limitation de tableau Обмеження таблиці - + Modifier la géometrie d'un tableau Змінити геометрію області таблиці + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - - + + Ajouter un point Додати точку - + Supprimer ce point Видалити цю точку - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille Розмір - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone Додати точку до багатокутника - + Supprimer un point d'un polygone Видалити точку з багатокутника - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 Виміряти %1 - + une ligne лінія - + un rectangle прямокутник - + une éllipse еліпс - + un arc - + une polyligne ламана лінія - + une courbe - + une shape фігура @@ -13383,7 +15534,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Текстова мітка - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? елемент « %1 » уже існує. Що ви хочете зробири? @@ -13391,31 +15542,77 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + + + Folio + Аркуш + + + + Élément + Елемент + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13439,9 +15636,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier Не змінювати @@ -13561,97 +15758,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af фаза - - + + Nombre de phase кількість фаз - + Neutre Нейтраль - + neutre нейтраль - + Terre Зазамленя - + terre зазкмлення - + TextLabel Текстова мітка - + PushButton Кнопка - + Apparence Вид - + Taille : Розмір: - - + + Couleur : Колір: - + Style : Стиль: - - + + Modifier Змінити - + Couleur secondaire : Вторинний колір: - + Taille de trait : Розмір лінії: - + px пікс - + Trait plein conductor style: solid line Суцільна лінія - + Trait en pointillés conductor style: dashed line Пунктирна лінія - + Traits et points conductor style: dashed and dotted line Штрих-пунктирна лінія @@ -13660,7 +15857,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier Не змінювати @@ -13702,10 +15899,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier Не змінювати @@ -13765,7 +15962,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af Встановити поточну дату - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13778,38 +15975,38 @@ Les variables suivantes sont utilisables : -%autonum: автоматична нумерація аркушів - + Disponible en tant que %locmach pour les modèles de cartouches Доступно як %locmach в шаблоні для штампу - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Доступно як %plant в шаблоні для штампу</p></body></html> - + Titre : Заголовок: - - - - - - - + + + + + + + Supprimer ce texte Видалити цей текст - + Personnalisées Користувача - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Ви можете вказати тут свої власні комбінації імені / значення для використання в штампі. Наприклад: ім'я "volta" із значенням "1745" буде заміняти рядок %{volta} числом 1745 всередині штампу. @@ -13847,6 +16044,185 @@ Créer votre propre texte en vous aidant des variables suivantes : %c: номер стопчика + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + &Новий + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + Ім'я: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + &Зберегти + + + + Ouvrir le &dossier + + + + + &Fermer + &Закрити + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13885,185 +16261,185 @@ Créer votre propre texte en vous aidant des variables suivantes : Перейти до наступної відповідності - + Aller à la correspondance précédente Перейти до попередньої відповідності - + Actualiser Обновити - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>Показати додаткові параметри</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>Визначіть властивості для заміни в елементах</p></body></html> - + Élément Елемент - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>Визначіть властивості для заміни в провідникахх</p></body></html> - + Conducteur Провідник - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>Замінити відмічені співпадіння</p></body></html> - + Tout remplacer Замініти все - + avancé Розширений - + Remplacer : Замінити: - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>Визначте властивості для заміни в аркушах</p></body></html> - + Folio Аркуш - + Champ texte de folio Текстове поле аркуша - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>Замінити вибране співпадіння</p></body></html> - + Remplacer Замінити - + Quitter Вихід - + Correspondance : Відповідність: - + Folios Аркуші - + Champs texte Текстові поля - + Eléments Елементи - + Eléments simple Прості елементи - + Eléments maître Головні елементи - + Eléments esclave Підпорядковані елементи - + Eléments report de folio Елементи звіту про аркуш - + Eléments bornier Елементи клемної колодки - + Conducteurs Провідники - + Inconnue Невідомо - + Sélectionner les éléments de ce folio Виберіть елементи цього аркуша - + Sélectionner les conducteurs de ce folio Виберіть провідники цього аркуша - + Sélectionner les textes de ce folio Виберіть текст цього аркуша - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [відредаговано] @@ -14091,53 +16467,81 @@ Créer votre propre texte en vous aidant des variables suivantes : Видалити нумерацію - + Définition Визначення - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>Видалити змінну нумерації</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>Додати змінну нумерації</p></body></html> - Précédent - Попередній + Попередній - Suivant - Наступний + Наступний - + Type Тип - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur Значення - + Incrémentation Примітка - + + Annuler + Відміна + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window Автонумерація аркушів - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14166,13 +16570,13 @@ Le champ "Incrémentation" n'est pas utilisé. - + Conducteur Autonumérotation title window Автонумерація провідників - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14210,13 +16614,13 @@ Les autres champs ne sont pas utilisés. Інші поля не використовуються. - + Element Autonumérotation title window - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14237,6 +16641,16 @@ Les autres champs ne sont pas utilisés. help dialog about the element autonumerotation + + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + ShapeGraphicsItemPropertiesWidget @@ -16627,12 +19041,12 @@ Les autres champs ne sont pas utilisés. Інформація для відображення - + Configuration Конфігурація - + Requête SQL : SQL запит: @@ -16642,6 +19056,19 @@ Les autres champs ne sont pas utilisés. Положення + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + + + TerminalEditor @@ -16996,123 +19423,123 @@ Les autres champs ne sont pas utilisés. Виконати переміщення - + Étage : Ярус - + Type : Тип: - + Couleur pont : Колір мосту: - - + + Générique Загальний - + Fusible Запобіжник - + Sectionnable Секційний - + Diode Діод - + Terre Заземлення - + LED : Індикатор: - + Fonction : Функція: - + Déplacer dans : Перемістити в: - + Phase Фаза - + Neutre Нейтраль - + Position automatique Автоматичне положення - + Grouper les bornes Згрупувати виводи - + Degrouper les bornes Розгрупувати виводи - + Ponter les bornes З'єднати виводи - + Déponter les bornes Роз'єднати виводи - + Propriétés Властивості - + Nom : Ім'я: - + Commentaire : Аннотація: - + Installation : Установка: - + Localisation : Локалізація: - + Description Опис @@ -17140,32 +19567,32 @@ Les autres champs ne sont pas utilisés. Панель інструментів - + Ajouter un bornier Додати клемну колодку - + Ajouter un bornier au projet Додати клемну колодку в проєкт - + Supprimer le bornier Видалити клемну колодку - + Supprimer le bornier du projet Видалити клемну колодку з проєкта - + Recharger Перезавантаження - + Recharger les borniers Перезавантажити клемні колодки @@ -17395,12 +19822,12 @@ Les autres champs ne sont pas utilisés. Огляд клемної колодки - + Projet sans titre Проєкт без імені - + Bornes indépendante Незалежні виводи @@ -17503,7 +19930,7 @@ Les autres champs ne sont pas utilisés. Завантаження - + Dossier installation Папка установки @@ -17511,37 +19938,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label Ширина: - + Absolu a traditional, absolute measure Абсолютне значення - + Relatif au total a percentage of the total width Відносно всього - + Relatif au restant a percentage of what remains from the total width Відносно залишку - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column пікс @@ -17570,87 +19997,87 @@ Les autres champs ne sont pas utilisés. <html> <head/><body><p> Показувати штамп в нихжній (горизонтально) або правій (вертикально) частині аркушу </p></body></html> - + Principales Основні - + Date : Дата: - + Auteur : Автор: - + Indice Rev: Індекс версії: - + Disponible en tant que %locmach pour les modèles de cartouches Доступно як %locmach в шаблоні для штампа - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>Доступно як %plant в шаблоні для штампа</p></body></html> - + Disponible en tant que %title pour les modèles de cartouches Доступно як %title в шаблоні для штампа - + Folio : Аркуш: - + Fichier : Файл: - + Disponible en tant que %author pour les modèles de cartouches Доступно як %author в шаблоні для штампа - + Disponible en tant que %filename pour les modèles de cartouches Доступно як %filename в шаблоні для штампа - + Pas de date Без дати - + Date courante Поточна дата - + Appliquer la date actuelle Встановити поточну дату - + Disponible en tant que %date pour les modèles de cartouches Доступно як %date в шаблоні для штампа - + Date fixe : Точна дата: - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17663,66 +20090,67 @@ Les variables suivantes sont utilisables : -%autonum: автоматична нумерація аркушів - + Titre : Призначення: - + Page Num: № аркуша: - + Disponible en tant que %indexrev pour les modèles de cartouches Доступно як %indexrev в шаблоні для штампа - + Installation : Установка: - + Localisation: Роташування: - + Personnalisées Користувача - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. Ви можете задавати тут свої власні комбінації імені / значення для використання в штампі. Наприклад: им'я "volta" із значенням "1745" буде замінять рядок %{volta} числом 1745 всередині штампа. - + Éditer ce modèle menu entry Редагувати шаблон - + Dupliquer et éditer ce modèle menu entry Дублювати та редагувати цю модель - + Title block templates actions Дії над шаблонами штампів - - + + + Créer un Folio Numérotation Auto Створити автонумерацію аркушів - + Modèle par défaut Шаблон по замовчуванню @@ -17730,13 +20158,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18234,50 +20662,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title - + Borne 1 column title - + Composant 2 column title - + Borne 2 column title - + Folio column title Аркуш - - + + %n conducteur(s) listé(s). wiring list summary @@ -18287,7 +20715,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18300,96 +20728,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur Помилка - + Impossible de lire la structure en mémoire du projet. - + Exporter le plan de câblage - + Fichiers CSV (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. - + Page Wiring list CSV header - + Composant 1 Wiring list CSV header - + Borne 1 Wiring list CSV header - + Composant 2 Wiring list CSV header - + Borne 2 Wiring list CSV header - + Tension / Protocole Wiring list CSV header Напруга / протокол - + Couleur du fil Wiring list CSV header Колір провідника - + Section du fil Wiring list CSV header Переріз провідника - + Fonction Wiring list CSV header - + + Câble + Wiring list CSV header + Кабель + + + Export réussi - + Le plan de câblage a été exporté avec succès ! + + WiringRulesWarning + + + Avertissement + Попередження + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18603,27 +21050,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet Експортувати внутрішню базу даних проєкту - + sans_nom без імені @@ -18631,7 +21078,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color Колір тексту @@ -18639,7 +21086,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity Вставка HTML об'єкту @@ -18647,27 +21094,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text Редагувати текст - + Rich Text Форматований текст - + Source Джерело - + &OK &OK - + &Cancel &Відміна @@ -18675,69 +21122,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras Товстий - - - + + + Éditeur de texte - + Texte en italique Курсив - + Texte souligé Підкреслений - + Left Align По лівому краю - + Center По центру - + Right Align По правому краю - + Justify По ширині - + Superscript Надрядковий - + Subscript Підрядковий - + Insérer un lien Вставка посилання - + Insert &Image Вставка &зображення - + Simplify Rich Text Спростити форматований текст diff --git a/lang/qet_zh.ts b/lang/qet_zh.ts index b2bf460e0..c1e4fea30 100644 --- a/lang/qet_zh.ts +++ b/lang/qet_zh.ts @@ -54,272 +54,272 @@ 日志 - + QElectroTech, une application de réalisation de schémas électriques. about tab, description line QElectroTech,用于创建电气图的应用程序。 - + Les développeurs de QElectroTech about tab, developers line QElectroTech开发人员 - + Contact : <a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> about tab, contact line 联系:<a href="mailto:qet@lists.tuxfamily.org">qet@lists.tuxfamily.org</a> - + Idée originale 原始创意 - - + - - + + + Développement 开发 - + Convertisseur DXF DXF转换 - + Plugin Bornier 端子排插件 - + Collection 汇总 - + Traduction en espagnol 西班牙语翻译 - + Traduction en russe 俄语翻译 - + Traduction en portugais 葡萄牙语翻译 - + Traduction en tchèque 捷克语翻译 - + Traduction en polonais 波兰语翻译 - + Traduction en allemand 德语翻译 - + Traduction en roumain 罗马尼亚语翻译 - + Traduction en italien 意大利语翻译 - + Traduction en arabe 阿拉伯语翻译 - + Traduction en croate 克罗地亚语翻译 - + Traduction en catalan 加泰罗尼亚语翻译 - + Traduction en grec 希腊语翻译 - + Traduction en néerlandais 荷兰语翻译 - + Traduction en flamand 佛兰芒语翻译 - + Traduction en danois 丹麦语翻译 - + Traduction en brézilien 巴西语翻译 - + Traduction en Turc 土耳其语翻译 - + Traduction en hongrois 匈牙利语翻译 - + Traduction en serbe 塞尔维亚语翻译 - + Traduction en japonais 日语翻译 - + Traduction en coréen 韩语翻译 - + Traduction en mongol 蒙古语翻译 - + Paquets Fedora et Red Hat Fedora和Red Hat包 - + Paquets Mageia Mageia包 - + Paquets Debian Debian包 - + Paquets Gentoo Gentoo包 - + Paquets OS/2 OS/2包 - + Paquets FreeBSD FreeBSD包 - + Paquets MAC OS X MAC OS X包 - + Paquets Archlinux AUR Archlinux AUR包 - + Icônes 图标 - + Documentation 文档 - + Collection d'éléments 元件库整合 - + Redimensionneur d'éléments Element scaler 元件缩放 - + Convertisseur d'élément DXF Dxf2elmt DXF-元件转换器 - + Outil de traduction d'éléments Qet_translate 元件翻译工具 - + Paquets Snap Snap包 - + Traduction en ukrainien 乌克兰语翻译 - + Traduction en norvégien 挪威语翻译 - + Traduction en slovène 斯洛文尼亚语翻译 - + Générateur d'élément lambda Lambda element generator Lambda元件生成器 @@ -428,17 +428,17 @@ 配置 - + Contenu 内容 - + Sélectionner la police des en tête du tableau 选择表格的表头字体 - + Sélectionner la police des cellules du tableau 选择表格的单元格字体 @@ -456,6 +456,134 @@ 添加以下端子排: + + AiAssistantDialog + + + Connecter un assistant IA + + + + + Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, vérifier et modifier vos schémas grâce au serveur MCP de QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte ci-dessous dans la configuration de votre assistant. <a href="%1">Guide détaillé</a> + + + + + <b>Le serveur MCP n'est pas installé avec cette version de QElectroTech.</b> Le guide explique comment l'obtenir. + + + + + <b>Python n'est peut-être pas installé.</b> Seul le raccourci « python » du Microsoft Store a été trouvé : sans Python, il ouvre le Store au lieu de lancer le serveur. + + + + + <b>Python est introuvable sur cet ordinateur</b> (commande « %1 »). Le serveur en a besoin. + + + + + Relancez l'installateur de QElectroTech et cochez « Python pour l'assistant IA », ou installez Python depuis python.org. + + + + + Installez Python 3 avec le gestionnaire de paquets de votre système. + + + + + Assistant : + + + + + Le dossier de vos schémas + + + + + Parcourir… + + + + + Dossier accessible : + + + + + Autoriser l'assistant à modifier les schémas + + + + + L'assistant ne peut lire et écrire que dans ce dossier. Sans modification autorisée, il peut seulement lire, comparer et exporter. Un assistant lit le texte des projets (repères, notes…) : un texte écrit comme une instruction peut l'influencer. Laissez les modifications désactivées pour les schémas reçus d'autres personnes. + + + + + Copier + + + + + Si le fichier contient déjà d'autres serveurs, ajoutez seulement l'entrée « qet ». + + + + + Choisissez d'abord le dossier de vos schémas. + + + + + Dossier accessible à l'assistant + + + + + Copié + + + + + Dans Claude Desktop : Paramètres → Développeur → Modifier la configuration. Puis quittez et relancez Claude. + + + + + Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas. + + + + + Enregistrez-le sous le nom .vscode/mcp.json dans le dossier ouvert dans VS Code. Copilot utilise les outils en mode agent. + + + + + Ajoutez-le au fichier .cursor/mcp.json de votre dossier personnel. + + + + + Ajoutez-le au fichier .gemini/settings.json de votre dossier personnel. Gemini CLI demande de faire confiance au dossier la première fois. + + + + + Ajoutez-le au fichier .codex/config.toml de votre dossier personnel. + + + + + Dans LM Studio : onglet Program → Install → Edit mcp.json. + + + AlignmentTextDialog @@ -497,6 +625,39 @@ 角度: + + AutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Créer la numérotation %1 + + + + + Renommer la numérotation %1 en %2 + + + + + Modifier la numérotation %1 + + + + + Supprimer la numérotation %1 + + + AutoNumberingDockWidget @@ -521,49 +682,49 @@ - - + + Réinitialiser à la valeur de départ 重置为初始值 - - - + + + Valeur actuelle du compteur. Saisir une nouvelle valeur et valider pour la modifier. 计数器当前值。输入新值并确认以修改。 - - - + + + Incrément : valeur ajoutée au compteur à chaque nouvelle numérotation 增量:每次新编号时加到计数器上的值 - - - + + + Prochaine valeur qui sera appliquée avec cet incrément 使用此增量将应用的下一个值 - + Element 元件 - + Conducteur 导线 - + Configurer les règles d'auto numérotation 配置自动编号规则 - + Configurer 配置 @@ -573,10 +734,84 @@ 图页 - + + + Appliquer cette numérotation aux éléments sélectionnés + + + + + Appliquer la numérotation + + + + + Choisissez une numérotation d'éléments du projet. + + + + + Sélectionnez d'abord des éléments dans le folio. + + + + + (figé) + + + + + (autre numérotation) + + + + + Rien à appliquer : les éléments sélectionnés suivent déjà la numérotation « %1 », ou prennent leur nom d'un autre élément. + + + + + %n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios et des positions. + + + + + + + Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer ce qu'il a. + + + + + Remplacer aussi les %n élément(s) laissés comme ils sont + + + + + + + %n élément(s) numérotés. + + + + + + + %n élément(s) sélectionnés sont restés comme ils sont. + + + + + + Autonumérotation 自动编号 + + + Sélectionnez d'abord des éléments dans le folio + + AutoNumberingManagementW @@ -678,28 +913,74 @@ 已有的 - + Under Development 开发中 - + Installing 安装中 - + Built 已建造 - + + + + + Renuméroter les éléments + + + + + Renuméroter les éléments (%1) + + + + + Aucun élément ne suit cette numérotation. + + + + + Les %n élément(s) qui suivent cette numérotation ont un nom figé : rien n'est renuméroté. + + + + + + + %n élément(s) vont être renumérotés, à partir du premier numéro, dans l'ordre des folios et des positions. + + + + + + + %n élément(s) renumérotés, dont %1 avec un nouveau nom. + + + + + + + %n élément(s) au nom figé n'ont pas été touchés, et leur numéro n'a pas été redonné. + + + + + + Auto Numbering Management title window 自动编号管理 - + In this Menu you can set whether you want the Auto Numberings to be updated or not. For Element Auto Numbering you have 4 options of Update Policy: -Both: both New and Existent Element labels will be updated. This is the default option. -Update Only New: only new created Elements will be updated. Existent Element labels will be frozen. @@ -742,55 +1023,55 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 预览 - + nomenclature_ 物料清单- - + Enregister sous... 另存为... - + Fichiers csv (*.csv) csv文件(*.csv) - - + + Erreur 错误 - + Impossible d'enregistrer la nomenclature dans %1. %2 - + Position 分区 - + Position du folio 图页序号 - + Quantité numéro d'article Special field with name : designation quantity 器件数量和编号 - + Requête refusée - + Erreur dans la requête : %1 @@ -823,6 +1104,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 否 + + BackupRestoreDialog + + + Fichiers de restauration + window title + + + + + <b>Des fichiers de restauration ont été trouvés,<br>voulez-vous les ouvrir ?</b><br>Pour un projet ayant plusieurs versions de restauration, la plus récente est sélectionnée par défaut. + dialog message + + + + + %1 (la plus récente) + recovery generation label + + + BorderPropertiesWidget @@ -869,7 +1171,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ClickableImageLabel - + Cliquez pour choisir une couleur @@ -900,8 +1202,8 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 添加变量: - - + + Entrée votre texte composé ici, en vous aidant des variables disponible 使用可用变量在此处编辑您的格式化文本 @@ -909,13 +1211,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Conductor - + Modifier les propriétés d'un conducteur undo caption 编辑导线属性 - + Modifier les propriétés de plusieurs conducteurs undo caption 编辑多根导线的属性 @@ -924,73 +1226,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorColorToolButton - + Noir 黑色 - + Marron 棕色 - + Gris 灰色 - + Bleu 蓝色 - + Vert 绿色 - + Rouge 红色 - + Orange 橙色 - + Violet 紫色 - + Blanc 白色 - + Couleur de conducteur - + Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés status bar tip - + Récemment utilisées - + Autre couleur… - + Modifier la couleur de %n conducteur(s) undo caption @@ -998,7 +1300,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Choisir une couleur de conducteur @@ -1016,13 +1318,13 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 将属性应用于该电势的导线组 - + Modifier les propriétés d'un conducteur undo caption 修改导线属性 - + Modifier les propriétés de plusieurs conducteurs undo caption 修改多根导线的属性 @@ -1031,24 +1333,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ConductorPropertiesEditorWidget - + Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel 将属性应用于该电势的导线组 + + + %n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués. + selection properties panel + + + + - + Modifier les propriétés d'un conducteur undo caption - + Modifier les propriétés de plusieurs conducteurs undo caption - + Conducteur 导线 @@ -1067,6 +1377,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte 文本 @@ -1077,6 +1388,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol + Texte visible 文字可见 @@ -1117,7 +1429,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 多相(&M) - + Formule du texte : 文本公式: @@ -1137,80 +1449,80 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 导线截面积 - + cable 线缆 - + bus 总线 - - + + Unifilaire 单相(&U) - - + + Nombre de phase 相数 - + Neutre 中性线 - + neutre 中性线 - + Phase 相线 - + phase 相线 - + Protective Earth Neutral 保护接地中性线 - + PEN PEN - + Terre 地线 - + terre 地线 - + TextLabel 文本标签 - + Taille : 线宽: - - + + Style du conducteur 导线样式 @@ -1245,56 +1557,73 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 导线文本的位置和旋转: - + Couleur secondaire : 次要颜色: - + px px - + Taille de trait : 色长: - + Couleur du conducteur 导线颜色 - + Apparence 外观 - - + + Couleur : 颜色: - + Style : 样式: - + + Plusieurs valeurs + several conductors, different values + + + + + Plusieurs conducteurs sélectionnés : le texte se modifie sur un seul conducteur à la fois. + + + + + Texte visible +Verrouillé par l'option « Afficher un texte de potentiel par folio » de ce folio, dans Propriétés du folio. + + + + Trait plein conductor style: solid line 实线 - + Trait en pointillés conductor style: dashed line 短划线 - + Traits et points conductor style: dashed and dotted line 点划线 @@ -1316,128 +1645,151 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol ContactGroupSelectionDialog - + Sélectionner un groupe de contacts 选择触点组 - + Sélectionnez le groupe de contacts à assigner à cet élément esclave : 请选择要分配给此从属元件的触点组: - + # # - + Type 类型 - + Sous-type 子类型 - + Contacts 触点 - + Bornes 端子 - - + + T%1 T%1 - + (déjà assigné) (已分配) - + (état ne correspond pas) (状态不匹配) - + (sous-type ne correspond pas) (子类型不匹配) - + (nombre de contacts ne correspond pas) (触点数量不匹配) - + OK 确定 - + Annuler 取消 - + Normalement ouvert 常开 - + Normalement fermé 常闭 - + Inverseur 转换触点 - + Autre 其他 - - + + Inconnu 未知 - + Simple 普通 - + Puissance 功率 - + Temporisé travail 延时接通 - + Temporisé repos 延时断开 - + Temporisé travail & repos 延时开关 + + CounterWarning + + + Compteur de la numérotation + + + + + Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » ont déjà un numéro égal ou supérieur (jusqu'à %3). + + + + + + + +Les nouveaux éléments sauteront les numéros déjà pris : ils ne recevront pas forcément les numéros à partir de %1. + +Continuer ? + + + CustomElementGraphicPart @@ -1467,27 +1819,27 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagnosticsReportDialog - + Enregistrer... 保存... - + Enregistrer le rapport de diagnostic 保存诊断报告 - + Fichiers texte (*.txt);;Tous les fichiers (*) 文本文件 (*.txt);;所有文件 (*) - + Erreur 错误 - + Impossible d'écrire dans le fichier « %1 ». 无法写入文件“%1”。 @@ -1495,7 +1847,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Diagram - + Modifier la profondeur 修改图层 @@ -1635,7 +1987,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddPaste - + Cliquez pour poser le collage, Échap ou clic droit pour annuler status bar tip while positioning a paste @@ -1652,262 +2004,330 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramEventAddShape - + Clic gauche : positionner le point de départ (Ctrl = position libre) - + + Clic gauche : positionner une extrémité de l'arc (Ctrl = position libre) + + + + Clic gauche : positionner le premier coin (Ctrl = point central, position libre) - + Clic gauche : positionner le premier point (Ctrl = position libre) - + Clic gauche : positionner le point final (Ctrl = position libre) ; clic droit : annuler - + Clic gauche : positionner le coin opposé (Maj = carré, Ctrl = depuis le centre + position libre, Ctrl+Maj = carré centré) ; clic droit : annuler - + + Clic gauche : positionner l'autre extrémité et la hauteur de l'arc (Maj = demi-cercle, Ctrl = position libre) ; clic droit : annuler + + + + Clic gauche : positionner le coin opposé (Maj = cercle, Ctrl = depuis le centre + position libre, Ctrl+Maj = cercle centré) ; clic droit : annuler - + Clic gauche : point suivant ; double-clic ou Entrée : terminer ; clic droit : annuler le dernier point + + DiagramEventFillet + + + Aucune ligne ici : cliquez sur une ligne dessinée sur le folio + + + + + Cliquez sur la deuxième ligne ; clic droit : annuler + + + + + Cliquez sur une autre ligne ; clic droit : annuler + + + + + Ces deux lignes sont parallèles : pas de congé possible + + + + + Une des lignes s'arrête au coin : rien à arrondir de ce côté + + + + + Ces deux lignes sont presque alignées : pas de congé possible + + + + + Congé + + + + + Rayon : + + + + + Rayon trop grand pour ces lignes (%1 au plus) + + + + + Ajouter un congé + + + + + Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; Échap ou clic droit : terminer + + + DiagramImageItem - + redimensionner - + pivoter/incliner - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = conserver les proportions) - + Glisser un coin : pivoter (Maj = par pas de 15°) ; glisser un bord : incliner (Maj = par pas de 15°) ; point rouge : déplacer le centre de rotation - + -- %1 : mode %2 - + Cliquer - + Glisser : redimensionner (Maj = conserver les proportions, Ctrl = depuis le centre) - + Glisser : pivoter (Maj = par pas de 15°) - + Glisser : incliner (Maj = par pas de 15°) - + Glisser : déplacer le centre de rotation - + Redimensionner une image - + Faire pivoter une image - + Incliner une image - + Déplacer le centre de rotation d'une image - + Modifier une image - + Restaurer les proportions d'une image - - + + Enregistrer l'image sous... - - + + Enregistrer l'image d'origine sous... - + Image PNG (*.png) - + Image JPEG (*.jpg *.jpeg) - + Image BMP (*.bmp) - + Image SVG (*.svg) SVG 图像 (*.svg) - + Tous les fichiers (*) - + Transparence non conservée - + Ce format ne prend pas en charge la transparence : l'image sera enregistrée telle qu'elle était avant l'application de la couleur transparente. Continuer ? - + Échec de l'enregistrement - + Impossible d'enregistrer l'image à cet emplacement. - + une image 图片 - + Remplacer l'image... - + Couleur transparente... - + Rogner... - + Miroir horizontal - + Miroir vertical - + Restaurer les proportions - + Selectionner une image... 选择图片... - + Image Files (*.png *.jpg *.jpeg *.bmp *.svg) - + Erreur 错误 - + Impossible de charger l'image. 无法加载图片。 - + Remplacer une image - + Miroir horizontal d'une image - + Miroir vertical d'une image - + Définir une couleur transparente - + Rogner une image @@ -1915,7 +2335,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramPropertiesDialog - + Propriétés du folio window title 图页属性 @@ -1924,12 +2344,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramTextItem - + Maintenir ctrl pour un déplacement libre 按住ctrl自由移动 - + <Shift> to move 按住Shift移动 @@ -1938,78 +2358,84 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DiagramView - + Ceci est la zone dans laquelle vous concevez vos schémas en y ajoutant des éléments et en posant des conducteurs entre leurs bornes. Il est également possible d'ajouter des textes indépendants. "What's this?" tip 在此区域您可以通过向图页添加元件并在它们的端子之间添加导线来设计原理图。您也可以添加独立的文本。 - + Coller ici context menu action 粘贴到此处 - + Collage multiple 多重复制 - + Créer un template context menu action 创建一个模板 - + + Générer une vignette d'armoire + context menu action + + + + Renvoi de folio - + X: %1 Y: %2 X:%1 Y:%2 - + Connecter les bornes sélectionnées 连接选定端子 - + Sans titre what to display for untitled diagrams 无标题 - + Modèle enregistré 模板已注册 - + Le modèle a été enregistré avec succès sous : %1 该模板已成功保存为: %1 - + Erreur 错误 - + Le fichier n'a pas pu être écrit. 该文件无法写入。 - + Choisir la nouvelle couleur de ce conducteur 为该导线选取新颜色 - + Modifier les propriétés d'un conducteur undo caption 编辑导线属性 @@ -2028,7 +2454,7 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 标题 - + TextLabel 文本标签 @@ -2036,42 +2462,42 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DuplicateOffsetDialog - + Dupliquer - + pas de grille - + Espacement : - + Haut 上 - + Bas 下 - + Gauche 左 - + Droite 右 - + Direction : @@ -2079,17 +2505,17 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicElementTextItem - + Texte 文本 - + Éditer un texte d'élément 编辑元件文本 - + Redimensionner un texte d'élément @@ -2108,30 +2534,30 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - - - - + + + + ... ... - + Importer une configuration de texte 导入文本配置 - + Ajouter un texte 添加文本 - + Ajouter un groupe de textes 添加文本组 - + Supprimer la sélection 删除选择 @@ -2303,21 +2729,21 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol - + Gauche 左 - + Droite 右 - + Centre 居中 @@ -2456,64 +2882,64 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol 旋转 - - + + Déplacer un champ texte 移动文本框 - + Pivoter un champ texte 旋转文本框 - + Modifier le texte d'un champ texte 在文本框中编辑文本 - - + + Modifier la police d'un champ texte 修改文本框的字体 - + Modifier la couleur d'un champ texte 修改文本框的颜色 - + Modifier la conservation de l'angle 修改角度保持 - + Modifier le point de rotation d'un champ texte 修改文本字段的旋转点 - + Modifier le cadre d'un champ texte 修改文本框的边框 - + Modifier la largeur d'un texte 修改文本框的宽度 - + Modifier l'information d'un texte 编辑文字信息 - + Modifier la source de texte, d'un texte 修改文本的来源 - + Modifier l'alignement d'un champ texte 修改文本的对齐方式 @@ -2521,32 +2947,32 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol DynamicTextItemDelegate - + Texte utilisateur 用户文本 - + Information de l'élément 元件信息 - + Texte composé 格式化文本 - + Gauche 左 - + Centre 居中 - + Droite 右 @@ -2554,12 +2980,12 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol EditorDelegate - + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2600,121 +3026,194 @@ Note: These options DO NOT allow or block Auto Numberings, only their Update Pol Element - + Numéroter automatiquement un élément undo caption 自动为元件编号 + + ElementAutoNumSchemeCommand + + + Le nom de la numérotation ne peut pas être vide. + + + + + Une numérotation nommée « %1 » existe déjà. + + + + + Cet élément n'est dans aucun folio. + + + + + Cet élément ne suit aucune numérotation. + + + + + La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main. + + + + + Le numéro doit être au moins 1. + + + + + Le numéro %1 n'est pas libre. + + + + + Attribuer le numéro %1 + + + + + Appliquer la numérotation %1 + + + + + Numéroter les éléments collés (%1) + + + + + Créer la numérotation d'éléments %1 + + + + + Renommer la numérotation d'éléments %1 en %2 + + + + + Modifier la numérotation d'éléments %1 + + + + + Supprimer la numérotation d'éléments %1 + + + ElementDialog - + Ouvrir un élément dialog title 打开一个元件 - + Choisissez l'élément que vous souhaitez ouvrir. dialog content 选择要打开的元件。 - + Enregistrer un élément dialog title 保存元件 - + Choisissez l'élément dans lequel vous souhaitez enregistrer votre définition. dialog content 选择元件保存的分类。 - + Ouvrir une catégorie dialog title 打开一个分类 - - + + Choisissez une catégorie. dialog content 选择一个分类。 - + Enregistrer une catégorie dialog title 保存一个分类 - + Enregistrer un template dialog title 保存为模板 - + Choisissez l'emplacement dans lequel vous souhaitez enregistrer votre template. dialog content 选择模板保存的位置 - + Titre 标题 - + Label 标签 - + Nom du nouveau dossier 新建文件夹的名称 - + Nom du nouveau template 新建模板的名称 - + Écraser le template ? message box title 覆盖这个模板? - + Le template existe déjà. Voulez-vous l'écraser ? message box content 这个模板已经存在。你想覆盖它吗? - + Vous devez sélectionner un élément ou une catégorie avec un nom pour l'élément. message box content 您必须为该元件选择一个元件或带有名称的分类。 - + Sélection inexistante message box title 不存在的选择 - + Nom de fichier de l'élément placeholder: the element's file name, not its display name 元件文件名 - + Nom de fichier de l'élément : chiffres, minuscules, « - », « _ » et « . » uniquement. Le nom affiché de l'élément se modifie séparément dans les propriétés de l'élément. tooltip for the element file-name field @@ -2722,32 +3221,32 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 元件显示名称可在元件属性中单独修改。 - + La sélection n'existe pas. message box content 选择不存在。 - - + + Sélection incorrecte message box title 错误的选择 - + La sélection n'est pas un élément. message box content 选择对象不是元件。 - + Écraser l'élément ? message box title 覆盖元件? - + L'élément existe déjà. Voulez-vous l'écraser ? message box content 该元件已经存在。 你想覆盖它吗? @@ -2771,12 +3270,18 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 删除这段文字 - + + Choisir un article dans la liste de matériaux + tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry + + + + ex. 80.5 - + Nombre décimal avec un point comme séparateur (ex. 80.5) @@ -2794,104 +3299,214 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 排除于自动编号 - + Informations 信息 - + Ajouter une propriété personnalisée 添加自定义属性 - + Séparation de potentiel 电位隔离 - + Exclure de la nomenclature 排除于物料清单 + + + Liste de matériaux absente + + + + + Aucun fichier de liste de matériaux n'existe à cet emplacement : +%1 + +Le créer ? + message asking to create the material file + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + + Numérotation automatique + + + + + … + + + + + Ouvrir les numérotations d'éléments du projet + + + + + Figer le nom + + + + + Un nom figé n'est pas changé par la numérotation automatique, et son numéro n'est pas donné à un autre élément. + + + + + Numéro + + + + + + Seuls les numéros libres sont proposés : un élément qui doit garder son numéro réel peut le retrouver si personne ne l'a. + + + + + %1 (actuel) + + + + + — (numéro inconnu) + + + + + %1 → %2 + + + + + Le nom est figé : dégelez-le pour changer son numéro. + + + + + Le numéro se choisit quand l'élément garde sa numérotation. + + + + + Aucune (nom saisi à la main) + + + + + Formule propre : %1 + + + + + Nom figé + + + + + Le nom de cet élément est figé. +Changer sa numérotation le remplacera ou l'effacera. + +Continuer ? + + ElementPickerPopup - - + + Personnaliser la barre… - + Glissez les commandes et les éléments dans la barre, hors de la barre, ou d'une place à l'autre. Un double-clic fait passer une commande ou un élément d'une liste à l'autre. - - + + Rechercher un élément… - + Éléments : - + Valeurs par défaut - + Annuler - + Terminé - + Dans la barre : - + Autres commandes : - - - + + + Entrée pour insérer · Échap pour fermer - + Glisser pour changer la largeur de la barre - + Personnaliser la barre de raccourcis : %1 - + Aucun résultat - + Tapez pour rechercher un élément · Échap pour fermer - + Palette vide — glissez des éléments dans votre collection personnelle, ou tapez pour rechercher @@ -2907,8 +3522,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Type 类型 @@ -2991,8 +3606,8 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - - + + Fonction 功能 @@ -3022,302 +3637,302 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 值 - - - + + + Simple 简单 - + Maître 主 - + Esclave 从 - + Renvoi de folio suivant 跳转到下一个图页 - + Renvoi de folio précédent 跳转到上一个图页 - + Bornier 接线端子 - + Vignette 缩略图 - + Définition de conducteur 导线定义 - - + + Normalement ouvert NO - - + + Normalement fermé NC - - + + Inverseur NO/NC - + Other 其他 - + Esclave PLC PLC 从站 - - + + Puissance 功率 - - + + Temporisé travail 延时接通 - - + + Temporisé repos 延时断开 - - + + Temporisé travail & repos 延时开关 - + Bobine 线圈 - + Organe de protection 保护装置 - + Commutateur / bouton 开关/按钮 - + Module PLC PLC 模块 - - + + Générique 通用 - + Fusible 熔断器 - + Séctionnable 电气隔离装置 - + Diode 二极管 - + Phase 相线 - + Neutre 中性线 - - - - - + + + + + T%1 T%1 - + Autre 其他 - + Configuration PLC PLC 配置 - + + + - + - - - - + + Adresse 地址 - - + + Commentaire 注释 - + Réf. croisée 交叉引用 - - + + Nb. 数量 - + T1 T1 - + Police des en-têtes 表头字体 - + Configurer la police des en-têtes de colonnes 配置列表头字体 - + Police du texte 文本字体 - + Configurer la police du texte dans les cellules 配置单元格中文本字体 - + Afficher les en-têtes sur la feuille 在页面上显示表头 - + Afficher ou masquer les en-têtes de colonnes du tableau PLC sur la feuille 在页面上显示或隐藏 PLC 表格列标题 - + Saut %1 après: 在 %1 后换行: - + Aucun 无 - + H. ligne: 行高: - - + + mm 毫米 - + Réf. 参考 - + Nom personnalisé de la colonne (vide = par défaut) 列自定义名称(留空 = 默认) - + Visible 可见 - + Coller depuis le presse-papiers 从剪贴板粘贴 - - + + Police des en-têtes: %1 %2pt 表头字体:%1 %2pt - - + + Police du texte: %1 %2pt 文本字体:%1 %2pt - + Police des en-têtes de colonnes 列标题字体 - + Police du texte des cellules 单元格文本字体 - + Terre 大地 @@ -3331,7 +3946,7 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - Élement + Élément 元件 @@ -3470,249 +4085,249 @@ Le nom affiché de l'élément se modifie séparément dans les propriété 上移选择 - + Ajouter la sélection 添加选择 - + Supprimer la sélection 删除选择 - + Descendre la sélection 下移选择 - + Pas de filtre 无筛选 - + N'est pas vide 非空 - + Est vide 为空 - + Contient 包含 - + Ne contient pas 不包含 - + Est égal à 等于 - + N'est pas égale à 不等于 - + Filtre : 筛选: - + Type d'éléments 元件类型 - + Simples 简单 - + Tous 全部 - + Vignettes 缩略图 - + Contacteurs et relais 接触器和继电器 - + Boutons et commutateurs 按钮和开关 - + Borniers 接线端子 - + Organes de protection 安全装置 - + Automates (MAE/SPS) PLC(MAE/SPS) - + Configuration 配置 - + Ouvrir la configuration sélectionné 启用选择的配置 - + Sauvegarder la configuration actuelle 保存当前配置 - + Importer des rapports depuis un fichier - + Importer... - + Exporter tous les rapports enregistrés vers un fichier - + Exporter... - + Requête SQL personnalisée 自定义 SQL 查询 - + Requête SQL : SQL查询: - + Position 分区 - + Titre du folio 图页标题 - + Position du folio 图页序号 - + Numéro du folio 图页编号 - - + + Exporter 导出 - - + + Aucun rapport enregistré à exporter. - + Exporter les rapports - - + + Fichiers JSON (*.json) - - - - + + + + Erreur 错误 - + Impossible d'écrire dans %1. - + Importer des rapports - + Impossible de lire %1. - + %1 ne contient pas des rapports QElectroTech valides. - - + + Importer 导入 - + Ce fichier ne contient aucun rapport. - + Rapport déjà existant - + Un rapport nommé « %1 » existe déjà. Le remplacer ? - + Impossible d'écrire la configuration locale. - + %1 rapport(s) importé(s), %2 ignoré(s). @@ -3720,29 +4335,29 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementScene - + Déplacer une primitive 移动图元 - + Éditer les informations sur l'auteur window title 编辑作者信息 - + Vous pouvez utiliser ce champ libre pour mentionner les auteurs de l'élément, sa licence, ou tout autre renseignement que vous jugerez utile. 您可以使用此空白区域来介绍元件的作者、许可协议或您认为有用的任何信息。 - + Éditer les noms window title 编辑名称 - + Vous pouvez spécifier le nom de l'élément dans plusieurs langues. 您可以指定元件不同语言的名称。 @@ -3750,101 +4365,101 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCategoryEditor - + L'item n'est pas une catégorie message box title 对象不是一个分类 - + L'item demandé n'est pas une categrie. Abandon. message box content 访问的对象不是分类,中止。 - + Catégorie inexistante message box title 不存在的分类 - + La catégorie demandée n'existe pas. Abandon. message box content 访问的分类不存在,中止。 - + Éditer une catégorie window title 编辑分类 - + Créer une nouvelle catégorie window title 创建新分类 - + Nom de la nouvelle catégorie default name when creating a new category 新建分类 - + Édition en lecture seule message box title 只读编辑 - + Vous n'avez pas les privilèges nécessaires pour modifier cette catégorie. Elle sera donc ouverte en lecture seule. message box content 您没有修改此分类的必要权限。 因此它将以只读模式打开。 - + Nom interne : 内部名称: - + Vous pouvez spécifier un nom par langue pour la catégorie. 您可以为分类指定各种语言的翻译。 - + Nom interne manquant message box title 缺少内部名称 - + Vous devez spécifier un nom interne. message box content 您必须指定一个内部名称。 - + Nom interne déjà utilisé message box title 内部名称已被使用 - + Le nom interne que vous avez choisi est déjà utilisé par une catégorie existante. Veuillez en choisir un autre. message box content 您选择的内部名称已被现有分类使用。 请选择另一个。 - + Erreur message box title 错误 - + Impossible de créer la catégorie message box content 无法创建分类 @@ -3853,73 +4468,73 @@ Le nom affiché de l'élément se modifie séparément dans les propriété ElementsCollectionWidget - + Ouvrir le dossier correspondant 打开对应文件夹 - + Éditer l'élément 编辑元件 - + Supprimer l'élément 删除元件 - + Supprimer le dossier 删除文件夹 - + Recharger les collections 重新加载库 - + Éditer le dossier 编辑文件夹 - + Nouveau dossier 新建文件夹 - + Nouvel élément 新建元件 - + Importer une pièce EPLAN (.edz)… 导入 EPLAN 部件(.edz)… - + Afficher uniquement ce dossier 只显示此文件夹 - + Afficher tous les dossiers 显示所有文件夹 - + Propriété du dossier 文件夹属性 - + Supprimer l'élément ? message box title 删除元件? - + Êtes-vous sûr de vouloir supprimer cet élément ? message box content @@ -3927,25 +4542,25 @@ Le nom affiché de l'élément se modifie séparément dans les propriété - + Suppression de l'élément message box title 删除元件 - + La suppression de l'élément a échoué. message box content 无法删除元件。 - + Supprimer le dossier? message box title 删除文件夹? - + Êtes-vous sûr de vouloir supprimer le dossier ? Tout les éléments et les dossier contenus dans ce dossier seront supprimés. message box content @@ -3953,24 +4568,24 @@ Tout les éléments et les dossier contenus dans ce dossier seront supprimés. - + Suppression du dossier message box title 文件夹删除 - + La suppression du dossier a échoué. message box content 文件夹删除失败。 - + Avertissement — Importation d'un fichier EPLAN (.edz) 警告 — 导入 EPLAN 文件(.edz) - + Le format .edz peut provenir de deux sources différentes : • Le portail EPLAN Data Portal (dataportal.eplan.com), soumis aux conditions d'utilisation de l'environnement EPLAN Cloud ; @@ -3997,83 +4612,83 @@ QElectroTech 无法自动判断您导入文件的来源,也无法判断适用 • 对于不合规使用这些数据的行为,QElectroTech 及其维护者和贡献者概不负责。 - + J'ai lu et j'accepte ces conditions. 我已阅读并接受这些条款。 - + Importer 导入 - + Importer une pièce EPLAN 导入 EPLAN 部件 - + Pièces EPLAN (*.edz) EPLAN 部件 (*.edz) - + Import EPLAN EPLAN 导入 - + Impossible d'importer cette pièce : %1 无法导入该部件: %1 - + Le dossier %1 contient 文件夹 %1 包含 - + %n élément(s), répartie(s) %n 个元件,分布 - + dans %n dossier(s). 在 %n 个文件夹中。 - + Chemin de la collection : %1 库路径:%1 - + Chemin dans le système de fichiers : %1 文件系统中的路径:%1 - + Rechercher... 搜索... - + Collections 库 - + Modèles 模块 - + Propriété du dossier %1 文件夹 %1 的属性 @@ -4143,124 +4758,124 @@ QElectroTech 无法自动判断您导入文件的来源,也无法判断适用 ElementsPanelWidget - + Ouvrir le dossier correspondant 打开对应文件夹 - + Copier le chemin 复制路径 - + Basculer vers ce projet 切换到该工程 - + Fermer ce projet 关闭该工程 - + Propriétés du projet 工程属性 - + Propriétés du folio 图页属性 - + Ajouter un folio 添加图页 - + Insérer un folio au-dessus 在上方插入图纸 - + Insérer un folio en dessous 在下方插入图纸 - + Copier et coller 复制并粘贴 - + Supprimer ce folio 删除此图页 - + Remonter ce folio 上移此图页 - + Abaisser ce folio 下移此图页 - + Remonter ce folio x10 上移此图页 x10 - + Remonter ce folio x100 上移此图页 x100 - + Remonter ce folio au debut 移动到首页 - + Abaisser ce folio x10 下移此图页 x10 - + Abaisser ce folio x100 下移此图页 x100 - + Nouveau modèle 新建模版 - + Éditer ce modèle 编辑此模板 - + Supprimer ce modèle 删除此模板 - - + + Panneau des éléments 元件面板 - + Filtrer 筛选 @@ -4306,7 +4921,7 @@ QElectroTech 无法自动判断您导入文件的来源,也无法判断适用 ExportConfigPage - + Export configuration page title 导出 @@ -4315,102 +4930,102 @@ QElectroTech 无法自动判断您导入文件的来源,也无法判断适用 ExportDialog - + Exporter les folios du projet window title 导出工程图 - + Exporter 导出 - + Choisissez les folios que vous désirez exporter ainsi que leurs dimensions : 选择要导出的图页及其尺寸: - + Tout cocher 全选 - + Tout décocher 取消全选 - + Titre du folio 图页标题 - + Nom de fichier 文件名 - + Dimensions 尺寸 - + Noms des fichiers cibles message box title 目标文件名 - + Vous devez entrer un nom de fichier non vide et unique pour chaque folio à exporter. message box content 您必须为每个要导出的图页输入一个非空且唯一的文件名。 - + Dossier non spécifié message box title 未指定文件夹 - + Vous devez spécifier le chemin du dossier dans lequel seront enregistrés les fichiers images. message box content 您必须指定保存图像文件的文件夹路径。 - + Images non incluses dans l'export DXF message box title - + Le format DXF utilisé ici (AC1006) ne permet pas d'inclure d'image. Les images seront représentées uniquement par un rectangle de contour (position, taille, rotation et inclinaison conservées), sans le contenu de l'image. message box content - + Impossible d'écrire dans ce fichier message box title 无法写入此文件 - + Il semblerait que vous n'ayez pas les permissions nécessaires pour écrire dans le fichier %1. message box content 您似乎没有写入文件 %1 的权限。 - + Aperçu 预览 - - + + px px @@ -4692,63 +5307,73 @@ that you create. Text and number inputs are 应用移位 - - + + Générique 通用 - + Fusible 熔断器 - + Sectionnable 电气隔离装置 - + Diode 二极管 - + Terre 大地 - + Phase 相线 - + Neutre 中性线 - + Sans 不带 - + Avec 带 - + Modifier des propriétés de borniers 编辑端子排属性 - + + Le projet n'a aucun bornier : créez-en un avec le bouton + + + + + Appliquez ou annulez les modifications en cours avant de déplacer - + + Sélectionnez dans le tableau les bornes à déplacer + + + + Déplacer les bornes sélectionnées vers le bornier choisi @@ -4756,27 +5381,27 @@ that you create. Text and number inputs are FreeTerminalModel - + Label 标签 - + Référence croisé 交叉引用 - + Type 类型 - + Fonction 功能 - + led LED @@ -4794,23 +5419,23 @@ that you create. Text and number inputs are 使用系统颜色 - + Projets 工程 - + Utiliser les numéros de folio à la place de leur position dans le projet 使用图页编号而不是它们在工程中的位置 - + Numéroter les colonnes de cartouche à partir de 0 (1 sinon) Choix de l'increment de depart 1 ou 0 从 0 开始对标题栏列进行编号(否则为 1) - + Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech) 自动保存工程(适用于下次启动 QElectroTech) @@ -4820,7 +5445,7 @@ that you create. Text and number inputs are 使用触摸板手势 - + Ne pas conserver les labels des éléments lors des copier coller 复制粘贴时不保留元件标签 @@ -4835,125 +5460,126 @@ that you create. Text and number inputs are 窗体 - + Chemin de la collection utilisateur 用户库路径 - + Chemin de la collection commune 通用库路径 - - - - - - + + + + + + Par defaut 默认 - - - - - - + + + + + + + Parcourir... 浏览... - + (Recharger les collections d'éléments pour appliquer les changements) (重新加载元件库以应用更改) - + Désactivé 已禁用 - + min minute 分钟 - + Chemin des cartouches utilisateur 用户标题栏路径 - + Collections 库 - + Accès aux collections 访问库 - + Répertoire de la collection commune 内置库目录 - + Répertoire de la collection utilisateur 用户库目录 - + Répertoire des cartouches utilisateur 用户标题栏目录 - + Gestion des éléments 元件管理 - + Mettre en valeur dans le panel les éléments fraîchement intégrés 高亮面板中新集成的元件 - + Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez : 每个元件都包含有关其作者、许可协议或您认为在任何领域有用的任何信息。 您可以在此处为新加入元件指定此处字段的默认值: - + Appliqué au prochain lancement de QElectroTech 适用于下一次启动QElectroTech - + Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech 在这里您可以定义 QElectroTech 不同文本的默认外观 - + Grille + Clavier 网格+键盘 - + Grille : 1 - 30 网格:1 - 30 - + DiagramEditor xGrid 原理图编辑器x网格 - + DiagramEditor yGrid 原理图编辑器y网格 @@ -4968,429 +5594,642 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments - - Afficher la grille par défaut (appliqué au prochain lancement) - 默认显示网格(下次启动生效) - - - - Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets. - - Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + Appliquer les règles de conducteurs par borne des projets - - Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + Nombre maximal de conducteurs par borne : - - Afficher les commandes près de la sélection + + Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + Sans limite + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + + + + + Un seul conducteur par renvoi de folio + + + + + Afficher la grille par défaut (appliqué au prochain lancement) + 默认显示网格(下次启动生效) + + + + Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel. + + + + + Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer + + + + + Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche. + + + + + Afficher les résultats de recherche sous forme de liste triée + + + + + Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne. + + + + + Afficher les commandes près de la sélection + + + + Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton. - + Gestes de la souris avec le bouton droit - + Afficher les guides par défaut (appliqué au prochain lancement) 默认显示参考线(下次启动生效) - + Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech) 使用窗口(&W)(适用于 QElectroTech 的下一次启动) - + Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech) 使用选项卡(&T)(适用于 QElectroTech 的下一次启动) - + Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) : 高像素密度(HDPI)屏幕的缩放方法(适用于 QElectroTech 的下一次启动): - + + Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation + + + + + Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance. + + + + Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run) - + Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine. - + + Autoriser un assistant IA à agir sur le projet ouvert (mode direct) + + + + + Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite. + + + + Répertoire de la collection company 企业库目录 - + + Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml) + tooltip of the button opening the prefix configuration dialog of the user collection + + + + + Configurer les préfixes… + button opening the dialog where the folder prefixes of the user collection are configured + + + + Répertoire des cartouches company 企业标题栏目录 - + Répertoire des Macros utilisateur 用户宏目录 - + + Fichier de la liste de matériaux + + + + + Répertoire de matériaux utilisé pour renseigner les articles d'un élément + tooltip of the material file path field + + + + + Non configuré + hint shown when no material file is configured yet + + + + + Créer le fichier de la liste avec ses en-têtes + tooltip of the button creating the material file with its header line + + + + + Créer... + + + + Langues 语言 - + Textes 文本 - + Textes d'éléments 元件文本 - - - + + + Police : 字体: - - + + ° ° - + Longueur : 长度: - - + + Rotation : 旋转: - + Textes indépendants 独立文本 - + Autres textes 其他文本 - + La Grille doite etre active pour pouvoir voir les modifications. 网格必须处于活动状态才能看到更改。 - + Grille des textes déplacés à la souris - + Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement. - + Déplacement au clavier : 1 - 30 键盘移动:1 - 30 - + DiagramEditor (touche : gauche / droite) xGrid 原理图编辑器(键:左/右)x网格 - + DiagramEditor (touche : haut / bas) yGrid 原理图编辑器(键:上/下)y网格 - + Déplacement au clavier avec la touche ALT : 1 - 9 使用 ALT 键的键盘移动:1 - 9 - + DiagramEditor (touche : gauche / droite ) xGrid 原理图编辑器(键:左/右)x网格 - + DiagramEditor (touche : haut / bas) yGrid 原理图编辑器(键:上/下)y网格 - + Affichage Grille 网格显示 - - + + max: max: - + + À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666). + + + + + Vérifier les noms des bornes à l'enregistrement + + + + Taille des points de la grille de Diagram-Editor : 1 - 5 电路图编辑器的格点大小:1 - 5 - - + + min: min: - + Taille des points de la grille de l'éditeur d'éléments : 1 - 5 元件编辑器的格点大小:1 - 5 - + Editor 编辑 - + Max. parts in Element Editor List 元件编辑器列表的最多部件数量 - + Arrondi supérieur pour 0.5 et plus 0.5 及以上的值向上取整 - + Toujours arrondi supérieur 总是向上取整 - + Toujours arrondi inférieur 总是向下取整 - + Arrondi supérieur pour 0.75 et plus 0.75 及以上的值向上取整 - + Pas d'arrondi 不取整 - + Désactivée - + Activé par la variable d'environnement QET_ENABLE_SCRIPTING ; ce réglage est sans effet tant qu'elle est définie. - + + Non configuré (par défaut : %1) + hint shown in the material file field when no file is configured yet + + + + Général configuration page title 通用 - + Système 系统 - + Arabe 阿拉伯语 - + Brézilien 巴西语 - + Catalan 加泰罗尼亚语 - + Tchèque 捷克语 - + Allemand 德语 - + Danois 丹麦语 - + Grec 希腊语 - + Anglais 英语 - + Espagnol 西班牙语 - + Français 法语 - + Croate 克罗地亚语 - + Italien 意大利语 - + Japonais 日语 - + Coréen 韩语 - + Polonais 波兰语 - + Portugais 葡萄牙语 - + Roumains 罗马尼亚语 - + Russe 俄语 - + Slovène 斯洛文尼亚语 - + Pays-Bas 荷兰语 - + Norvege 挪威语 - + Belgique-Flemish 比利时-佛兰德语 - + Turc 土耳其语 - + Hongrois 匈牙利语 - + Mongol 蒙古语 - + Ukrainien 乌克兰语 - + Chinois 汉语 - + Suédois 瑞典语 - + Chemin de la collection company 企业库路径 - + Chemin des cartouches company 企业标题栏路径 - + Chemin des macros utilisateur 用户宏路径 - + + Répertoire introuvable + + + + + Le répertoire de la collection utilisateur : +%1 +n'existe pas et n'a pas pu être créé. + + + + + Aucun sous-dossier + + + + + La collection utilisateur : +%1 +ne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer. + + + + + Fichier de préfixes illisible + + + + + Fichier de préfixes endommagé + + + + + Le fichier %1 n'est pas un fichier XML valide : +%2 + + + + + Corriger le fichier + + + + + Reconstruire + + + + + Rien n'a encore été modifié. + +« Corriger le fichier » : cette fenêtre se ferme sans rien changer. Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, corrigez-le puis relancez cette commande. + +« Reconstruire » : l'arborescence des dossiers est recréée, mais tous les préfixes actuels sont perdus. Le fichier actuel est conservé sous le nom qet_labels.xml.bak avant d'être remplacé. + + + + + Fichier : %1 + + + + + Sélectionner le fichier de la liste de matériaux + + + + + + Fichiers csv (*.csv) + + + + + Créer le fichier de la liste de matériaux + + + + + Création impossible + + + + + Impossible de créer le fichier : +%1 +%2 + + + + To high values might lead to crashes of the application. 太大的值可能会导致应用程序崩溃 - + Fonctionnalité expérimental 实验性功能 - + AVERTISSEMENT : Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu du projet en fonction de : @@ -5450,7 +6289,7 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu 这是一个标题栏模板,可以应用于图页。 - + %1 [non utilisé dans le projet] %1 [未在工程中使用] @@ -5780,42 +6619,42 @@ Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu ImageTransparentColorDialog - + Couleur transparente - + Image source - + Aperçu 预览 - + rgb(%1, %2, %3) - + Tolérance pour cette couleur - + Retirer cette couleur - + Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer. - + Cliquez sur l'image pour choisir une couleur @@ -6032,28 +6871,28 @@ Veuillez utiliser l'éditeur avancé pour cela. JumpToElementDialog - + Atteindre un élément window title 跳转到元件 - + Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)… - + Case %1 - + Folio %1, case %2 - + Folio %1 (%2), case %3 @@ -6304,6 +7143,95 @@ Veuillez utiliser l'éditeur avancé pour cela. 断开链接 + + LiveServer + + + Mode direct + + + + + Le mode direct est activé : un assistant IA connecté pourra exécuter des scripts sur le projet ouvert. + +Chaque action s'annule d'un Ctrl+Z, et le bouton « Arrêter » de la barre d'état coupe la connexion. + +Ce réglage se trouve dans Configurer QElectroTech > Général > Projets. + + + + + &Continuer + + + + + &Pas pour cette session + + + + + &Désactiver + + + + + + script + + + + + Assistant : %1 + + + + + L'assistant veut exécuter un script + + + + + « %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule. + + + + + &Exécuter + + + + + &Refuser + + + + + &Toujours pour cette session + + + + + MacroRecorder + + + Macro du %1 + + + + + projet fermé pendant l'enregistrement : pas de after.qet + + + + + J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) (identifiant %2, dossier %3). +Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un script qui fait la même chose de façon générale (par exemple sur les éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le comme bouton avec qet_script_install. + + + + + MarginsEditDialog @@ -6345,7 +7273,7 @@ Veuillez utiliser l'éditeur avancé pour cela. <html><head/><body><p>断开与所选对象的链接</p></body></html> - + <html><head/><body><p>Lier l'élément sélectionné</p></body></html> <html><head/><body><p>链接到所选对象</p></body></html> @@ -6455,7 +7383,7 @@ Voulez-vous tout de même lier ce contact esclave ? 端子 - + Coller depuis le presse-papiers 从剪贴板粘贴 @@ -6465,6 +7393,158 @@ Voulez-vous tout de même lier ce contact esclave ? 交叉引用(主) + + MaterialEntryDialog + + + Nouvelle entrée + + + + + Renseignez l'article à ajouter. Les champs laissés vides restent vides dans le fichier. + + + + + Enregistrer + + + + + Annuler + + + + + Aucun renseignement + + + + + Saisissez au moins un renseignement pour créer une entrée. + + + + + MaterialList + + + + Bloc auxiliaire + + + + + Aucun récepteur pour le répertoire de matériaux. + + + + + Le fichier ne contient pas d'en-tête : colonnes manquantes. + + + + + Le fichier existe déjà et n'est pas vide. + + + + + MaterialSelectionDialog + + + Liste de matériaux + + + + + Rechercher : + + + + + Tous les mots saisis doivent apparaître quelque part dans la ligne + placeholder of the search field of the material list; several words narrow the results down (AND) + + + + + Rechercher dans toutes les colonnes + placeholder of the search field of the material list + + + + + Entrées : 0 + + + + + Ajouter un nouvel article à la liste + button adding a new row to the material list file + + + + + Nouvelle entrée + + + + + Appliquer + + + + + Annuler + + + + + Lecture impossible + + + + + Impossible de lire le fichier : +%1 +%2 + + + + + Entrées : %1 + + + + + Entrées : %1 sur %2 + + + + + Aucune sélection + + + + + Sélectionnez d'abord un article dans la liste. + + + + + Écriture impossible + + + + + Impossible d'écrire dans le fichier : +%1 +%2 + + + MultiPasteDialog @@ -6514,10 +7594,15 @@ Voulez-vous tout de même lier ce contact esclave ? 导线自动编号 - + Multi-collage 多重复制 + + + Numéroter les éléments collés + + NameListDialog @@ -6527,7 +7612,7 @@ Voulez-vous tout de même lier ce contact esclave ? 对话框 - + Variables de cartouche 标题栏变量 @@ -6555,7 +7640,7 @@ Voulez-vous tout de même lier ce contact esclave ? 添加行 - + Copier dans le presse papier 复制到剪贴板 @@ -6613,13 +7698,13 @@ Voulez-vous tout de même lier ce contact esclave ? 自动编号 - + Nouveau folio configuration page title 新建图页 - + Nouveau projet configuration page title 新建工程 @@ -6894,13 +7979,13 @@ Voulez-vous tout de même lier ce contact esclave ? PartDynamicTextField - + Champ de texte dynamique element part name 动态文本框 - + Déplacer un champ texte 移动文本框 @@ -6960,57 +8045,74 @@ Voulez-vous tout de même lier ce contact esclave ? PartText - + Déplacer un texte 移动文本 - + Modifier un champ texte 修改文本框 + + PasteNumberingImport + + + Numérotation absente de ce projet + + + + + Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1. + +Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. Sinon ils seront collés sans numérotation. + + + + + PdfPagesDialog - + Sélectionner une page 选择页面 - + Ce document PDF contient %n page(s) 此 PDF 文档包含 %n 页 - + Page à importer : 要导入的页面: - + Résolution : 分辨率: - + 150 DPI (écran) 150 DPI(屏幕) - + 300 DPI (impression) 300 DPI(打印) - + 600 DPI (haute qualité) 600 DPI(高质量) - + Aperçu : 预览: @@ -7116,12 +8218,12 @@ Voulez-vous tout de même lier ce contact esclave ? 闭合多段线 - + Ajouter un point 添加点 - + Supprimer ce point 删除点 @@ -7174,83 +8276,83 @@ Veuillez choisir les propriétées à appliquer au nouveau potentiel. 请选择要应用于新电势的属性。 - - + + %n conducteurs composent le potentiel suivant : %n 条导线构成以下电势: - - - + + + Numéro : %1 编号:%1 - + Veuillez choisir un potentiel électrique de la liste à utiliser pour le nouveau potentiel 请从列表中选择电势 用于新的电势 - - - + + + Fonction : %1 功能:%1 - - - + + + Tension/protocole : %1 电压/协议:%1 - - - + + + Couleur du conducteur : %1 导线颜色:%1 - - - + + + Section du conducteur : %1 导线截面积:%1 - + Ajouter au câble: %1 添加到电缆:%1 - + Ajouter au bus: %1 添加到总线:%1 - + Modifier les propriétés de plusieurs conducteurs undo caption 编辑多条导线的属性 - + La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio. Veuillez saisir une formule compatible pour ce potentiel. Les variables suivantes sont incompatibles : @@ -7261,10 +8363,106 @@ Les variables suivantes sont incompatibles : %sequf_ %seqtf_ %seqhf_ %id %F %M %LM + + PrefixConfigurationDialog + + + Préfixes de la collection utilisateur + title of the dialog configuring the prefixes of the user collection + + + + + Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier. +Un champ vide signifie que le dossier reprend le préfixe de son dossier parent. + + + + + Dossier + column header of the folder tree + + + + + Préfixe + column header of the prefix column + + + + + Tout déplier + + + + + Tout replier + + + + + Entrées sans dossier + + + + + %n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection : +les conserver ou les supprimer ? + + + + + + + Conserver + + + + + Supprimer + 删除 + + + + aucun préfixe : n'hérite pas du parent + placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance + + + + + + hériter du dossier parent + placeholder of an empty prefix field + + + + + Enregistrement impossible + + + + + Le fichier %1 n'a pas pu être enregistré : +%2 + + + + + Fichier endommagé remplacé + + + + + Le fichier %1 était illisible : il a été remplacé. +Sa copie a été conservée sous : +%2 + + + PrintConfigPage - + Impression configuration page title 打印 @@ -7273,155 +8471,345 @@ Les variables suivantes sont incompatibles : ProjectAutoNumConfigPage - + Numérotation auto 自动编号 - - + + Conducteurs 导线 - - - Eléments - 元件 - - - - - Folios - 图页 - - - - Numérotation auto des folios - 图页自动编号 - - - - Importer depuis un autre projet... + + N° - - Reprendre les numérotations automatiques enregistrées dans un autre projet + + Nom + 名称 + + + + Folio + 图页 + + + + Élément + 元件 + + + + Figé - - - - - - - - - - Nom de la nouvelle numérotation - 新编号 + + Attribuer un numéro libre… + - - Importer les numérotations d'un projet + + + Donner à l'élément sélectionné un numéro que personne n'a : il garde sa numérotation, seul son numéro change. + + Eléments + 元件 + + + + + Folios + 图页 + + + + Numérotation auto des folios + 图页自动编号 + + + + Importer depuis un autre projet... + + + + + Reprendre les numérotations automatiques enregistrées dans un autre projet + + + + + figé + + + + + — libre — + + + + + aucun élément n'a ce numéro (supprimé ou renuméroté) + + + + + Aucun élément ne suit cette numérotation + + + + + %n élément(s) suivent cette numérotation, dont %1 au nom figé + + + + + + + ; %n numéro(s) sans élément + + + + + + + Cette numérotation a plusieurs numéros (ou un numéro par folio) : on ne peut pas en choisir un à la main. + + + + + Attribuer un numéro libre + + + + + Le nom de cet élément est figé : dégelez-le d'abord. + + + + + Aucun numéro n'est libre. + + + + + %1 → %2 + + + + + Numéro libre pour l'élément « %1 » (%2) : + + + + + + Nom de la numérotation : + + + + + + Modifier la numérotation + + + + + %n élément(s) suivent cette numérotation et vont changer de formule et de nom. + + + + + + + + + + Nouvelle numérotation + + + + + + Renommer la numérotation + + + + + La numérotation « %1 » ne peut pas être modifiée : %n élément(s) au nom figé la suivent. +Dégelez-les d'abord (voir la liste), ou renommez seulement la numérotation. + + + + + + + %n numérotation(s) suivie(s) par des éléments au nom figé n'ont pas été remplacées. + + + + + + + %n élément(s) ont changé de formule. + + + + + + + + Supprimer la numérotation + 删除编号格式 + + + + %n élément(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation ou un nom fixe d'abord. + + + + + + + Aucun folio ne nomme cette numérotation + + + + + %n folio(s) nomment cette numérotation + + + + + + + Aucun folio ne suit cette numérotation + + + + + %n folio(s) suivent cette numérotation + + + + + + + %n folio(s) suivent la numérotation « %1 », elle ne peut pas être supprimée. +Donnez-leur une autre numérotation d'abord. + + + + + + Nom de la nouvelle numérotation + 新编号 + + + + Importer les numérotations d'un projet + + + + Projet QElectroTech (*.qet) QElectroTech工程(*.qet) - - + + Import impossible - + Impossible d'ouvrir %1 - + %1 n'est pas un projet QElectroTech valide. - - + + Aucune numérotation - - + + Ce projet ne contient aucune numérotation automatique. - + Numérotations à importer - + Numérotations trouvées dans %1 : - + %1 : %2 (existe déjà) - + Remplacer les numérotations de même nom - + + Importer des numérotations + + + + Import terminé - + %1 numérotation(s) importée(s), %2 conservée(s) telles quelles. - + %1 numérotation(s) importée(s). - + Management 管理 - - - - - - - Sans nom - 未命名 + 未命名 ProjectDBModel - + Position 分区 - + Position du folio 图页序号 @@ -7444,50 +8832,134 @@ Les variables suivantes sont incompatibles : ProjectMainConfigPage - + Général configuration page title 常规 - + Titre du projet : label when configuring 工程名称: - + Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle. informative label 此标题将作为变量 %projecttitle 应用于此工程的所有图页。 - + Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches). informative label 您可以在下面定义自定义属性,这些属性将用于该工程的所有图页(通常用于标题栏)。 - + Temps passé sur ce projet : label when configuring 在此项目上花费的时间: - + Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier) checkbox label 跟踪在此项目上花费的时间(仅在此文件中本地记录) - + Réinitialiser button label 重置 - - + + Croisements de conducteurs : + label when configuring + + + + + Sans saut + wire crossings + + + + + Saut sur les conducteurs horizontaux + wire crossings + + + + + Saut sur les conducteurs verticaux + wire crossings + + + + + Dessine un petit arc là où deux conducteurs se croisent sans être reliés. Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé. + tooltip + + + + + Conducteurs par borne + group box title + + + + + Utiliser les réglages de l'application + checkbox label + + + + + Les réglages de Configurer QElectroTech > Général s'appliquent. Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet. + tooltip + + + + + Nombre maximal de conducteurs par borne : + label when configuring + + + + + Sans limite + wires per terminal + + + + + Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. Les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis. + tooltip + + + + + Un seul conducteur par renvoi de folio + checkbox label + + + + + Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio. + tooltip + + + + + Ces règles sont désactivées pour tous les projets (Configurer QElectroTech > Général). + informative label + + + + + %1 h %2 min hours and minutes of time spent on a project %1 小时 %2 分钟 @@ -7531,137 +9003,137 @@ Les variables suivantes sont incompatibles : 在日期: - + Option de rendu 渲染选项 - + Dessiner le cadre 绘制边框 - + Dessiner le cartouche 绘制标题栏 - + Conserver les couleurs des conducteurs 保留导线颜色 - + Dessiner les bornes 绘制端子 - + Dessiner les noms des bornes 绘制端子名称 - + Inscrire les informations des composants 填写元件信息 - + Option d'impression 打印选项 - + Adapter le folio à la page 使图页适合画面 - + Utiliser toute la feuille 使用整张纸 - + Si cette option est cochée, le folio sera agrandi ou rétréci de façon à remplir toute la surface imprimable d'une et une seule page." 如果选择此项,图页将被缩放以填充整个可打印区域。” - + Si cette option est cochée, les marges de la feuille seront ignorées et toute sa surface sera utilisée pour l'impression. Cela peut ne pas être supporté par votre imprimante. 如果选择此项,纸张的页边距将被忽略,其整个表面将用于打印。 您的打印机可能不支持此功能。 - + toolBar 工具栏 - + Ajuster la largeur 适应宽度 - + Ajuster la page 适应页面 - + Zoom arrière 缩小 - + Zoom avant 放大 - + Paysage 横向 - + Portrait 纵向 - + Première page 首页 - + Page précédente 上一页 - + Page suivante 下一页 - + Dernière page 末页 - + Afficher une seule page 显示单页 - + Afficher deux pages 显示双页 - + Afficher un aperçu de toutes les pages 预览所有图页 - + mise en page 布局 @@ -7839,239 +9311,287 @@ Voulez-vous enregistrer les modifications ? QETApp - + Chargement... Initialisation du cache des collections d'éléments splash screen caption 加载中...正在初始化元件库缓存 - + Chargement... Éditeur de schéma splash screen caption 加载中...原理图编辑器 - + Chargement... Ouverture des fichiers splash screen caption 加载中...正在打开文件 - + LTR Translate this string to RTL if you are translating to a Right-to-Left language, else translate to LTR LTR - + Cartouches QET title of the title block templates collection provided by QElectroTech QET标题栏 - + Cartouches company title of the company's title block templates collection 企业标题栏 - + Cartouches utilisateur title of the user's title block templates collection 用户标题栏 - + Q Single-letter example text - translate length, not meaning Q - + QET Small example text - translate length, not meaning QET - + Schema Normal example text - translate length, not meaning 原理图 - + Electrique Normal example text - translate length, not meaning 电气 - + QElectroTech Long example text - translate length, not meaning QElectroTech - + Configurer QElectroTech window title 配置QElectroTech - + + Enregistrer la configuration sous... + dialog title + + + + + + Configurations QElectroTech (*.conf) + file dialog filter + + + + + + Erreur + message box title + 错误 + + + + Impossible d'enregistrer la configuration dans « %1 ». + + + + + Charger une configuration... + dialog title + + + + + « %1 » n'est pas une configuration enregistrée par QElectroTech. + + + + + Charger une configuration + message box title + + + + + Cette configuration va remplacer vos réglages actuels, sauf la disposition des fenêtres et la liste des fichiers récents. + +QElectroTech va ensuite se fermer. Relancez-le pour utiliser la nouvelle configuration. + +Voulez-vous continuer ? + + + + Chargement... splash screen caption 加载中... - + Chargement... icône du systray splash screen caption 加载中...系统托盘图标 - + QElectroTech systray menu title QElectroTech - + &Quitter 退出(&Q) - + &Masquer 隐藏(&H) - + &Restaurer 恢复(&R) - + &Masquer tous les éditeurs de schéma 隐藏所有原理图编辑器(&H) - + &Restaurer tous les éditeurs de schéma 恢复所有原理图编辑器(&R) - + &Masquer tous les éditeurs d'élément 隐藏所有元件编辑器(&H) - + &Restaurer tous les éditeurs d'élément 恢复所有元件编辑器(&R) - + &Masquer tous les éditeurs de cartouche systray submenu entry 隐藏所有标题栏编辑器(&H) - + &Restaurer tous les éditeurs de cartouche systray submenu entry 恢复所有标题栏编辑器(&R) - + &Nouvel éditeur de schéma 新建原理图编辑器(&N) - + &Nouvel éditeur d'élément 新建元件编辑器(&N) - + Ferme l'application QElectroTech 关闭 QElectroTech 应用程序 - + Réduire QElectroTech dans le systray 减少系统托盘中的 QElectroTech - + Restaurer QElectroTech 恢复 QElectroTech - + QElectroTech systray icon tooltip QElectroTech - + Éditeurs de schémas 原理图编辑器 - + Éditeurs d'élément 元件编辑器 - + Éditeurs de cartouche systray menu entry 标题栏编辑器 - <b>Le fichier de restauration suivant a été trouvé,<br>Voulez-vous l'ouvrir ?</b><br> - <b>找到以下还原文件,<br>要打开它吗?</b><br> + <b>找到以下还原文件,<br>要打开它吗?</b><br> - <b>Les fichiers de restauration suivant on été trouvé,<br>Voulez-vous les ouvrir ?</b><br> - <b>已找到以下恢复文件,<br>要打开它们吗?</b><br> + <b>已找到以下恢复文件,<br>要打开它们吗?</b><br> - Fichier de restauration - 恢复文件 + 恢复文件 - + Rapport de plantage 崩溃报告 - + QElectroTech ne s'est pas fermé correctement lors de sa dernière exécution. Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les enregistrer pour les joindre à un rapport de bug. 上次运行时 QElectroTech 未正常关闭。 以下是关闭前记录的最后日志消息——您可将其保存并附在缺陷报告中。 - + Rapport de diagnostic 诊断报告 - + Ceci contient les derniers messages de journalisation de cette session. Vérifiez le contenu avant de le joindre à un rapport de bug public. 这包含本次会话的最新日志条目。请在附加到公开缺陷报告前检查内容。 - + Usage : 用法: - + [options] [fichier]... @@ -8080,7 +9600,7 @@ Voici les derniers messages enregistrés avant l'arrêt -- vous pouvez les - + QElectroTech, une application de réalisation de schémas électriques. Options disponibles : @@ -8097,35 +9617,35 @@ Options disponibles : - + --common-elements-dir=DIR Definir le dossier de la collection d'elements --common-elements-dir=DIR 设置元件库文件夹 - + --common-tbt-dir=DIR Definir le dossier de la collection de modeles de cartouches --common-tbt-dir=DIR 设置标题栏模板库文件夹 - + --config-dir=DIR Definir le dossier de configuration --config-dir=DIR 设置配置文件夹 - + --data-dir=DIR Definir le dossier de data --data-dir=DIR 设置数据文件夹 - + --lang-dir=DIR Definir le dossier contenant les fichiers de langue --lang-dir=DIR 设置包含语言文件的文件夹 @@ -8135,95 +9655,95 @@ Options disponibles : QETDiagramEditor - - - + + + QElectroTech window title QElectroTech - + QElectroTech status bar message QElectroTech - + Aucune modification 无修改 - + Cliquez sur une action pour revenir en arrière dans l'édition de votre schéma Status tip 单击一个动作以回退你对原理图的更改 - + Ce panneau liste les différentes actions effectuées sur le folio courant. Cliquer sur une action permet de revenir à l'état du schéma juste après son application. "What's this" tip 此面板列出了对当前图页执行的不同操作。 单击一个动作可以让您返回到应用该操作后的图页状态。 - + Annulations dock title 撤销 - + E&xporter 导出(&X) - + Imprimer 打印 - + &Quitter 退出(&Q) - + Annuler 撤销 - + Refaire 恢复 - + Co&uper 剪切(&X) - + Cop&ier 复制(&C) - + C&oller 粘贴(&V) - + Réinitialiser les conducteurs 重置导线 - + Création automatique de conducteur(s) Tool tip of auto conductor 自动连接导线 - + Utiliser la création automatique de conducteur(s) quand cela est possible Status tip of auto conductor 尽可能使用自动连接导线 @@ -8239,1025 +9759,1250 @@ Options disponibles : 以白色或灰色显示页面的背景色 - + Afficher la grille 显示网格 - + Affiche ou masque la grille des folios 显示或隐藏页面网格 - + Propriétés du folio 图页属性 - + Propriétés du projet 工程属性 - + Ajouter un folio 添加图页 - - - + + + Supprimer le folio 删除图页 - + Nettoyer le projet 清理工程 - + Ajouter un sommaire 添加摘要 - + Lancer le plugin de création de borniers 启动端子排创建插件 - + en utilisant des onglets 使用选项卡 - + en utilisant des fenêtres 使用窗口 - + Mode Selection 选择模式 - + Mode Visualisation 查看模式 - + &Mosaïque 平铺(&T) - + &Cascade 层叠(&C) - + Projet suivant 下一个工程 - + Projet précédent 上一个工程 - + &Nouveau 新建(&N) - + &Ouvrir 打开(&O) - + &Enregistrer 保存(&S) - + Enregistrer sous 另存为 - + + &Fermer 关闭(&C) - + Crée un nouveau projet status bar tip 创建一个新工程 - + Ouvre un projet existant status bar tip 打开现有工程 - + Ferme le projet courant status bar tip 关闭当前工程 - + Enregistre le projet courant et tous ses folios status bar tip 保存当前工程及其所有图页 - + Enregistre le projet courant avec un autre nom de fichier status bar tip 用另一个文件名保存当前工程 - + Ajouter une colonne 添加列 - + Enlever une colonne 删除列 - + Ajoute une colonne au folio status bar tip 在图页中添加一列 - + Enlève une colonne au folio status bar tip 从图页中删除一列 - + Agrandit le folio en hauteur status bar tip 放大页面高度 - + Rétrécit le folio en hauteur status bar tip 缩小页面高度 - + Supprimer 删除 - + Pivoter 旋转 - + Orienter les textes 旋转文本 - + Retrouver dans le panel 在面板中查找 - + Éditer l'item sélectionné 编辑所选对象 - + Chercher/remplacer 查找/替换 - + Profondeur toolbar title 图层 - + Groupe 群组 - + Ajouter une nomenclature 添加物料清单 - + Grouper les textes sélectionnés 将选定的文本分组 - + Enlève les éléments sélectionnés du folio status bar tip 从图页中删除选定的元件 - + Pivote les éléments et textes sélectionnés status bar tip 旋转选定的元件和文本 - + Pivote les textes sélectionnés à un angle précis status bar tip 以特定角度旋转选定的文本 - + Retrouve l'élément sélectionné dans le panel status bar tip 在面板中查找选择的元件 - + Tout sélectionner 全选 - + Désélectionner tout 取消全选 - + Inverser la sélection 反选 - + Sélectionne tous les éléments du folio status bar tip 选择图页中的所有元件 - + Désélectionne tous les éléments du folio status bar tip 取消图页所有元件的选择 - + Désélectionne les éléments sélectionnés et sélectionne les éléments non sélectionnés status bar tip 取消选中的元件并选择未选中的元件 - + Zoom avant 放大 - + Zoom arrière 缩小 - + Zoom sur le contenu 放大焦点内容 - + Zoom adapté 自适应缩放 - + Pas de zoom 无缩放 - + Agrandit le folio status bar tip 放大页面 - + Rétrécit le folio status bar tip 缩小页面 - + Adapte le zoom de façon à afficher tout le contenu du folio indépendamment du cadre 调整缩放以显示页面的所有内容 - + Adapte le zoom exactement sur le cadre du folio status bar tip 调整缩放以完全适应页面大小 - + Restaure le zoom par défaut status bar tip 恢复默认缩放 - + Ajouter un champ de texte 添加文本框 - + Ajouter une image 添加图片 - + Ajouter un rectangle 添加矩形 - + Ajouter une ellipse 添加椭圆 - + Ajouter une polyligne 添加多段线 - + Exporte le folio courant dans un autre format status bar tip 将当前图页导出为另一种格式 - + Imprime un ou plusieurs folios du projet courant status bar tip 打印当前工程的一页或多页 - + Ferme l'application QElectroTech status bar tip 关闭 QElectroTech 应用程序 - + Annule l'action précédente status bar tip 撤销上一个动作 - + Projets dock title 工程 - + Collections 库 - + Restaure l'action annulée status bar tip 恢复被撤销的动作 - + Transfère les éléments sélectionnés dans le presse-papier status bar tip 将所选元件剪切到剪贴板 - + Copie les éléments sélectionnés dans le presse-papier status bar tip 将所选元件复制到剪贴板 - + Place les éléments du presse-papier sur le folio status bar tip 将剪贴板元件放在图页上 - + Ajouter une ligne Add row 添加行 - + Enlever une ligne Remove row 删除行 - + Ajouter une ligne Draw line 添加直线 - + Recalcule les chemins des conducteurs sans tenir compte des modifications status bar tip 忽略修改,重新计算导线路径 - + Édite les propriétés du folio (dimensions, informations du cartouche, propriétés des conducteurs...) status bar tip 编辑图页属性(尺寸、标题栏信息、导线属性等) - + Présente les différents projets ouverts dans des sous-fenêtres status bar tip 在窗口中显示打开的不同工程 - + Présente les différents projets ouverts des onglets status bar tip 在选项卡中显示打开的不同工程 - + Permet de sélectionner les éléments status bar tip 允许您选择元件 - + Permet de visualiser le folio sans pouvoir le modifier status bar tip 允许您查看图页但不能修改它 - + Dispose les fenêtres en mosaïque status bar tip 平铺窗口 - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + Éditeur de schémas 原理图编辑器 - + Exporter en pdf 导出为 PDF - + Exporte un ou plusieurs folios du projet courant status bar tip 导出当前工程的一个或多个图页 - + + Coller au point d'origine + + + + + Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point + status bar tip + + + + Dupli&quer - + Copie la sélection, décalée de l'espacement configuré status bar tip - + Configurer la duplication... - + Choisir l'espacement et la direction utilisés par Dupliquer status bar tip - + Coupure automatique de conducteur(s) Tool tip of auto break conductor 导线自动断开 - + Couper automatiquement les conducteurs existants lors du placement d'un élément Status tip of auto break conductor 放置元件时自动切断现有导线 - + Grille des textes - + Grille d'accrochage des textes déplacés à la souris. Maintenir Ctrl pendant le déplacement pour placer librement. - + Désactivée - + Afficher les guides 显示参考线 - + Affiche ou masque les guides 显示或隐藏参考线 - + Garder les en-têtes visibles - + Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue - + Afficher les limites des cases - + Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement - + + Afficher + 显示 + + + + Textes des éléments + + + + + Textes des conducteurs + + + + + Champs de texte + + + + + Formes + + + + + Images + + + + + Tableaux + + + + + Références croisées + 交叉引用 + + + + Voir Affichage > Afficher + + + + Exporter au format CSV 导出为 CSV 格式 - + Gestionnaire de borniers (DEV) 端子排管理器 (DEV) - + Exporter la liste des noms de conducteurs 导出导线名称列表 - + Exporter le plan de câblage 导出接线表 - + Liste de câblage (base de données) - + Numérotation automatique des bornes 端子自动编号 - - - + + + Recharger les dessins des éléments - + Redessine chaque élément placé d'après sa définition actuelle, sans avoir à fermer et rouvrir le projet (action non annulable) - + Exécuter un script... - + Exécute un script JavaScript sur le projet courant (voir qet.* dans le script pour l'API disponible) - + + Enregistrer une macro + + + + + Enregistre ce que vous faites sur le projet, pour qu'un assistant IA en fasse un script ; recliquez pour arrêter + + + + + Gérer les scripts… + + + + + Écrire un script et en faire un bouton avec une icône + + + + + Ouvrir le dossier des scripts + + + + + Chaque fichier .js de ce dossier qui commence par un en-tête // ==QETScript== devient un bouton + + + + Exporter la base de donnée interne du projet 导出内部工程数据库 - + Dispose les fenêtres en cascade status bar tip 层叠窗口 - + Active le projet suivant status bar tip 激活下一个工程 - + Active le projet précédent status bar tip 激活上一个工程 - + Pivoter le groupe 旋转组 - + + Grouper + + + + + Dégrouper + + + + Insérer le dernier élément - + Place à nouveau le dernier élément inséré status bar tip - + Rechercher une commande… - + Tapez une partie du nom d'une commande et appuyez sur Entrée pour la lancer status bar tip - + Insérer un élément… - + Ouvre le sélecteur d'éléments à la position du curseur status bar tip - + Barre de raccourcis - + Ouvre à la position du curseur les commandes utiles pour la sélection, et le sélecteur d'éléments status bar tip - + Répéter la dernière commande - + Relance le dernier outil de dessin ou la dernière insertion d'élément (Entrée sur le folio) status bar tip - + Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place status bar tip 将所选对象作为一个整体围绕中心旋转,而不是每个元件原地旋转 - + + Groupe les éléments, textes, formes et images sélectionnés : ils se sélectionnent, se déplacent et se copient ensemble + status bar tip + + + + + Défait les groupes sélectionnés + status bar tip + + + + Aligner sur la grille - + Remet les éléments, images et textes sélectionnés sur la grille status bar tip - + + Aligner à gauche + + + + + Aligne les bords gauches des objets sélectionnés + status bar tip + + + + + Centrer horizontalement + + + + + Aligne les objets sélectionnés sur une même verticale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner à droite + + + + + Aligne les bords droits des objets sélectionnés + status bar tip + + + + + Aligner en haut + + + + + Aligne les bords supérieurs des objets sélectionnés + status bar tip + + + + + Centrer verticalement + + + + + Aligne les objets sélectionnés sur une même horizontale, par leur point d'origine pour les éléments + status bar tip + + + + + Aligner en bas + + + + + Aligne les bords inférieurs des objets sélectionnés + status bar tip + + + + Sélectionner tous les conducteurs - + Sélectionner tous les champs de texte - + Sélectionne tous les conducteurs du folio, désélectionne le reste status bar tip - + Sélectionne tous les champs de texte du folio, désélectionne le reste status bar tip - + + Centrer sur le curseur + + + + + Centre le folio sur le point sous le curseur de la souris, sans changer le zoom + status bar tip + + + + Ajouter un PDF 添加 PDF - + + Ajouter un arc + + + + Ajouter une courbe - + + Ajouter un congé + + + + Ajouter un plan de bornes 添加端子排 - + Ajoute un champ de texte sur le folio actuel 将文本框添加到当前页面 - + Ajoute une image sur le folio actuel 将图像添加到当前页面 - + Ajoute une page PDF sur le folio actuel 在当前图纸中添加 PDF 页面 - + Ajoute une ligne sur le folio actuel 在当前页面中添加一条线 - + Ajoute un rectangle sur le folio actuel 在当前页面添加一个矩形 - + Ajoute une ellipse sur le folio actuel 在当前页面添加一个椭圆 - + + Ajoute un arc sur le folio actuel + + + + Ajoute une polyligne sur le folio actuel 在当前图页添加多段线 - + Ajoute une courbe de Bézier sur le folio actuel - + + Arrondit le coin entre deux lignes du folio actuel + + + + Ajoute un plan de bornier sur le folio actuel 在当前图页添加端子排 - + Atteindre un élément 跳转到元件 - + Recherche et sélectionne rapidement un élément du folio status bar tip 快速搜索并选中图纸中的元件 - + Outils 工具 - + Affichage 显示 - + Schéma 原理图 - + Ajouter 添加 - + + Scripts + toolbar title + + + + &Fichier 文件(&F) - + &Édition 编辑(&E) - + &Projet 工程(&P) - + Afficha&ge 显示(&D) - + Fe&nêtres 窗口(&W) - + &Récemment ouverts 最近打开(&R) - + A&jouter - + Aligner - + Lignes et colonnes - + + + Scripts + + + + Affiche ou non la barre d'outils principale 是否显示主工具栏 - + Affiche ou non la barre d'outils Affichage 是否显示显示工具栏 - + Affiche ou non la barre d'outils Schéma 是否显示原理图工具栏 - + Affiche ou non le panel d'appareils 是否显示工程面板 - + Affiche ou non la liste des modifications 是否显示撤销列表 - + Afficher les projets 显示工程 - - + + Projet %1 enregistré dans le repertoire: %2. 工程 %1 保存在目录中:%2。 - + Ouvrir un fichier 打开文件 - + Projets QElectroTech (*.qet);;Fichiers XML (*.xml);;Tous les fichiers (*) QElectroTech 工程 (*.qet);;XML 文件 (*.xml);;所有文件 (*) - - + + Impossible d'ouvrir le fichier message box title 无法打开文件 - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 您尝试打开的文件 %1 似乎不存在或不再存在。 - + Il semblerait que le fichier que vous essayez d'ouvrir ne soit pas accessible en lecture. Il est donc impossible de l'ouvrir. Veuillez vérifier les permissions du fichier. 您尝试打开的文件似乎不可读。 因此不可能打开它。 请检查文件权限。 - + Ouverture du projet en lecture seule message box title 以只读方式打开工程 - + Il semblerait que le projet que vous essayez d'ouvrir ne soit pas accessible en écriture. Il sera donc ouvert en lecture seule. 您尝试打开的工程似乎不可写。 因此它将以只读模式打开。 - - + + Échec de l'ouverture du projet message box title 无法打开工程 - + Il semblerait que le fichier %1 ne soit pas un fichier projet QElectroTech. Il ne peut donc être ouvert. message box content 文件 %1 看起来不是 QElectroTech 工程文件。 因此无法打开。 - + %n description(s) de police écrite(s) dans un format étranger ou corrompu ont été restaurée(s). Elles seront réécrites dans un format stable au prochain enregistrement du projet. message box content @@ -9265,7 +11010,7 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + %n description(s) de police n'ont pas pu être lue(s) ; la police par défaut sera utilisée pour ces textes. message box content @@ -9273,169 +11018,207 @@ Maintenir Ctrl pendant le déplacement pour placer librement. - + Polices du projet message box title 项目字体 - + + Folio %1 : %2 + + + + + Conducteurs non chargés + message box title + + + + + %n conducteur(s) n'ont pas pu être reliés à leurs bornes et n'ont pas été chargés. La définition de l'élément dans le projet a probablement été remplacée par une autre dont les bornes diffèrent. + +Si vous enregistrez le projet, ces conducteurs disparaîtront du fichier. Fermez-le sans enregistrer pour conserver le fichier tel quel. + message box content + + + + + + Suppression de borne impossible 不能删除端子 - + La suppression ne peut être effectué car la selection possède une ou plusieurs bornes ponté et/ou appartenant à une borne à niveau multiple. Déponter et/ou supprimer les niveaux des bornes concerné afin de pouvoir les supprimer 无法执行删除操作,因为所选对象包含一个或多个已桥接或属于多层端子的端子。 请解除桥接或移除相关端子的层级,以便将其删除。 - + %n objet(s) remis sur la grille + + + %n objet(s) aligné(s) + + + + - + La sélection est déjà sur la grille + + + Sélectionnez au moins deux éléments, images, textes, formes ou groupes non verrouillés + + + + + La sélection est déjà alignée, à la grille près + + - + (%n objet(s) verrouillé(s) laissé(s) en place) - + Éditer l'élement edit element 编辑元件 - + Éditer le champ de texte edit text field 编辑文本框 - + Éditer l'image edit image 编辑图片 - + Éditer le conducteur edit conductor 编辑导线 - + Éditer l'objet sélectionné edit selected item 编辑所选对象 - + Une erreur est survenue lors de l'ouverture du fichier %1. message box content 打开文件 %1 时出错。 - + Active le projet « %1 » 激活工程《%1》 - + Êtes-vous sûr de vouloir supprimer ce folio ? 你确定你要删除这个图页吗? - + Supprimer les folios 删除图页 - + Êtes-vous sûr de vouloir supprimer les %1 folios sélectionnés ? 你确定你要删除所选的图页 %1 吗? - + Supprimer %1 folios 删除 %1 个图纸 - - - - - - - + + + + + + + Déplacer les folios 移动图纸 - + Erreur message box title 错误 - + Répéter : insérer « %1 » - + Répéter : %1 - + folio %1 - + %n élément(s) redessiné(s). - + %n élément(s) dont la définition est introuvable ou illisible : leur dessin actuel a été conservé. - + %n élément(s) non redessiné(s) : leur taille, leur point de saisie ou leurs bornes ont changé (borne ajoutée, supprimée ou déplacée). - + Pour les mettre à jour, il faut les supprimer puis les réinsérer. Attention : cette opération supprime les conducteurs déjà reliés à ces éléments, qu'il faudra retracer. - - + + Exécuter un script - + Les scripts sont désactivés. Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. N'exécutez que des scripts dont vous connaissez l'origine. @@ -9444,13 +11227,108 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + Scripts JavaScript (*.js);;Tous les fichiers (*) - - + + Ignoré : %1 + + + + + + Arrêter + + + + + Arrêter l'enregistrement de la macro + + + + + ● Enregistrement : %n étape(s) + + + + + + + Macro enregistrée + + + + + « %1 » : %n étape(s). + +Pour en faire un script, demandez-le à votre assistant IA : le bouton ci-dessous copie la demande, il suffit de la coller dans sa fenêtre. + + + + + + + &Copier la demande pour l'assistant + + + + + &Ouvrir le dossier + + + + + Demande copiée : collez-la dans la fenêtre de l'assistant + + + + + Couper la connexion de l'assistant pour le reste de la session + + + + + Mode direct : assistant connecté + + + + + Mode direct : en attente d'un assistant + + + + + + Assistant + + + + + Demander avant d'exécuter un script écrit par l'assistant + + + + + Pour cette session seulement : chaque démarrage redemande + + + + + Mode direct : %1 %2 à %3 + + + + + %n type(s) d'objets masqué(s) + + + + + + + Textes %1 @@ -9458,42 +11336,42 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QETElementEditor - + &Nouveau 新建(&N) - + &Ouvrir 打开(&O) - + &Ouvrir depuis un fichier 从文件打开(&F) - + &Enregistrer 保存(&S) - + Enregistrer sous 另存为 - + Enregistrer dans un fichier 保存到文件 - + Recharger 重新加载 - + Tout sélectionner 全选 @@ -9503,368 +11381,368 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g QElectroTech - 元件编辑器 - + &Aide 帮助(&H) - + Annulations 撤销 - + Parties 部件 - + Informations 信息 - + Outils 工具 - + Affichage 显示 - + Élément 元件 - + Annulation 撤销 - + Exporter en SVG 导出为 SVG - + &Fermer cet éditeur 关闭编辑器(&C) - + Fermer cet éditeur 关闭编辑器 - + Désélectionner tout 取消全选 - + Co&uper 剪切(&X) - + Cop&ier 复制(&C) - + C&oller 粘贴(&V) - + C&oller dans la zone 粘贴在区域(&P) - + Un fichier 一份文件 - + Un élément 一个元件 - + À &propos de QElectroTech 关于 QElectroTech(&A) - + Affiche des informations sur QElectroTech 显示有关 QElectroTech 的信息 - + Manuel en ligne 在线手册 - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech 启动默认浏览器打开 QElectroTech 在线手册 - + Chaine Youtube Youtube频道 - + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech 启动默认浏览器打开 QElectroTech Youtube 频道 - + Soutenir le projet par un don 通过捐款支持该项目 - + Soutenir le projet QElectroTech par un don 捐款支持 QElectroTech 项目 - + À propos de &Qt 关于Qt(&Q) - + Affiche des informations sur la bibliothèque Qt 显示 Qt 库信息 - + Rotation 旋转 - + Fine-Rotation 精细旋转 - + Mirror 镜像 - + Flip 翻转 - + Importer un dxf 导入 dxf - + importer un élément à redimensionner 导入元件并调整尺寸 - + Inverser la sélection 反选 - + &Supprimer 删除(&D) - + Éditer le nom et les traductions de l'élément 编辑元件名称和翻译 - + Éditer les informations sur l'auteur 编辑作者信息 - + Éditer les propriétés de l'élément 编辑元件属性 - + Annuler 撤销 - + Refaire 恢复 - + Profondeur toolbar title 图层 - + Zoom avant 放大 - + Zoom arrière 缩小 - + Zoom adapté 自适应缩放 - + Pas de zoom 无缩放 - + Ajouter une ligne 添加直线 - + Ajouter un rectangle 添加矩形 - + Ajouter une ellipse 添加椭圆 - + Ajouter un polygone 添加多段线 - + Ajouter du texte 添加文本 - + Ajouter un arc de cercle 添加圆弧 - + Ajouter une borne 添加端子 - + Ajouter un champ texte dynamique 添加动态文本框 - + Double-click pour terminer la forme, Click droit pour annuler le dernier point 双击完成形状,右击撤销最后一点 - + Parties toolbar title 部件 - + &Fichier 文件(&F) - + &Édition 编辑(&E) - + Afficha&ge 显示(&D) - + Coller depuis... 粘贴自... - + [Modifié] window title tag [修改] - + [lecture seule] window title tag [只读] - + Aucune modification 无修改 - + Éditeur d'éléments status bar message 元件编辑器 - - + + %n partie(s) sélectionnée(s). 选择了 %n 个部件。 - + Absence de borne warning title 缺少端子 - + <br>En l'absence de borne, l'élément ne pourra être relié à d'autres éléments par l'intermédiaire de conducteurs. warning description <br>在没有端子的情况下,元件不能通过导线连接到其他元件。 - + Absence de borne 缺少端子 - + <br><b>Erreur</b> :<br>Les reports de folio doivent posséder une seul borne.<br><b>Solution</b> :<br>Verifier que l'élément ne possède qu'une seul borne <br><b>错误</b> :<br>图页引用必须有一个端子。<br><b>解决方法</b> :<br>检查元件是否只有一个端子 - + La vérification de cet élément a généré message box content 元件生成验证 - + %n erreur(s) errors @@ -9872,200 +11750,255 @@ Activer les scripts ? Ce réglage est modifiable dans Configurer QElectroTech &g - + et 和 - + <b>%1</b> : %2 warning title: warning description <b>%1</b>:%2 - + Erreurs 错误 - + Avertissements 警告 - + Le fichier %1 n'existe pas. message box content 文件 %1 不存在。 - + Afficher menu entry 显示 - - + + Impossible d'ouvrir le fichier %1. message box content 无法打开文件 %1。 - - + + Ce fichier n'est pas un document XML valide message box content 此文件不是有效的 XML 文档 - - + + Erreur toolbar title 错误 - - + + Édition en lecture seule message box title 只读编辑 - - + + Vous n'avez pas les privilèges nécessaires pour modifier cet élement. Il sera donc ouvert en lecture seule. message box content 您没有修改此元件所需的权限。 因此它将以只读模式打开。 - - + + Erreur message box title 错误 - + Impossible d'écrire dans ce fichier message box content 无法写入此文件 - + Impossible d'enregistrer l'élément message box content 无法保存元件 - + Trop de primitives, liste non générée: %1 无法生成图表,由于过多的要素:%1 - + Nombre de bornes incorrect 端子数量错误 - + <br><b>Erreur</b> :<br>Les définitions de conducteur ne peuvent posséder qu'une seule borne.<br><b>Solution</b> :<br>Vérifier que l'élément ne possède qu'une seule borne <br><b>错误</b>:<br>导线定义不能只包含1个端子。<br><b>解决方法</b>:<br>;检查元件是否只有一个端子 - - - - - - - - - - - - - - - - - - - - - - - - - - + + Noms de bornes en double + + + + + <br><b>Erreur</b> :<br>Plusieurs bornes portent le même nom : %1.<br><b>Solution</b> :<br>Donner un nom unique à chaque borne, par exemple N.1 et N.2. Les bornes concernées sont sélectionnées. + + + + + Bornes sans nom + + + + + <br>%n borne(s) sans nom. Sans noms de bornes uniques, la liste de câblage (qui relie quoi à quoi) ne peut pas désigner chaque borne, et ne peut donc pas servir à câbler l'armoire en atelier. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Éditeur d'élément 元件编辑器 - + Ajouter un texte d'élément non éditable dans les schémas 在原理图中添加不可编辑的元件文本 - + Ajouter un texte d'élément pouvant être édité dans les schémas 在原理图中添加可编辑的元件文本 - + + Afficher le cadre de fond + + + + + Taille du cadre de fond... + + + + + Taille du cadre de fond + + + + + + px + + + + + Largeur + 宽度 + + + + Hauteur + 高度 + + + X: %1 Y: %2 X: %1 Y: %2 - + Exporter en SVG dialog title 导出为 SVG - + Image SVG (*.svg) filetypes allowed when exporting an element to SVG SVG 图像 (*.svg) - + Échec de l'export 导出失败 - + Impossible d'écrire dans le fichier « %1 ». 无法写入文件“%1”。 - + Avertissement 警告 - + L'import d'un dxf volumineux peut prendre du temps veuillez patienter durant l'import... 导入大型 dxf 可能需要时间 正在导入,请稍候... - + Importer un élément à redimensionner 导入元件并调整尺寸 - + Éléments QElectroTech (*.elmt) QElectroTech元件 (*.elmt) - + %n avertissement(s) warnings @@ -10073,99 +12006,99 @@ veuillez patienter durant l'import... - + Impossible d'ouvrir le fichier message box title 无法打开文件 - + Il semblerait que le fichier %1 que vous essayez d'ouvrir n'existe pas ou plus. 您尝试打开的文件 %1 似乎不存在或不再存在。 - + Recharger l'élément dialog title 重新加载元件 - + Vous avez efffectué des modifications sur cet élément. Si vous le rechargez, ces modifications seront perdues. Voulez-vous vraiment recharger l'élément ? dialog content 您已对此元件进行更改。 如果重新加载它,这些更改将会丢失。 您确定要重新加载该元件吗? - - - + + + Echec de l'enregistrement 保存失败 - - - + + + L'enregistrement à échoué, les conditions requises ne sont pas valides 保存失败, 不满足所需条件 - + Enregistrer sous dialog title 另存为 - + Éléments QElectroTech (*.elmt) filetypes allowed when saving an element file QElectroTech元件 (*.elmt) - + Enregistrer l'élément en cours ? dialog title 保存当前元件? - + Voulez-vous enregistrer l'élément %1 ? dialog content - %1 is an element name 您要保存元件 %1 吗? - + Ouvrir un fichier dialog title 打开文件 - + Éléments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*) filetypes allowed when opening an element file QElectroTech元件 (*.elmt);;XML 文件 (*.xml);;所有文件 (*) - - - - + + + + Élément inexistant. message box title 元件不存在。 - - + + L'élément n'existe pas. message box content 该元件不存在。 - - + + Le chemin virtuel choisi ne correspond pas à un élément. message box content 所选的虚拟路径不对应于元件。 @@ -10174,137 +12107,172 @@ les conditions requises ne sont pas valides QETMainWindow - + &Configurer QElectroTech 配置QElectroTech(&C) - + Permet de régler différents paramètres de QElectroTech status bar tip 允许您调整 QElectroTech 的各种参数 - + À &propos de QElectroTech 关于 QElectroTech(&A) - + Affiche des informations sur QElectroTech status bar tip 显示有关 QElectroTech 的信息 - + Manuel en ligne 在线手册 - + Chaine Youtube Youtube频道 - - + + Télécharger une nouvelle version (dev) 下载新版本 (dev) - + Lance le navigateur par défaut vers le manuel en ligne de QElectroTech status bar tip 启动默认浏览器打开 QElectroTech 在线手册 - - + + Enregistrer la configuration sous... + + + + + Enregistre les réglages de QElectroTech dans un fichier + status bar tip + + + + + + + Général 常规 - + + Charger une configuration... + + + + + Remplace les réglages de QElectroTech par ceux d'un fichier, puis ferme QElectroTech + status bar tip + + + + + Connecter un assistant IA... + + + + + Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech + status bar tip + + + + Lance le navigateur par défaut vers la chaine Youtube de QElectroTech status bar tip 启动默认浏览器打开 QElectroTech Youtube频道 - - + + Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech status bar tip 启动默认浏览器打开 QElectroTech 的24小时在线仓库 - + Soutenir le projet par un don 通过捐款支持该项目 - + Soutenir le projet QElectroTech par un don status bar tip 捐款支持 QElectroTech 项目 - + À propos de &Qt 关于Qt(&Q) - + Affiche des informations sur la bibliothèque Qt status bar tip 显示 Qt 库信息 - + Enregistrer un rapport de diagnostic... 保存诊断报告... - + Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug status bar tip 生成包含最新日志条目的报告,用于附加到缺陷报告 - + &Configuration window menu 配置(&C) - + &Aide window menu 帮助(&H) - + Sortir du &mode plein écran 退出全屏模式(&F) - + Affiche QElectroTech en mode fenêtré status bar tip 以窗口模式显示 QElectroTech - + Passer en &mode plein écran 切换到全屏模式(&F) - + Affiche QElectroTech en mode plein écran status bar tip 以全屏模式显示 QElectroTech - + Afficher menu entry 显示 @@ -10313,52 +12281,52 @@ les conditions requises ne sont pas valides QETProject - + Projet « %1 : %2» displayed title for a ProjectView - %1 is the project title, -%2 is the project path 工程《%1 : %2》 - + Projet %1 displayed title for a title-less project - %1 is the file name 工程 %1 - + Projet sans titre displayed title for a project-less, file-less project 未命名工程 - + %1 [lecture seule] displayed title for a read-only project - %1 is a displayable title %1 [只读] - + %1 [modifié] displayed title for a modified project - %1 is a displayable title %1 [已修改] - + Renumber elements - + Renumber elements (%1) - + Système de contacts modifié 触点系统已修改 - + Le nouvel élément définit des groupes de contacts esclaves. Les éléments esclaves existants ne seront pas automatiquement assignés. Vous devrez relier manuellement les esclaves et assigner les groupes de contacts. @@ -10369,19 +12337,19 @@ Voulez-vous continuer ? 是否继续? - + Une erreur s'est produite durant l'intégration du modèle. error message 模板集成期间发生错误。 - + Avertissement message box title 警告 - + Ce document semble avoir été enregistré avec une version %1 qui est ultérieure à votre version ! Vous utilisez actuellement QElectroTech en version %2 @@ -10390,7 +12358,7 @@ Vous utilisez actuellement QElectroTech en version %2 您当前使用的是版本 %2 的 QElectroTech - + . Il est alors possible que l'ouverture de tout ou partie de ce document échoue. Que désirez vous faire ? @@ -10399,32 +12367,32 @@ Que désirez vous faire ? 你想如何处理? - + Avertissement message box title 警告 - + Le projet que vous tentez d'ouvrir est partiellement compatible avec votre version %1 de QElectroTech. 您尝试打开的工程与您的 QElectroTech %1 版本部分兼容。 - + Afin de le rendre totalement compatible veuillez ouvrir ce même projet avec la version 0.8, ou 0.80 de QElectroTech et sauvegarder le projet et l'ouvrir à nouveau avec cette version. Que désirez vous faire ? 为了使其完全兼容,请使用 QElectroTech 的 0.8 或 0.80 版本打开同一个工程并保存该工程,然后使用此版本再次打开它。 你想如何处理? - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Création des folios</p> <p align="center"><b>正在打开当前工程...</b><br/>正在创建图页</p> - + <p align="center"><b>Ouverture du projet en cours...</b><br/>Mise en place des références croisées</p> <p align="center"><b>打开当前工程...</b><br/>设置交叉引用</p> @@ -10808,44 +12776,44 @@ Que désirez vous faire ? 元件图形 - + supprimer %1 undo caption - %1 is a sentence listing the removed content 删除 %1 - + coller %1 undo caption - %1 is a sentence listing the content to paste 粘贴 %1 - + couper %1 undo caption - %1 is a sentence listing the content to cut 剪切 %1 - + déplacer %1 undo caption - %1 is a sentence listing the moved content 移动 %1 - + modifier le texte undo caption 编辑文本 - + modifier un conducteur undo caption 修改导线 - + Réinitialiser %1 undo caption - %1 is a sentence listing the reset content 重置 %1 @@ -10857,7 +12825,7 @@ Que désirez vous faire ? 修改标题栏 - + modifier les dimensions du folio undo caption 修改页面尺寸 @@ -10874,6 +12842,7 @@ Que désirez vous faire ? + Titre 标题 @@ -11077,32 +13046,32 @@ Que désirez vous faire ? 文本 - + Folio sans titre 未命名图页 - + schema 原理图 - + Conserver les proportions 保持长宽比 - + Réinitialiser les dimensions 重置尺寸 - + Aperçu 预览 - + Exporter vers le presse-papier 导出到剪贴板 @@ -11161,7 +13130,7 @@ Que désirez vous faire ? - + %n élément(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11169,7 +13138,7 @@ Que désirez vous faire ? - + %n conducteur(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11177,7 +13146,7 @@ Que désirez vous faire ? - + %n champ(s) de texte Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11185,7 +13154,7 @@ Que désirez vous faire ? - + %n image(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11193,7 +13162,7 @@ Que désirez vous faire ? - + %n forme(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11201,7 +13170,7 @@ Que désirez vous faire ? - + %n texte(s) d'élément Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11209,7 +13178,7 @@ Que désirez vous faire ? - + %n tableau(s) Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11217,7 +13186,7 @@ Que désirez vous faire ? - + %n plan(s) de bornes Sentence fragment used in an automatically generated list of different objects, e.g. objects moved at the same time, which will be combined into a sentence. @@ -11225,85 +13194,85 @@ Que désirez vous faire ? - + Le fichier texte contenant la licence GNU/GPL est introuvable - bon bah de toute façon, vous la connaissez par coeur non ? 找不到包含 GNU/GPL 许可证的文本文件 - 无论如何,你心里清楚,不是吗? - + Le fichier texte contenant la licence GNU/GPL existe mais n'a pas pu être ouvert - bon bah de toute façon, vous la connaissez par coeur non ? 包含 GNU/GPL 许可证的文本文件存在但无法打开 - 无论如何,你心里清楚,不是吗? - - + + Impossible d'ouvrir le fichier %1 en écriture, erreur %2 rencontrée. error message when attempting to write an XML file 无法打开文件 %1 进行写入,遇到错误 %2。 - + Une erreur est survenue lors de l'écriture du fichier %1, erreur %2 rencontrée. error message when attempting to write an XML file 写入文件 %1 时出错,遇到错误 %2。 - + Amener au premier plan 移到顶层 - + Rapprocher 上移一层 - + Éloigner 下移一层 - + Envoyer au fond 移到底层 - + Ramène la ou les sélections au premier plan 将选中项置于最前面 - + Rapproche la ou les sélections 将选中项上移一层 - + Éloigne la ou les sélections 将选中项下移一层 - + Envoie en arrière plan la ou les sélections 将选中项移到最底层 - - - - + + + + Profondeur 图层 - - + + Avertissement : l'élément a été enregistré avec une version ultérieure de QElectroTech. 警告:元件已在更高版本的 QElectroTech 中保存。 - + Borne tooltip 端子 @@ -11457,6 +13426,7 @@ Que désirez vous faire ? 工程属性 + Modifier les informations de l'élément : %1 编辑元件信息:%1 @@ -11546,22 +13516,22 @@ Que désirez vous faire ? 图页编号 - + Collection QET QET库 - + Collection Company 企业库 - + Collection utilisateur 用户库 - + Macros @@ -11570,12 +13540,12 @@ Que désirez vous faire ? 宏 - + Collection inconnue 未知库 - + Le fichier « %1 » est absent ou illisible : le nom traduit de ce dossier n'a pas pu être lu, son nom de dossier est affiché à la place. 文件“%1”缺失或不可读:无法读取此文件夹的翻译名称,因此改为显示其文件夹名称。 @@ -11589,8 +13559,13 @@ Que désirez vous faire ? Collection 库 + + + Ce groupe ne peut pas être déplacé : la position d'un de ses éléments est verrouillée. + + - + Ajouter %n conducteur(s) add a numbers of conductor one or more @@ -11661,20 +13636,20 @@ Que désirez vous faire ? %1 个文本组 - + %n texte(s) - - + + Pivoter %1 - + Orienter les textes sélectionnés window title 调整选定文本的方向 @@ -11723,13 +13698,13 @@ Voulez-vous la remplacer ? 导入文本配置:%1 - + %p% effectué (%v sur %m) %p% 已完成(%m 中的 %v) - - + + chargement %p% (%v sur %m) 加载中 %p% (%m 中的 %v ) @@ -11739,22 +13714,22 @@ Voulez-vous la remplacer ? 查找/替换图页属性 - + Chercher/remplacer les propriétés d'éléments. 查找/替换元件属性。 - + Chercher/remplacer les propriétés de conducteurs. 查找/替换导线属性。 - + Rechercher / remplacer avancé 高级查找/替换 - + Chercher/remplacer des textes independants 查找/替换独立文本 @@ -11851,35 +13826,35 @@ Voulez-vous la remplacer ? - - - + + + Type 类型 - - - + + + Adresse 地址 - - - + + + Commentaire 注释 - - - + + + Réf. croisée 交叉引用 @@ -11887,9 +13862,9 @@ Voulez-vous la remplacer ? - - - + + + Fonction 功能 @@ -12219,27 +14194,27 @@ Voulez-vous la remplacer ? 保存的文件路径 - + Création de conducteurs 生成导线 - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>Requires python 3.5 or above.<br><B><U> First install on Windows</B></U><br>1. Install, if required, python 3.5 or above<br> Visit :<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> Update on Windows</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>user could launch in a terminal this script in this directory<br> C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts <br> 要安装插件 qet_tb_generator<br>请访问:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br>需要python 3.5或更高版本。<br><B><U>首此在Windows上安装</B></U><br>1. 如果需要,请安装 python 3.5 或更高版本<br>访问:<br><a href='https://www.python.org/downloads/'>python.org</a><br>2. pip install qet_tb_generator<br><B><U> 在 Windows 上更新</B></U><br>python -m pip install --upgrade qet_tb_generator<br>>>用户可以在终端中启动此目录的脚本<br>C:\users\XXXX\AppData\Local\Programs\Python\Python36-32\Scripts<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U> First install on macOSX</B></U><br>1. Install, if required, python 3.11 bundle only, <a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 Run Profile.command script<br>because program use hardcoded PATH for localise qet-tb-generator plugin <br> Visit :<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> Update on macOSX</B></U><br> pip3 install --upgrade qet_tb_generator<br> 要安装插件 qet_tb_generator<br>请访问:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><B><U>首此在macOSX上安装:</B></U><br>1. 如果需要,仅安装python 3.11 捆绑包即可,<a href='https://www.python.org/ftp/python/3.11.2/python-3.11.2-macos11.pkg'>python-3.11.2-macos11.pkg</a><br>2 运行 Profile.command 脚本<br>因为程序使用硬编码路径来定位 qet-tb-generator 插件 <br> 请访问:<br><a href='https://qelectrotech.org/forum/viewtopic.php?pid=5674#p5674'>howto</a><br>2. pip3 install qet_tb_generator<br><B><U> 在 macOSX 上更新:</B></U><br> pip3 install --upgrade qet_tb_generator<br> - + To install the plugin qet_tb_generator<br>Visit :<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>Requires python 3.5 or above.<br><br><B><U> First install on Linux</B></U><br>1. check you have pip3 installed: pip3 --version<br>If not install with: sudo apt-get install python3-pip<br>2. Install the program: sudo pip3 install qet_tb_generator<br>3. Run the program: qet_tb_generator<br><br><B><U> Update on Linux</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> 要安装插件 qet_tb_generator<br>请访问:<br><a href='https://pypi.python.org/pypi/qet-tb-generator'>qet-tb-generator</a><br><br>需要 python 3.5 或更高版本。<br><br><B><U>首次在Linux 上安装</B></U><br>1. 检查您是否已安装 pip3:pip3 --version<br>如果未安装:sudo apt-get install python3-pip<br>2. 安装程序:sudo pip3 install qet_tb_generator<br>3. 运行程序:qet_tb_generator<br><br><B><U>在 Linux 上更新</B></U><br>sudo pip3 install --upgrade qet_tb_generator<br> - + Error launching qet_tb_generator plugin 启动 qet_tb_generator 插件时出错 @@ -12259,15 +14234,15 @@ Voulez-vous la remplacer ? 粘贴 - - + + - - - - - - + + + + + + this is an error in the code 代码中存在错误 @@ -12468,12 +14443,12 @@ Voulez-vous la remplacer ? 更改端子跨接桥的颜色 - + Ouvrir un element 打开一个元件 - + Importer un fichier dxf 导入 dxf 文件 @@ -12563,7 +14538,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da 请通过下方链接下载,并将其解压到安装路径下。 - + Automatic terminal numbering 端子自动编号 @@ -12645,7 +14620,7 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + %n groupe(s) de textes @@ -12653,8 +14628,8 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - - + + Déplacer %1 @@ -12775,97 +14750,109 @@ Veuillez télécharger celui-ci en suivant le lien ci dessous et le dézipper da - + Aligner %n objet(s) sur la grille + + + Aligner %n objet(s) + + + + - + Ajouter %1 添加 %1 - + Modifier les propriétés du conducteur - + Modifier un texte - + Modifier la couleur d'un texte 修改文本颜色 - + Pivoter un texte - + Modifier le trait d'une forme 修改图形的线条 - + Modifier le remplissage d'une forme 修改图形的填充 - + Pivoter une forme - - + + Modifier la forme d'%1 - + Fermer/Ouvrir %1 - + Redimensionner une image - + Pivoter une image - + Modifier un texte d'élément 修改元件文本 - + Numéroter automatiquement un élément 自动为元件编号 - + + Renuméroter les éléments (%1) + + + + Rechercher et remplacer - - - + + + Script - + Les scripts sont désactivés. Un script a accès à l'ensemble du projet et peut écrire des fichiers, aussi cette fonction est-elle désactivée par défaut. @@ -12873,6 +14860,45 @@ Un script a accès à l'ensemble du projet et peut écrire des fichiers, au Pour l'activer : Configurer QElectroTech > Général > Projets, ou définir la variable d'environnement QET_ENABLE_SCRIPTING=1 pour une exécution sans interface (CI, traitement par lot). + + + Assistant : %1 + + + + + Script : %1 + + + + + Grouper %n objet(s) + + + + + + + Dégrouper %n objet(s) + + + + + + + Figer le nom de l'élément + + + + + Dégeler le nom de l'élément + + + + + Folio + 图页 + QTextOrientationWidget @@ -12892,371 +14918,432 @@ Pour l'activer : Configurer QElectroTech > Général > Projets, ou d QetGraphicsTableItem - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par les tableaux. Veuillez ajouter un nouveau tableau ou regler les tableaux existant afin d'afficher l'integralité des informations. 要显示的信息大于表格可以显示的最大数量。 请添加新表或调整现有表以显示所有信息。 - + Les information à afficher sont supérieurs à la quantité maximal pouvant être affiché par le tableau. Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'afficher l'integralité des informations. 要显示的信息大于表格可以显示的最大数量。 请添加新表或调整现有表以显示所有信息。 - + Limitation de tableau 表格限制 - + Modifier la géometrie d'un tableau 修改表格的大小 + + QetLabelsFile + + + + erreur de syntaxe à la ligne %1, colonne %2 : +%3 + + + + + Aucun répertoire de collection n'a été donné. + + + + + l'élément racine <%1> n'est pas <labels>. + + + + + le fichier n'a pas pu être ouvert : %1 + + + + + Fichier de préfixes (étiquettes) de la collection utilisateur. +Un préfixe est attribué à chaque dossier : les éléments d'un dossier +reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une +étiquette. Un dossier sans préfixe reprend celui de son dossier parent. +Ce fichier est créé et modifié par QElectroTech (Programme de réglages : +Configurer les préfixes…), mais reste modifiable à la main. + + + + + Aucun fichier de préfixes à enregistrer. + + + + + Le répertoire %1 n'a pas pu être créé. + + + + + Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé : +rien n'a été modifié. + + + QetShapeItem - + une shape 图形 - + une ligne 直线 - - + + Ajouter un point 添加点 - + Supprimer ce point 删除该点 - + Déformer une courbe - + Nœud le plus proche - + Lisse - + Symétrique - + Anguleux - + Supprimer le nœud le plus proche - + Convertir en polyligne - + Convertir en courbe de Bézier - + Miroir horizontal - + Miroir vertical - + Taille 字号 - + Coins arrondis - + Édition des nœuds - + Rotation/Inclinaison - + Cliquer : mode %1 - + Glisser un coin/bord : redimensionner (Ctrl = depuis le centre, Maj = proportions, Alt = détacher en polyligne) - + ; point turquoise : arc - + Glisser une extrémité : la déplacer - + Glisser un point : le déplacer - + Glisser le point violet : arrondir les coins - + Glisser une poignée ou la courbe : déformer (Alt = briser la tangente) ; Alt+glisser un point anguleux : créer des poignées ; clic droit : menu du nœud le plus proche - + une extrémité - + un coin - + un point - + Glisser %1 : rotation (Maj = 15°) - + ; un bord : inclinaison - + ; point rouge : glisser pour repositionner le centre de rotation - + (Ctrl pendant le glissement = position libre, sans accrochage à la grille) - + — Cliquer : mode %1 - + Glisser : déplacer ce point - + Glisser : redimensionner (Ctrl = depuis le centre + position libre, Maj = proportions - + , Alt = détacher en polyligne - + Glisser : rotation (Ctrl = position libre, Maj = 15°) - + Glisser : inclinaison (Ctrl = position libre, Maj = 15°) - + Glisser : repositionner le centre de rotation (Ctrl = position libre) - + Glisser : arrondir les coins (Ctrl = position libre) - + Glisser : ajuster l'arc (Ctrl = position libre, Maj = 15°) - + + Glisser : creuser ou aplatir l'arc, ses extrémités restent en place (Ctrl = position libre) + + + + Glisser : déplacer le point (Ctrl = position libre - + , Alt = créer des poignées - + Glisser : déformer la courbe (Ctrl = position libre, Alt = briser la tangente) - + Ajouter un point à un polygone 向多段线添加一个点 - + Supprimer un point d'un polygone 从多段线删除一个点 - + Ajouter un point à une courbe - + Supprimer un point d'une courbe - + Convertir %1 en courbe de Bézier - + Convertir %1 en polyligne - + Miroir impossible : inclinaison trop extrême pour cette forme - + Miroir horizontal de %1 - + Miroir vertical de %1 - + Modifier le type d'un nœud - + Redimensionner %1 - + Faire pivoter %1 - + Incliner %1 - + Deplacer le centre de rotation - + Arrondir les coins d'%1 - + Modifier l'angle d'un arc - - + + Modifier la courbure d'un arc + + + + + Modifier la forme d'%1 - + Modifier la courbure d'%1 - + Modifier %1 修改 %1 - + un rectangle 矩形 - + une éllipse 椭圆 - + un arc - + une polyligne 多段线 - + une courbe @@ -13338,7 +15425,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 文本标签 - + L'élément « %1 » existe déjà. Que souhaitez-vous faire ? 元件《%1》已存在。你想让我做什么 ? @@ -13346,31 +15433,73 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af RenumberElementsDialog - + Renumber element(s) - + Scope - + All schemes - + One scheme - + Scheme: + + RenumberPreviewDialog + + + %n élément(s) gardent le nom qu'ils ont. + + + + + + + %n élément(s) restent comme ils sont. + + + + + + + Folio + 图页 + + + + Élément + 元件 + + + + Nom actuel + + + + + Nouveau nom + + + + + (figé) + + + ReplaceConductorDialog @@ -13394,9 +15523,9 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - + + + Ne pas modifier 不修改 @@ -13516,97 +15645,97 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 相线 - - + + Nombre de phase 相数 - + Neutre 中性线 - + neutre 中性线 - + Terre 大地 - + terre 大地 - + TextLabel 文本标签 - + PushButton 按钮 - + Apparence 外观 - + Taille : 线宽: - - + + Couleur : 颜色: - + Style : 样式: - - + + Modifier 编辑 - + Couleur secondaire : 次要颜色: - + Taille de trait : 色长: - + px px - + Trait plein conductor style: solid line 实线 - + Trait en pointillés conductor style: dashed line 短划线 - + Traits et points conductor style: dashed and dotted line 点划线 @@ -13615,7 +15744,7 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af ReplaceElementDialog - + Ne pas modifier 不修改 @@ -13657,10 +15786,10 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af - - - - + + + + Ne pas modifier 不修改 @@ -13720,12 +15849,12 @@ Veuillez ajouter un nouveau tableau ou regler le tableau existant afin d'af 应用当前日期 - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>可作为变量 %plant 应用于标题栏模板</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -13738,33 +15867,33 @@ Les variables suivantes sont utilisables : - %autonum:图页的自动编号 - + Disponible en tant que %locmach pour les modèles de cartouches 可作为变量 %locmach 应用于标题栏模板 - + Titre : 标题: - - - - - - - + + + + + + + Supprimer ce texte 删除这段文字 - + Personnalisées 自定义 - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. 您可以在此处定义自己的名称/值关联,以便标题栏将它们考虑在内。 例如: @@ -13803,6 +15932,185 @@ Créer votre propre texte en vous aidant des variables suivantes : %c:列号 + + ScriptManagerDialog + + + + + Gérer les scripts + + + + + &Nouveau + 新建(&N) + + + + Supp&rimer + + + + + Le texte du bouton + + + + + vide : les initiales du nom ; builtin:<nom> : une icône du thème + + + + + Choisir une image (SVG ou PNG)… + + + + + Toujours + + + + + Avec une sélection + + + + + Avec un conducteur sélectionné + + + + + Nom : + 名称: + + + + Icône : + + + + + Info-bulle : + + + + + Raccourci : + + + + + Actif : + + + + + &Tester + + + + + Enregistre puis exécute le script sur le projet courant (Ctrl+Z annule l'exécution) + + + + + &Enregistrer + 保存(&S) + + + + Ouvrir le &dossier + + + + + &Fermer + 关闭(&C) + + + + Script (l'objet qet ; qet.currentFolio() est le folio affiché) : + + + + + Pas de bouton : %1 + + + + + Pas de bouton pour ce fichier : %1 + + + + + Nouveau script + + + + + // qet.currentFolio() est le folio affiché ; un clic s'annule +// d'un seul Ctrl+Z. Liste des appels : qet.apiSignatures() +var f = qet.currentFolio(); +qet.addText(f, "Texte", 40, 40); + + + + + + Pas encore enregistré + + + + + Le script doit avoir un nom. + + + + + Non enregistré : %1 + + + + + Impossible d'écrire %1 + + + + + Supprimer le script + + + + + Supprimer « %1 » et son bouton ? + + + + + Icône du script + + + + + Images (*.svg *.png) + + + + + Impossible de copier %1 + + + + + Le script affiché n'est pas enregistré. Enregistrer ? + + + SearchAndReplaceWidget @@ -13816,42 +16124,42 @@ Créer votre propre texte en vous aidant des variables suivantes : 下一匹配 - + <html><head/><body><p>Afficher les options avancées</p></body></html> <html><head/><body><p>显示高级选项</p></body></html> - + Aller à la correspondance précédente 上一匹配 - + Quitter 退出 - + <html><head/><body><p>Définir les propriétés à remplacer dans les éléments</p></body></html> <html><head/><body><p>设置要在元件中替换的属性</p></body></html> - + Champ texte de folio 图页文本框 - + <html><head/><body><p>Définir les propriétés à remplacer dans les conducteurs</p></body></html> <html><head/><body><p>设置要在导线中替换的属性</p></body></html> - + <html><head/><body><p>Définir les propriétés à remplacer dans les folios</p></body></html> <html><head/><body><p>设置要在图页中替换的属性</p></body></html> - + Folio 图页 @@ -13876,42 +16184,42 @@ Créer votre propre texte en vous aidant des variables suivantes : 区分大小写 - + <html><head/><body><p>Remplacer la correspondance sélectionnée</p></body></html> <html><head/><body><p>替换所选匹配</p></body></html> - + <html><head/><body><p>Remplacer les correspondances cochées</p></body></html> <html><head/><body><p>替换选中的所有匹配项</p></body></html> - + avancé 高级 - + Élément 元件 - + Conducteur 导线 - + Remplacer : 替换: - + Remplacer 替换 - + Tout remplacer 全部替换 @@ -13921,105 +16229,105 @@ Créer votre propre texte en vous aidant des variables suivantes : 查找: - + Actualiser 刷新 - + Correspondance : 匹配项: - + Folios 图页 - + Champs texte 文本框 - + Eléments 元件 - + Eléments simple 简单元件 - + Eléments maître 主元件 - + Eléments esclave 从元件 - + Eléments report de folio 图页引用元件 - + Eléments bornier 接线端子元件 - + Sélectionner les éléments de ce folio 选择此图页的元件 - + Sélectionner les conducteurs de ce folio 选择此图页的导线 - + Sélectionner les textes de ce folio 选择此图页的文本 - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + + + [édité] [编辑] - + Conducteurs 导线 - + Inconnue 未知 @@ -14047,53 +16355,81 @@ Créer votre propre texte en vous aidant des variables suivantes : 删除编号格式 - + Définition 定义 - + <html><head/><body><p>Supprimer une variable de numérotation</p></body></html> <html><head/><body><p>删除编号变量</p></body></html> - + <html><head/><body><p>Ajouter une variable de numérotation</p></body></html> <html><head/><body><p>添加编号变量</p></body></html> - Précédent - 全部减1 + 全部减1 - Suivant - 全部加1 + 全部加1 - + Type 类型 - + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + + + + Valeur 值 - + Incrémentation 增量 - + + Annuler + + + + + Revenir à la définition enregistrée + + + + + Monter cette variable + + + + + Descendre cette variable + + + + + Supprimer cette variable + + + + Folio Autonumérotation title window 图页自动编号 - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux folios. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14121,7 +16457,7 @@ Le champ "Incrémentation" n'est pas utilisé. - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux conducteurs. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14159,13 +16495,13 @@ Les autres champs ne sont pas utilisés. 其他字段未使用。 - + Element Autonumérotation title window 元件自动编号 - + C'est ici que vous pouvez définir la manière dont seront numérotés les nouveaux elements. -Une numérotation est composée d'une variable minimum. -Vous pouvez ajouter ou supprimer une variable de numérotation par le biais des boutons - et +. @@ -14203,7 +16539,17 @@ Les autres champs ne sont pas utilisés. 其他字段未使用。 - + + Nouvelle numérotation… + + + + + Renommer la numérotation… + + + + Conducteur Autonumérotation title window 导线自动编号 @@ -16596,12 +18942,12 @@ Les autres champs ne sont pas utilisés. 要显示的信息 - + Configuration 配置 - + Requête SQL : SQL 查询: @@ -16611,6 +18957,17 @@ Les autres champs ne sont pas utilisés. 分区 + + Terminal + + + Cette borne a déjà %n conducteur(s), la limite du projet. Ajoutez une borne pour raccorder un conducteur de plus. + wire refused by the wires-per-terminal limit + + + + + TerminalEditor @@ -16945,58 +19302,58 @@ Les autres champs ne sont pas utilisés. 布置 - + Ponter les bornes 桥接端子 - + Déponter les bornes 断开端子桥接 - + Propriétés 属性 - + Nom : 名称: - + Commentaire : 注释: - + Description 描述 - + Installation : 安装: - + Localisation : 位置: - + Type : 类型: - + Degrouper les bornes 取消端子分组 - - + + Générique 通用 @@ -17011,62 +19368,62 @@ Les autres champs ne sont pas utilisés. 进行移动 - + Couleur pont : 桥接颜色: - + Fusible 熔断器 - + Sectionnable 电气隔离装置 - + Diode 二极管 - + Terre 大地 - + Déplacer dans : 移动到: - + Phase 相线 - + Neutre 中性线 - + Position automatique 自动定位 - + Étage : 层数: - + Grouper les bornes 组合接线端子 - + Fonction : 功能: @@ -17081,7 +19438,7 @@ Les autres champs ne sont pas utilisés. 带 - + LED : LED: @@ -17109,32 +19466,32 @@ Les autres champs ne sont pas utilisés. 工具栏 - + Ajouter un bornier 添加端子排 - + Ajouter un bornier au projet 将端子排添加到工程中 - + Supprimer le bornier 删除端子排 - + Supprimer le bornier du projet 从工程中删除端子排 - + Recharger 重新加载 - + Recharger les borniers 重新加载端子排 @@ -17364,12 +19721,12 @@ Les autres champs ne sont pas utilisés. 端子排浏览器 - + Projet sans titre 未命名工程 - + Bornes indépendante 独立接线端子 @@ -17472,7 +19829,7 @@ Les autres champs ne sont pas utilisés. 下载 - + Dossier installation 安装文件夹 @@ -17480,37 +19837,37 @@ Les autres champs ne sont pas utilisés. TitleBlockDimensionWidget - + Largeur : default dialog label 宽度: - + Absolu a traditional, absolute measure 绝对值 - + Relatif au total a percentage of the total width 相对于总数 - + Relatif au restant a percentage of what remains from the total width 相对于余数 - + % spinbox suffix when changing the dimension of a row/column % - + px spinbox suffix when changing the dimension of a row/column px @@ -17534,77 +19891,77 @@ Les autres champs ne sont pas utilisés. 模板: - + Principales 主要 - + Auteur : 作者: - + Disponible en tant que %locmach pour les modèles de cartouches 可作为变量 %locmach 应用于标题栏模板 - + Pas de date 无日期 - + Date courante 当前日期 - + Appliquer la date actuelle 应用当前日期 - + Disponible en tant que %date pour les modèles de cartouches 可作为变量 %date 应用于标题栏模板 - + Date fixe : 固定日期: - + Date : 日期: - + Fichier : 文件: - + Disponible en tant que %title pour les modèles de cartouches 可作为变量 %title 应用于标题栏模板 - + Titre : 标题: - + Disponible en tant que %author pour les modèles de cartouches 可作为变量 %author 应用于标题栏模板 - + Folio : 图页: - + Disponible en tant que %filename pour les modèles de cartouches 可作为变量 %filename 应用于标题栏模板 @@ -17614,17 +19971,17 @@ Les autres champs ne sont pas utilisés. <html><head/><body><p>在图页底部(水平)或右侧(垂直)显示标题块。</p></body></html> - + Indice Rev: 修订索引: - + <html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html> <html><head/><body><p>可作为变量 %plant 应用于标题栏模板</p></body></html> - + Disponible en tant que %folio pour les modèles de cartouches Les variables suivantes sont utilisables : - %id : numéro du folio courant dans le projet @@ -17637,62 +19994,63 @@ Les variables suivantes sont utilisables : - %autonum:图页的自动编号 - + Page Num: 页码: - + Installation : 安装: - + Disponible en tant que %indexrev pour les modèles de cartouches 可作为变量 %indexrev 应用于标题栏模板 - + Localisation: 位置: - + Personnalisées 自定义 - + Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple : associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche. 您可以在此处定义自己的名称/值关联,以便标题栏将它们考虑在内。 例如: 将名称“volta”与值“1745”相关联将在标题栏中将 %{volta} 的值替换为 1745。 - + Modèle par défaut 默认模板 - + Éditer ce modèle menu entry 编辑此模板 - + Dupliquer et éditer ce modèle menu entry 复制并编辑此模板 - + Title block templates actions 标题栏模板操作 - - + + + Créer un Folio Numérotation Auto 创建图页自动编号 @@ -17700,13 +20058,13 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol TitleBlockTemplate - + %1 : %2 titleblock content - please let the blank space at the beginning %1 : %2 - + %1 %1 @@ -18209,50 +20567,50 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListDialog - + Liste de câblage window title - + Fil column title - + Composant 1 column title 组件1 - + Borne 1 column title 端子1 - + Composant 2 column title 组件2 - + Borne 2 column title 端子2 - + Folio column title 图页 - - + + %n conducteur(s) listé(s). wiring list summary @@ -18260,7 +20618,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol - + %n conducteur(s) exclu(s) : une extrémité n'est rattachée à aucun élément. wiring list exclusion warning @@ -18271,96 +20629,115 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol WiringListExport - - + + Erreur 错误 - + Impossible de lire la structure en mémoire du projet. 无法读取项目的内存结构。 - + Exporter le plan de câblage 导出接线表 - + Fichiers CSV (*.csv) CSV文件 (*.csv) - + Impossible d'ouvrir le fichier pour l'écriture. 不能以写入模式打开文件 - + Page Wiring list CSV header 页面 - + Composant 1 Wiring list CSV header 组件1 - + Borne 1 Wiring list CSV header 端子1 - + Composant 2 Wiring list CSV header 组件2 - + Borne 2 Wiring list CSV header 端子2 - + Tension / Protocole Wiring list CSV header 电压/协议 - + Couleur du fil Wiring list CSV header 线缆颜色 - + Section du fil Wiring list CSV header 线缆截面积 - + Fonction Wiring list CSV header 功能 - + + Câble + Wiring list CSV header + 线缆 + + + Export réussi 导出成功 - + Le plan de câblage a été exporté avec succès ! 接线表已经被成功导出 + + WiringRulesWarning + + + Avertissement + 警告 + + + + <b>Les règles de conducteurs par borne sont une fonction expérimentale.</b><br><br>Elles comptent les conducteurs tels que QElectroTech les représente aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, si les fils et les conducteurs deviennent des objets distincts dans une version future.<br><br>Toutes ces règles peuvent être désactivées dans Configurer QElectroTech > Général. + + + XRefPropertiesWidget @@ -18574,27 +20951,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol projectDataBase - + La requête est vide. - + Une seule requête SELECT est autorisée (le caractère ';' ne peut apparaître qu'à la toute fin). - + Seules les requêtes en lecture seule (SELECT ou WITH ... SELECT) sont autorisées. - + Exporter la base de données interne du projet 导出内部工程数据库 - + sans_nom 未命名 @@ -18602,7 +20979,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::ColorAction - + Text Color 文字颜色 @@ -18610,7 +20987,7 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::HtmlTextEdit - + Insert HTML entity 插入 HTML 对象 @@ -18618,27 +20995,27 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorDialog - + Edit text 编辑文本 - + Rich Text 富文本 - + Source 源代码 - + &OK 确定(&Y) - + &Cancel 取消(&N) @@ -18646,69 +21023,69 @@ associer le nom "volta" et la valeur "1745" remplacera %{vol qdesigner_internal::RichTextEditorToolBar - + Texte en gras 加粗 - - - + + + Éditeur de texte 文本编辑器 - + Texte en italique 斜体 - + Texte souligé 下划线 - + Left Align 左对齐 - + Center 居中对齐 - + Right Align 右对齐 - + Justify 两端对齐 - + Superscript 上标 - + Subscript 下标 - + Insérer un lien 插入链接 - + Insert &Image 插入图片(&I) - + Simplify Rich Text 简化富文本 diff --git a/misc/MacQetDeploy_arm64_cmake.sh b/misc/MacQetDeploy_arm64_cmake.sh index 1d247cee7..4d0fb398c 100644 --- a/misc/MacQetDeploy_arm64_cmake.sh +++ b/misc/MacQetDeploy_arm64_cmake.sh @@ -149,7 +149,47 @@ if [ ! -d $BUNDLE ] ; then exit 1 fi -macdeployqt $BUNDLE +macdeployqt $BUNDLE || { echo "ERROR: macdeployqt failed"; exit 1; } + +### offscreen platform plugin (headless use, e.g. qet_mcp.py) ######## +# macdeployqt only deploys libqcocoa. Without libqoffscreen, running +# QT_QPA_PLATFORM=offscreen aborts. macdeployqt has no option to add it, +# so copy it from the Homebrew Qt and make it point to the +# frameworks of the bundle. It is signed with the other plugins below. +OFFSCREEN="$BUNDLE/Contents/PlugIns/platforms/libqoffscreen.dylib" +if [ ! -f "$OFFSCREEN" ] ; then + echo "libqoffscreen.dylib not deployed by macdeployqt, copying it:" + SRC_OFFSCREEN="" + for d in "$(brew --prefix qt 2>/dev/null)/share/qt/plugins" \ + "$(brew --prefix qt 2>/dev/null)/plugins" \ + /opt/homebrew/share/qt/plugins ; do + if [ -f "$d/platforms/libqoffscreen.dylib" ] ; then + SRC_OFFSCREEN="$d/platforms/libqoffscreen.dylib" + break + fi + done + if [ -z "$SRC_OFFSCREEN" ] ; then + echo "ERROR: libqoffscreen.dylib not found in the Qt plugins" + exit 1 + fi + mkdir -p "$BUNDLE/Contents/PlugIns/platforms" + cp -L "$SRC_OFFSCREEN" "$OFFSCREEN" + chmod u+w "$OFFSCREEN" + # Qt frameworks: /opt/homebrew/.../QtGui.framework/Versions/A/QtGui + # -> inside the bundle + otool -L "$OFFSCREEN" | awk 'NR>1 { print $1 }' \ + | grep -E '/Qt[A-Za-z0-9]+\.framework/' | while read ref; do + fwname=$(echo "$ref" | sed -E 's#.*/(Qt[A-Za-z0-9]+)\.framework/.*#\1#') + install_name_tool -change "$ref" \ + "@executable_path/../Frameworks/$fwname.framework/Versions/A/$fwname" \ + "$OFFSCREEN" + echo " Fixed ref: $fwname" + done +fi +if [ ! -f "$OFFSCREEN" ] ; then + echo "ERROR: libqoffscreen.dylib missing from the bundle" + exit 1 +fi ### fix Homebrew dependencies macdeployqt could not handle ########## # Recent Homebrew bottles (brotli, webp, sharpyuv...) reference their own diff --git a/misc/i18n/fixtures/mirror_after.ts b/misc/i18n/fixtures/mirror_after.ts new file mode 100644 index 000000000..0309fd987 --- /dev/null +++ b/misc/i18n/fixtures/mirror_after.ts @@ -0,0 +1,97 @@ + + + + + Alpha + + + Ouvrir le projet + Ouvrir le projet + + + + Fermer le projet + Fermer le projet + + + + Apply to Entire Project + Appliquer au projet entier + + + + QElectroTech + QElectroTech + + + + Brouillon + Brouillon (à revoir) + + + + Copier + Copier + + + + %n page(s) + + %n page(s) + %n page(s) + + + + + %n élément(s) + + %n élément + %n élément(s) + + + + + %n conducteur(s) + + %n conducteur(s) + %n conducteur(s) + + + + Ancien texte + Ancien texte + + + Autre ancien texte + + + + + Beta + + + <b>%1</b> : %2 + <b>%1</b> : %2 + + + + &Aide + menu + &Aide + + + + l'élément "x" + l'élément "x" + + + + Ligne 1 +Ligne 2 + + Ligne 1 +Ligne 2 + + + + diff --git a/misc/i18n/fixtures/mirror_before.ts b/misc/i18n/fixtures/mirror_before.ts new file mode 100644 index 000000000..613011833 --- /dev/null +++ b/misc/i18n/fixtures/mirror_before.ts @@ -0,0 +1,95 @@ + + + + + Alpha + + + Ouvrir le projet + + + + + Fermer le projet + + + + + Apply to Entire Project + Appliquer au projet entier + + + + QElectroTech + QElectroTech + + + + Brouillon + Brouillon (à revoir) + + + + Copier + Copier + + + + %n page(s) + + %n page(s) + %n page(s) + + + + + %n élément(s) + + %n élément + + + + + + %n conducteur(s) + + + + + + + Ancien texte + Ancien texte + + + Autre ancien texte + + + + + Beta + + + <b>%1</b> : %2 + + + + + &Aide + menu + + + + + l'élément "x" + + + + + Ligne 1 +Ligne 2 + + + + + diff --git a/misc/i18n/mirror_source_language.py b/misc/i18n/mirror_source_language.py new file mode 100755 index 000000000..dab5a9b1a --- /dev/null +++ b/misc/i18n/mirror_source_language.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +# Copyright 2006-2026 The QElectroTech Team +# This file is part of QElectroTech. +# +# QElectroTech is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# QElectroTech is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with QElectroTech. If not, see . +""" +mirror_source_language.py — give every source-language string its own +translation in the source language's .ts file. + + python3 misc/i18n/mirror_source_language.py lang/qet_fr.ts + python3 misc/i18n/mirror_source_language.py --check lang/qet_fr.ts + +WHY THIS EXISTS + +The strings in the code are French, and they are both the translation +key and the text the French UI shows. lang/qet_fr.ts was almost empty: +an empty entry falls back to the code text at run time, so French never +needed a translation. The price is that a French wording fix is a key +change, which orphans the translation of that string in every other +language file. + +With every French string mirrored into qet_fr.ts, the French UI is +served from qet_fr.qm like any other language, and French wording can +be corrected in the .ts alone. The key in the code then only has to +stay stable. + +WHAT IT DOES + +For every message whose translation is empty, the source text is copied +into the translation and the entry is finished. Nothing else changes: + + - a translation with text is never touched, whether it is a French + rendering of an English source, identical to the source, or marked + unfinished (a translator's work in progress), with one exception: + an unfinished translation identical to its source is finished. + That is what lupdate's same-text heuristic leaves behind when a new + string repeats an existing one, and it is what a mirror run would + have written anyway; + - vanished and obsolete entries are left to lupdate; + - in a plural message only the empty s are filled; + - the file stays byte-identical outside the rewritten + elements: header, locations, comments, indentation, escaping. + +The source text is copied as lupdate wrote it, escaping included, so +' stays '. A with a child element (lupdate's ) +is refused rather than guessed at. + +Run it after `cmake --build . --target update_translations`, before +committing. Forgetting it breaks nothing: an empty entry still falls +back to the code text, and the next run fills it. `--check` exits 1 +when a run would change the file, so it can gate a commit. +""" + +from __future__ import annotations + +import argparse +import re +import sys +from dataclasses import dataclass +from pathlib import Path +import xml.etree.ElementTree as ET + +MESSAGE_RE = re.compile(r"[^>]*)>(?P.*?)", re.S) +SOURCE_RE = re.compile(r"(?P.*?)", re.S) +TRANSLATION_RE = re.compile( + r"[^>]*)>(?P.*?)", re.S) +FORM_RE = re.compile(r"(?P.*?)", re.S) +TYPE_RE = re.compile(r'\s*type="(?P[^"]*)"') + +# lupdate's own layout: at 8 spaces, at 12. +FORM_INDENT = " " * 12 +CLOSE_INDENT = " " * 8 + + +class SourceError(ValueError): + """A that cannot be copied verbatim.""" + + +@dataclass +class Stats: + mirrored_messages: int = 0 + mirrored_forms: int = 0 + finished_identical: int = 0 + unfinished_cleared: int = 0 + kept_translated: int = 0 + kept_identical: int = 0 + kept_vanished: int = 0 + kept_unfinished_with_text: int = 0 + + def changed(self) -> bool: + return self.mirrored_messages > 0 or self.finished_identical > 0 + + def summary(self) -> str: + return ( + f"mirrored {self.mirrored_messages} message(s), " + f"{self.mirrored_forms} plural form(s), " + f"finished {self.finished_identical} identical unfinished, " + f"cleared {self.unfinished_cleared} unfinished flag(s); kept " + f"{self.kept_translated} translated, {self.kept_identical} identical, " + f"{self.kept_vanished} vanished, " + f"{self.kept_unfinished_with_text} unfinished with text") + + +def _translation_type(attrs: str) -> str: + m = TYPE_RE.search(attrs) + return m.group("type") if m else "" + + +def _finish(whole: str, body: str, tm: re.Match, tattrs: str, + stats: Stats) -> str: + """Drop the unfinished flag of a translation equal to its source.""" + stats.finished_identical += 1 + stats.unfinished_cleared += 1 + start = whole.index(body) + tm.start() + old = tm.group(0) + new = old.replace(f"", + f"", 1) + return whole[:start] + new + whole[start + len(old):] + + +def _mirror_message(match: re.Match, forms: int, stats: Stats) -> str: + whole = match.group(0) + attrs, body = match.group("attrs"), match.group("body") + numerus = 'numerus="yes"' in attrs + sm = SOURCE_RE.search(body) + tm = TRANSLATION_RE.search(body) + if sm is None or tm is None: + return whole + source = sm.group("text") + if "<" in source: + raise SourceError( + "a contains a child element and cannot be copied: " + + source[:60]) + tattrs, tbody = tm.group("attrs"), tm.group("body") + ttype = _translation_type(tattrs) + if ttype in ("vanished", "obsolete"): + stats.kept_vanished += 1 + return whole + + if numerus: + found = FORM_RE.findall(tbody) + empty = [f for f in found if f == ""] + if found and not empty: + if ttype == "unfinished" and all(f == source for f in found): + return _finish(whole, body, tm, tattrs, stats) + if ttype == "unfinished": + stats.kept_unfinished_with_text += 1 + elif all(f == source for f in found): + stats.kept_identical += 1 + else: + stats.kept_translated += 1 + return whole + if found: + new_body = FORM_RE.sub( + lambda f: f.group(0) if f.group("text") != "" + else f"{source}", tbody) + stats.mirrored_forms += len(empty) + else: + new_body = "\n" + "".join( + f"{FORM_INDENT}{source}\n" + for _ in range(forms)) + CLOSE_INDENT + stats.mirrored_forms += forms + else: + if tbody != "": + if ttype == "unfinished" and tbody == source: + return _finish(whole, body, tm, tattrs, stats) + if ttype == "unfinished": + stats.kept_unfinished_with_text += 1 + elif tbody == source: + stats.kept_identical += 1 + else: + stats.kept_translated += 1 + return whole + new_body = source + + stats.mirrored_messages += 1 + if ttype == "unfinished": + stats.unfinished_cleared += 1 + kept_attrs = TYPE_RE.sub("", tattrs) + new_translation = f"{new_body}" + new_message_body = body[:tm.start()] + new_translation + body[tm.end():] + return f"{new_message_body}" + + +def mirror_text(text: str, forms: int = 2) -> tuple[str, Stats]: + """Return the mirrored .ts text and what was done to it.""" + stats = Stats() + new = MESSAGE_RE.sub(lambda m: _mirror_message(m, forms, stats), text) + return new, stats + + +def main(argv: list[str] | None = None) -> int: + parser = argparse.ArgumentParser( + description="Copy each empty translation's source text into the " + "translation of a source-language .ts file.") + parser.add_argument("ts", type=Path, help="the .ts file, e.g. lang/qet_fr.ts") + parser.add_argument("--check", action="store_true", + help="change nothing; exit 1 if a run would change the file") + parser.add_argument("--forms", type=int, default=2, + help="plural forms to write when a plural message has " + "none (default 2, French)") + args = parser.parse_args(argv) + + with open(args.ts, encoding="utf-8", newline="") as f: + text = f.read() + try: + new, stats = mirror_text(text, args.forms) + ET.fromstring(new.encode("utf-8")) + except (SourceError, ET.ParseError) as e: + print(f"{args.ts}: {e}", file=sys.stderr) + return 2 + print(f"{args.ts}: {stats.summary()}") + if args.check: + return 1 if stats.changed() else 0 + if new != text: + with open(args.ts, "w", encoding="utf-8", newline="") as f: + f.write(new) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/misc/i18n/test_mirror_source_language.py b/misc/i18n/test_mirror_source_language.py new file mode 100755 index 000000000..7b462d4e3 --- /dev/null +++ b/misc/i18n/test_mirror_source_language.py @@ -0,0 +1,210 @@ +#!/usr/bin/env python3 +""" +Regression suite for mirror_source_language.py. + + python3 misc/i18n/test_mirror_source_language.py + +The fixtures are a hand-written pair: mirror_before.ts is what lupdate +leaves behind, mirror_after.ts is what the script must produce from it, +byte for byte. Every message class the script distinguishes appears +once in the pair, so a change in behaviour shows up as a diff in a +known place. + +The last test looks at the repository's own lang/qet_fr.ts and fails +when it needs a mirror run: that is the maintenance rule from +INSTALL.md, kept honest. +""" + +from __future__ import annotations + +import os +import re +import subprocess +import sys +import tempfile +import unittest +import xml.etree.ElementTree as ET +from pathlib import Path + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import mirror_source_language as m # noqa: E402 + +SCRIPT = HERE / "mirror_source_language.py" +BEFORE = HERE / "fixtures" / "mirror_before.ts" +AFTER = HERE / "fixtures" / "mirror_after.ts" +REPO_FR = HERE.parent.parent / "lang" / "qet_fr.ts" + + +def read(path: Path) -> str: + with open(path, encoding="utf-8", newline="") as f: + return f.read() + + +def messages(text: str) -> dict[tuple[str, str], ET.Element]: + """(context, source) -> element.""" + out = {} + for ctx in ET.fromstring(text.encode("utf-8")).iter("context"): + name = ctx.findtext("name") + for msg in ctx.iter("message"): + out[(name, msg.findtext("source"))] = msg + return out + + +TRANSLATION_RE = re.compile(r"]*>.*?", re.S) + + +def outside_translations(text: str) -> str: + """The file with every element blanked out.""" + return TRANSLATION_RE.sub("", text) + + +class MirrorText(unittest.TestCase): + def test_nothing_to_do_is_byte_identical(self): + after = read(AFTER) + out, stats = m.mirror_text(after) + self.assertEqual(out, after) + self.assertEqual(stats.mirrored_messages, 0) + self.assertEqual(stats.mirrored_forms, 0) + self.assertEqual(stats.finished_identical, 0) + self.assertEqual(stats.unfinished_cleared, 0) + + def test_before_becomes_after(self): + out, stats = m.mirror_text(read(BEFORE)) + self.assertEqual(out, read(AFTER)) + self.assertEqual(stats.mirrored_messages, 8) + self.assertEqual(stats.mirrored_forms, 3) + self.assertEqual(stats.finished_identical, 2) + self.assertEqual(stats.unfinished_cleared, 4) + self.assertEqual(stats.kept_translated, 1) + self.assertEqual(stats.kept_identical, 1) + self.assertEqual(stats.kept_vanished, 2) + self.assertEqual(stats.kept_unfinished_with_text, 1) + + def test_nothing_outside_translation_elements_changes(self): + """Header, locations, comments, sources and indentation are untouched.""" + self.assertEqual(outside_translations(read(BEFORE)), + outside_translations(read(AFTER))) + + def test_idempotent(self): + once, _ = m.mirror_text(read(BEFORE)) + twice, stats = m.mirror_text(once) + self.assertEqual(once, twice) + self.assertFalse(stats.changed()) + + def test_untouched_classes(self): + before, after = messages(read(BEFORE)), messages(read(AFTER)) + for key in [("Alpha", "Apply to Entire Project"), # English source, translated + ("Alpha", "QElectroTech"), # identical + ("Alpha", "Brouillon"), # unfinished with text + ("Alpha", "Ancien texte"), # vanished with text + ("Alpha", "Autre ancien texte")]: # vanished, empty + self.assertEqual(ET.tostring(before[key]), ET.tostring(after[key]), key) + self.assertEqual(after[("Alpha", "Brouillon")].find("translation").get("type"), + "unfinished") + + def test_escaping_is_copied_verbatim(self): + """' must stay ', never become &apos; (a re-escape bug).""" + out, _ = m.mirror_text(read(BEFORE)) + for raw in ("<b>%1</b> : %2", + "&Aide", + "l'élément "x""): + self.assertIn(raw, out) + for key, msg in messages(out).items(): + tr = msg.find("translation") + if key[0] == "Beta": + self.assertEqual(tr.text, msg.findtext("source"), key) + + def test_unfinished_identical_to_source_is_finished(self): + """lupdate's same-text heuristic leaves these behind after a refresh; + 39 of them appeared in lang/qet_fr.ts on 2026-10-07.""" + out, _ = m.mirror_text(read(BEFORE)) + msgs = messages(out) + for key in [("Alpha", "Copier"), ("Alpha", "%n page(s)")]: + self.assertIsNone(msgs[key].find("translation").get("type"), key) + self.assertEqual(msgs[("Alpha", "Brouillon")].find("translation").get("type"), + "unfinished", "a different unfinished text stays unfinished") + + def test_multiline_and_spaces_kept(self): + out, _ = m.mirror_text(read(BEFORE)) + self.assertIn(" Ligne 1\nLigne 2\n", out) + + def test_plural_half_empty_fills_only_the_empty_form(self): + out, _ = m.mirror_text(read(BEFORE)) + forms = [f.text for f in messages(out)[("Alpha", "%n élément(s)")] + .find("translation").iter("numerusform")] + self.assertEqual(forms, ["%n élément", "%n élément(s)"]) + + def test_plural_both_empty_fills_both_and_clears_unfinished(self): + out, _ = m.mirror_text(read(BEFORE)) + tr = messages(out)[("Alpha", "%n conducteur(s)")].find("translation") + self.assertIsNone(tr.get("type")) + self.assertEqual([f.text for f in tr.iter("numerusform")], + ["%n conducteur(s)", "%n conducteur(s)"]) + + def test_plural_without_forms_gets_default_forms(self): + text = ('C\n' + ' %n x\n' + ' \n' + ' ') + out, stats = m.mirror_text(text, forms=3) + self.assertEqual(stats.mirrored_forms, 3) + self.assertEqual(out.count("%n x"), 3) + self.assertNotIn("unfinished", out) + ET.fromstring(out) + + def test_source_with_child_element_is_refused(self): + text = ('C\n' + ' ab\n' + ' \n' + ' ') + with self.assertRaises(m.SourceError): + m.mirror_text(text) + + +class CommandLine(unittest.TestCase): + def run_script(self, *args): + return subprocess.run([sys.executable, str(SCRIPT), *args], + capture_output=True, text=True) + + def copy(self, src: Path) -> Path: + d = tempfile.mkdtemp() + dst = Path(d) / src.name + dst.write_bytes(src.read_bytes()) + self.addCleanup(lambda: (dst.unlink(), os.rmdir(d))) + return dst + + def test_check_exit_codes(self): + self.assertEqual(self.run_script("--check", str(BEFORE)).returncode, 1) + self.assertEqual(self.run_script("--check", str(AFTER)).returncode, 0) + self.assertEqual(read(BEFORE).count(""), 5, + "--check must not write") + + def test_rewrite_then_check_passes(self): + tmp = self.copy(BEFORE) + r = self.run_script(str(tmp)) + self.assertEqual(r.returncode, 0, r.stderr) + self.assertIn("mirrored 8 message(s), 3 plural form(s)", r.stdout) + self.assertEqual(read(tmp), read(AFTER)) + self.assertEqual(self.run_script("--check", str(tmp)).returncode, 0) + + def test_child_element_exits_2_and_leaves_file(self): + tmp = self.copy(BEFORE) + bad = read(tmp).replace("Ouvrir le projet", + 'ab') + tmp.write_text(bad, encoding="utf-8", newline="") + r = self.run_script(str(tmp)) + self.assertEqual(r.returncode, 2) + self.assertIn("child element", r.stderr) + self.assertEqual(read(tmp), bad) + + @unittest.skipUnless(REPO_FR.is_file(), "lang/qet_fr.ts not found next to the tool") + def test_repository_french_file_is_mirrored(self): + """The maintenance rule: run the mirror after update_translations.""" + r = self.run_script("--check", str(REPO_FR)) + self.assertEqual(r.returncode, 0, + f"lang/qet_fr.ts needs a mirror run:\n{r.stdout}") + + +if __name__ == "__main__": + unittest.main() diff --git a/misc/import_breeze_icons.py b/misc/import_breeze_icons.py index e8bd9af4a..3b9afbad0 100644 --- a/misc/import_breeze_icons.py +++ b/misc/import_breeze_icons.py @@ -29,6 +29,9 @@ and 32 pixels, unchanged: ico/breeze/22/.svg ico/breeze/32/.svg +The settings page icons in BREEZE_PAGES are copied from the one size +listed for each, to ico/breeze//.svg. + Many Breeze names are symbolic links to another file. The copy holds the linked file's content under the name BREEZE gives, so list the link's target in BREEZE and several QET icons share one copy. Every name needs @@ -39,7 +42,7 @@ import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).resolve().parent)) -from make_icon_themes import BREEZE, BREEZE_SIZES, ICO # noqa: E402 +from make_icon_themes import BREEZE, BREEZE_PAGES, BREEZE_SIZES, ICO # noqa: E402 CATEGORIES = ["actions", "places", "mimetypes", "status", "devices", "apps", "preferences"] OUT = ICO / "breeze" @@ -69,6 +72,14 @@ def main(): target.parent.mkdir(parents=True, exist_ok=True) target.write_bytes(source.read_bytes()) wanted.add(target) + for name, size in BREEZE_PAGES.values(): + source = find(checkout, name, size) + if not source: + sys.exit(f"{name}: no {size} pixel icon in {checkout}") + target = OUT / str(size) / f"{name}.svg" + target.parent.mkdir(parents=True, exist_ok=True) + target.write_bytes(source.read_bytes()) + wanted.add(target) # Drop icons no longer listed, so ico/breeze/ holds only what the theme uses. for old in sorted(OUT.glob("*/*.svg")): if old not in wanted: diff --git a/misc/make_icon_themes.py b/misc/make_icon_themes.py index 1a2a79bfb..7a784c7d2 100644 --- a/misc/make_icon_themes.py +++ b/misc/make_icon_themes.py @@ -22,17 +22,17 @@ Run from the repository root: It writes: - ico/themes/qet/index.theme the light theme, all existing art - ico/themes/qet-dark/index.theme the dark theme, inherits "qet" - ico/themes/qet-dark//*.png light-ink copies of the line-art icons - ico/themes/qet-dark/scalable/*.svg the same for the SVG icons - ico/themes/qet-dark/breeze*/ the same for the Breeze SVGs - ico/themes/qet-dark/traced*/ the same for the traced SVGs - ico/generated/scalable-22/*.svg QET's 24 pixel canvas cut down to its 22 pixel art - ico/generated/breeze-24/*.svg Breeze 22 pixel art on a 24 pixel canvas - ico/generated/traced-24/*.svg traced 22 pixel art on a 24 pixel canvas - ico/generated/traced-large-24/*.svg the smooth 22 pixel design on that canvas - ico/icon-themes.qrc resource file listing both themes + ico/themes/qet/index.theme the light theme, all existing art + ico/themes/qet-dark/index.theme the dark theme, inherits "qet" + ico/themes/qet-dark//*.png light-ink copies of the line-art icons + ico/themes/qet-dark/scalable/*.svg the same for the SVG icons + ico/themes/qet-dark/breeze*/ the same for the Breeze SVGs + ico/themes/qet-dark/traced*/ the same for the traced SVGs + ico/themes/generated/scalable-22/*.svg QET's 24 pixel canvas cut down to its 22 pixel art + ico/themes/generated/breeze-24/*.svg Breeze 22 pixel art on a 24 pixel canvas + ico/themes/generated/traced-24/*.svg traced 22 pixel art on a 24 pixel canvas + ico/themes/generated/traced-large-24/*.svg the smooth 22 pixel design on that canvas + ico/icon-themes.qrc resource file listing both themes An icon listed in BREEZE comes from the KDE Breeze theme instead of its PNG files. misc/import_breeze_icons.py copies Breeze's 16, 22 and 32 @@ -60,9 +60,10 @@ folder has a twin with Scale=2 (16x16@2 and so on) that aliases the art for twice the pixels, by the same rule. Where Breeze has no 16 pixel drawing, QET adds one in -ico/breeze-added/16/, on Breeze's grid and in its colors, so every icon +ico/breeze/added/16/, on Breeze's grid and in its colors, so every icon has art drawn for 16 pixels. Without one, the 32 pixel art is halved, -which blurs. +which blurs. A drawing there also replaces a Breeze 16 pixel drawing in +another style than the 22 pixel art (transform-crop). 32 pixel art drawn in another style than the 22 pixel art (a blue folder for a line-art one) is not used; the 16 pixel art keeps the @@ -72,19 +73,19 @@ Qt takes a Fixed folder only at its exact size and the scalable file for every other size, so a size not listed, such as the 50 pixels of the elements panel, is still scaled. -An SVG of ico/scalable/ is 22 pixel art on a 24 pixel canvas: sharp in +An SVG of ico/qet/scalable/ is 22 pixel art on a 24 pixel canvas: sharp in the toolbar and blurred at 16 pixels, in a menu. One with a 16 pixel -drawing of the same name in ico/scalable/16/ (the Align icons) is +drawing of the same name in ico/qet/scalable/16/ (the Align icons) is served as a Breeze icon is: the 16 pixel drawing, the 22 pixel art cut out of the canvas, and the file itself at 24 and 48 pixels. -An icon with files in ico/traced/ is QET's own PNG art redrawn as SVG. -ico/traced/16 and ico/traced/22 hold the PNG copied pixel by pixel, so -the icon looks as it did at those sizes. ico/traced/large16 and -ico/traced/large22 hold the same two designs as smooth vectors, for the -larger sizes and for 2x screens. A smooth vector still has its straight -edges on the grid it was drawn on, so it follows the same rule as the -Breeze art: +An icon with files in ico/qet/traced/ is QET's own PNG art redrawn as SVG. +ico/qet/traced/16 and ico/qet/traced/22 hold the PNG copied pixel by +pixel, so the icon looks as it did at those sizes. ico/qet/traced/large16 +and ico/qet/traced/large22 hold the same two designs as smooth vectors, +for the larger sizes and for 2x screens. A smooth vector still has its +straight edges on the grid it was drawn on, so it follows the same rule +as the Breeze art: 16x16 the 16 pixel copy 22x22 the 22 pixel copy @@ -94,9 +95,13 @@ Breeze art: another multiple of 16 (32, 64, 128...) the smooth 16 pixel design 44 pixels and scalable the smooth 22 pixel design -The Scale=2 folders follow the table at twice their size. Four icons +The Scale=2 folders follow the table at twice their size. Five icons have a 32 pixel design, used in place of both smooth vectors. +A settings page icon (PAGES) is colored art shown at 64 and 128 pixels: +one SVG in the scalable folder serves it. The printer and settings pages +use the Breeze art QET's PNGs were exported from (BREEZE_PAGES). + An SVG is recolored for the dark theme through its text color (see dark_svg). A colored SVG, one without a text color, gets no dark copy and is inherited from the light theme, as a colored PNG is. @@ -110,7 +115,7 @@ touched; the dark theme inherits them from the light one. Qt inherits by name, not by size: once a name has any file in the dark theme, the parent theme is never consulted for that name, and a size the dark theme lacks is served by scaling the nearest dark file. An icon that -is line art at 22 pixels and colored at 128 (the printer) would then come +is line art at 22 pixels and colored at 128 would then come out as the 22 pixel copy scaled up on a dark palette. So for every name the dark theme holds, the .qrc also aliases the light files of the sizes the dark theme does not have, when they read on the dark window (3:1, @@ -146,6 +151,7 @@ ROOT = Path(__file__).resolve().parent.parent ICO = ROOT / "ico" THEMES = ICO / "themes" QRC = ICO / "icon-themes.qrc" +GENERATED = THEMES / "generated" # Fixed-size folders that hold toolbar, menu and dialog icons. The 24x16 # flags, the 22x22/color swatches and the application icons are not theme @@ -163,30 +169,23 @@ CANVAS_SIZE = "24x24" # and conductor icons that used to be listed here are SVGs now. ALIASES = {} -# SVG icons referenced from sources/qeticons.cpp. ico/scalable/ holds the +# SVG icons referenced from sources/qeticons.cpp. ico/qet/scalable/ holds the # ones drawn for QET as vectors; one file serves every size. SVGS = [ - "scalable/align-horizontal-center.svg", - "scalable/align-horizontal-left.svg", - "scalable/align-horizontal-right.svg", - "scalable/align-vertical-bottom.svg", - "scalable/align-vertical-center.svg", - "scalable/align-vertical-top.svg", - "scalable/diagram.svg", - "scalable/folio-delete.svg", - "scalable/folio-new.svg", - "scalable/folio-properties.svg", - "scalable/label.svg", - "scalable/pdf-import.svg", - "scalable/snap-to-grid.svg", - "breeze-icons/scalable/apps/hidef/edit-opacity.svg", - "breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg", - "breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg", - "breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg", - "breeze-icons/scalable/apps/hidef/transform-crop.svg", - "generated/ellipse-to-bezier.svg", - "generated/rect-to-bezier.svg", - "generated/rect-to-polyline.svg", + "qet/scalable/align-horizontal-center.svg", + "qet/scalable/align-horizontal-left.svg", + "qet/scalable/align-horizontal-right.svg", + "qet/scalable/align-vertical-bottom.svg", + "qet/scalable/align-vertical-center.svg", + "qet/scalable/align-vertical-top.svg", + "qet/scalable/diagram.svg", + "qet/scalable/draw-fillet.svg", + "qet/scalable/folio-delete.svg", + "qet/scalable/folio-new.svg", + "qet/scalable/folio-properties.svg", + "qet/scalable/label.svg", + "qet/scalable/pdf-import.svg", + "qet/scalable/snap-to-grid.svg", ] # Icons served by Breeze SVGs in ico/breeze/, QET name to Breeze name. @@ -197,7 +196,6 @@ BREEZE = { "applications-development-translation": "amarok_change_language", "arrow-left": "go-previous", "arrow-right": "go-next", - "circle": "draw-circle", "configure": "configure", "dialog-cancel": "dialog-cancel", "dialog-ok": "dialog-ok-apply", @@ -212,12 +210,14 @@ BREEZE = { "document-save": "document-save", "document-save-all": "document-save-all", "document-save-as": "document-save-as", + "draw-bezier-curves": "draw-bezier-curves", "edit-clear": "edit-clear", "edit-clear-locationbar-ltr": "edit-clear-locationbar-ltr", "edit-copy": "edit-copy", "edit-cut": "edit-cut", "edit-delete": "edit-delete", "edit-download": "edit-download", + "edit-opacity": "edit-opacity", "edit-paste": "edit-paste", "edit-redo": "edit-redo", "edit-rename": "document-edit", @@ -233,7 +233,6 @@ BREEZE = { "edit-table-insert-row-above": "edit-table-insert-row-above", "edit-table-insert-row-under": "edit-table-insert-row-under", "edit-undo": "edit-undo", - "ellipse": "draw-ellipse", "flip": "object-flip-vertical", "folder": "folder", "folder-new": "folder-new", @@ -254,6 +253,8 @@ BREEZE = { "grid": "view-grid", "help-contents": "help-contents", "help-donate": "love-amarok", + "image-flip-horizontal": "object-flip-horizontal", + "image-flip-vertical": "object-flip-vertical", "image-x-eps": "application-postscript", "insert-image": "insert-image", "item-cancel": "dialog-cancel", @@ -278,17 +279,18 @@ BREEZE = { "start": "media-playback-start", "table-of-content": "gtk-index", "text": "insert-text", + "transform-crop": "transform-crop", "transform-rotate": "transform-rotate", "transform-scale": "transform-scale", "two_pages": "view-pages-facing", "user-busy": "im-user-busy", "user-online": "im-user-online", - "view-fit-window": "zoom-fit-best", "view-fullscreen": "view-fullscreen", "view-pim-journal": "view-calendar-journal", "view-refresh": "view-refresh", "view-restore": "view-restore", "view_fit_width": "zoom-fit-width", + "window-close": "window-close", "window-new": "window-new", "zoom-draw": "zoom-fit-best", "zoom-in": "zoom-in", @@ -299,21 +301,38 @@ BREEZE = { # Sizes Breeze draws its action icons at, the folders of ico/breeze/. BREEZE_SIZES = [16, 22, 32] +# Settings page icons: colored art shown at 64 and 128 pixels only, so one +# scalable SVG serves every size. QET name to Breeze name and the Breeze +# size it is copied from (ico/breeze//.svg). QET's PNGs of +# these were exports of the same Breeze art. +BREEZE_PAGES = { + "printer": ("printer", 64), + "settings": ("systemsettings", 48), +} + +# Page icons, QET name to SVG, relative to ico/. +PAGES = {name: f"breeze/{size}/{breeze}.svg" for name, (breeze, size) in BREEZE_PAGES.items()} +PAGES["configure-shortcuts"] = "qet/pages/configure-shortcuts.svg" + +# The app icon's theme name. Its PNGs, one per size, stay in +# ico/breeze-icons//apps/, where the packaging scripts install them from. +APP_ICON = "qelectrotech" + # Where the generator puts the 22 pixel Breeze art moved onto a 24 pixel # canvas (see on_24_canvas). -BREEZE_24 = ICO / "generated" / "breeze-24" +BREEZE_24 = GENERATED / "breeze-24" -# Icons traced from QET's PNG art: every name with a file in ico/traced/16. -TRACED = sorted(svg.stem for svg in (ICO / "traced" / "16").glob("*.svg")) +# Icons traced from QET's PNG art: every name with a file in ico/qet/traced/16. +TRACED = sorted(svg.stem for svg in (ICO / "qet" / "traced" / "16").glob("*.svg")) -# Where the generator puts the 22 pixel art cut out of the ico/scalable/ +# Where the generator puts the 22 pixel art cut out of the ico/qet/scalable/ # files that have a 16 pixel drawing (see grid_entries). -SCALABLE_22 = ICO / "generated" / "scalable-22" +SCALABLE_22 = GENERATED / "scalable-22" # Where the generator puts the 22 pixel traced art on a 24 pixel canvas: # the pixel copy and the smooth vector. -TRACED_24 = ICO / "generated" / "traced-24" -TRACED_LARGE_24 = ICO / "generated" / "traced-large-24" +TRACED_24 = GENERATED / "traced-24" +TRACED_LARGE_24 = GENERATED / "traced-large-24" SATURATED_FRACTION = 0.20 # at or above this an icon is "colored" WHITE_LIGHTNESS = 0.85 # a visible pixel this light counts as white @@ -463,8 +482,14 @@ def breeze_entries(breeze_name): following the table in the module docstring.""" art = {size: f"breeze/{size}/{breeze_name}.svg" for size in BREEZE_SIZES if (ICO / "breeze" / str(size) / f"{breeze_name}.svg").exists()} - added = ICO / "breeze-added" / "16" / f"{breeze_name}.svg" - if 16 not in art and added.exists(): + # QET's own 16 pixel drawing, where Breeze has none or draws the icon + # in another style at 16 (transform-crop: a crop mark, a dashed box + # at 22). Breeze's 32 pixel art then goes too, so 32 and up keep the + # 22 pixel look. + added = ICO / "breeze" / "added" / "16" / f"{breeze_name}.svg" + if added.exists(): + if 16 in art: + art.pop(32, None) art[16] = str(added.relative_to(ICO)) # Breeze sometimes draws the 32 pixel icon in another style, a blue # folder where the smaller ones are line art. Its color classes then @@ -492,12 +517,12 @@ def without_canvas(text, path): def grid_entries(name): - """(theme folder, source path relative to ico/) for an ico/scalable/ + """(theme folder, source path relative to ico/) for an ico/qet/scalable/ icon with a 16 pixel drawing. The scalable folder is not listed; it holds the file already.""" - small = f"scalable/16/{name}.svg" + small = f"qet/scalable/16/{name}.svg" art = str((SCALABLE_22 / f"{name}.svg").relative_to(ICO)) - canvas = f"scalable/{name}.svg" + canvas = f"qet/scalable/{name}.svg" return [("16x16", small), ("22x22", art), ("32x32", small), ("48x48", canvas), ("64x64", small), ("128x128", small), ("16x16@2", small), ("22x22@2", art), ("32x32@2", small), @@ -507,9 +532,9 @@ def grid_entries(name): def traced_entries(name): """(theme folder, source path relative to ico/) for one traced icon, following the table in the module docstring.""" - pixels = {16: f"traced/16/{name}.svg", 22: f"traced/22/{name}.svg", + pixels = {16: f"qet/traced/16/{name}.svg", 22: f"qet/traced/22/{name}.svg", 24: str((TRACED_24 / f"{name}.svg").relative_to(ICO))} - small, large = f"traced/large16/{name}.svg", f"traced/large22/{name}.svg" + small, large = f"qet/traced/large16/{name}.svg", f"qet/traced/large22/{name}.svg" canvas = TRACED_LARGE_24 / f"{name}.svg" # An icon with a 32 pixel design has no canvas copy (see main). canvas = str(canvas.relative_to(ICO)) if canvas.exists() else large @@ -527,9 +552,9 @@ def traced_entries(name): def dark_path(source): """Where the dark copy of a Breeze or traced SVG goes: one copy per source file, however many theme entries alias it.""" - if source.startswith("scalable/16/"): + if source.startswith("qet/scalable/16/"): return "themes/qet-dark/scalable-16/" + Path(source).name - return "themes/qet-dark/" + source.removeprefix("generated/") + return "themes/qet-dark/" + source.removeprefix("themes/generated/").removeprefix("qet/") def write_canvases(folder, sources, convert=on_24_canvas): @@ -595,11 +620,11 @@ def main(): changed = 0 line_art = colored = light_art = 0 - grid = sorted(svg.stem for svg in (ICO / "scalable" / "16").glob("*.svg")) + grid = sorted(svg.stem for svg in (ICO / "qet" / "scalable" / "16").glob("*.svg")) for size in SIZES: folder = ICO / size for png in sorted(folder.glob("*.png")): - if png.stem in BREEZE or png.stem in TRACED or png.stem in grid: + if png.stem in BREEZE or png.stem in TRACED or png.stem in grid or png.stem in PAGES: continue rel = f"{size}/{png.name}" names = [png.stem] @@ -624,8 +649,16 @@ def main(): changed += write_if_changed(target, dark_image) dark.append(f"themes/qet-dark/{size}/{name}.png") - for rel in SVGS: - name = (ICO / rel).name.replace("-symbolic", "") + # The app icon: Nuri's PNGs, used as they are. Colored art, so the + # dark theme inherits it. + for size in SIZES: + rel = f"breeze-icons/{size}/apps/{APP_ICON}.png" + if (ICO / rel).exists(): + light.append((f"themes/qet/{size}/{APP_ICON}.png", rel)) + + svgs = [((ICO / rel).name.replace("-symbolic", ""), rel) for rel in SVGS] + svgs += [(f"{name}.svg", rel) for name, rel in PAGES.items()] + for name, rel in svgs: light.append((f"themes/qet/scalable/{name}", rel)) text = dark_svg((ICO / rel).read_text(encoding="utf-8")) if text is None: @@ -642,13 +675,13 @@ def main(): sys.exit("both a Breeze and a traced icon: " + ", ".join(overlap)) changed += write_canvases(BREEZE_24, {name: ICO / "breeze" / "22" / f"{name}.svg" for name in set(BREEZE.values())}) - changed += write_canvases(TRACED_24, {name: ICO / "traced" / "22" / f"{name}.svg" + changed += write_canvases(TRACED_24, {name: ICO / "qet" / "traced" / "22" / f"{name}.svg" for name in TRACED}) - smooth = {name: ICO / "traced" / "large22" / f"{name}.svg" for name in TRACED} + smooth = {name: ICO / "qet" / "traced" / "large22" / f"{name}.svg" for name in TRACED} changed += write_canvases(TRACED_LARGE_24, { name: path for name, path in smooth.items() if 'viewBox="0 0 22 22"' in path.read_text(encoding="utf-8")}) - changed += write_canvases(SCALABLE_22, {name: ICO / "scalable" / f"{name}.svg" for name in grid}, + changed += write_canvases(SCALABLE_22, {name: ICO / "qet" / "scalable" / f"{name}.svg" for name in grid}, without_canvas) entries = [(qet_name, breeze_entries(breeze_name)) for qet_name, breeze_name in BREEZE.items()] entries += [(name, grid_entries(name)) for name in grid] diff --git a/misc/qet-mcp/README.md b/misc/qet-mcp/README.md index 37a3a2cb8..46a69dbe3 100644 --- a/misc/qet-mcp/README.md +++ b/misc/qet-mcp/README.md @@ -39,8 +39,15 @@ here read the model. | `qet_element_build` | **author a `.elmt`** — draw a new symbol, with terminals to wire it by | | `qet_project_new` | **start from nothing** — an empty project with a title and folios | | `qet_element_search` | **find a symbol** in a collection by name (any language), type or terminal count | -| `qet_check` | **design-rule checks** — duplicate labels, unlabelled masters, unnumbered conductors, empty folios | +| `qet_check` | **design-rule checks** — duplicate labels, unlabelled masters, unnumbered conductors, empty folios, terminals with more than four wires, folio reports with several wires | +| `qet_layout_check` | **does the drawing read well?** — a 0–100 score; wires that jog because two symbols are a few pixels out of line, symbols off the grid, wires through symbols, overlaps, crossings, labels over wires, 4-way junction dots, side branches out of line; and the moves that fix them, ready for `qet_edit` | | `qet_query` | **ask the project database** — read-only SQL over the views and tables | +| `qet_about` | **start here** — where QElectroTech keeps things, what is switched on, the stored scripts, the calls a script can make (from `qet-assistant.json`), the installation's standard symbols if it has any, and your house style | +| `qet_script_api` | **what a script can call** — every `qet.*` call of this build, and the header that makes a script a button | +| `qet_script_test` | **try a script** on a copy of a project: what it would change, what it logged, its errors | +| `qet_script_install` | **make a button** — store a script (and an SVG icon) where QElectroTech shows it in Project > Scripts and the Scripts toolbar | +| `qet_script_list`, `qet_script_read`, `qet_script_remove` | the stored scripts: list, read one to change it, delete one | +| `qet_recording_list`, `qet_recording_read`, `qet_recording_check`, `qet_recording_remove` | **macro recordings** — what you did by hand, and whether a script does the same | `qet_export` and `qet_edit` launch QElectroTech. Everything else parses the file directly, which is faster, needs no display, and cannot be confused by @@ -172,17 +179,17 @@ tools that read files work there: `qet_project_info`, `qet_elements`, `qet_conductors`, `qet_items`, `qet_diff`, `qet_scan`, `qet_element_info`, `qet_element_search` and `qet_element_build`. -## Five tools need scripting switched on +## Some tools need scripting switched on A QElectroTech with JavaScript scripting switched off refuses `--run`, and off is the default from [#984](https://github.com/qelectrotech/qelectrotech-source-mirror/pull/984) -onwards. Five tools here drive it that way and stop working until it is -turned on: +onwards. These tools drive it that way, or store a script that runs when +clicked, and stop working until it is turned on: | | | |---|---| -| need `QET_ENABLE_SCRIPTING=1` | `qet_query`, `qet_continuity`, `qet_check`, `qet_project_new`, `qet_edit` | +| need `QET_ENABLE_SCRIPTING=1` | `qet_query`, `qet_continuity`, `qet_check`, `qet_layout_check`, `qet_project_new`, `qet_edit`, `qet_script_api`, `qet_script_test`, `qet_script_install`, `qet_script_remove` | | unaffected | everything else — they read the `.qet` directly, or, in `qet_export`'s case, use a plain CLI flag | The variable goes in the environment this server is started in, which for an @@ -193,7 +200,7 @@ configured this server and pointed it at a QElectroTech binary made that choice, and their interactive QElectroTech keeps whatever its own setting says. -Without it, those five come back `"ok": false` with a `hint` naming the +Without it, those come back `"ok": false` with a `hint` naming the variable. Older builds, from before the setting existed, need nothing. ## What the server is allowed to touch @@ -226,6 +233,8 @@ file or one listed by whoever configured the server: | `QET_MCP_BINARIES` | other executables a call may name, separated like `QET_MCP_WORKSPACE` (for comparing two builds) | | `QET_MCP_ALLOW_ANY_BINARY=1` | turns the check off: a call can then run any program | | `QET_MCP_ELEMENTS` | element collections a call may name as `elements_dir` besides the workspace and the installed one | +| `QET_MCP_CACHE_DIR` | where the parsed element index is kept between runs (default `~/.cache/qet-mcp`); a new server then loads a collection in well under a second instead of parsing every symbol | +| `QET_MCP_STANDARD_SYMBOLS` | the installation's standard symbols, one per device role (default `standard-symbols.json` in QElectroTech's data folder); `qet_about` lists them | Anything else is refused, even a file inside the workspace: being there makes it readable, not runnable. Before this rule any executable a call @@ -247,6 +256,152 @@ each tool. Importing `qet_mcp` and calling `tool_export()` from your own Python is not confined and is not meant to be — that is your code calling a library, and you already chose the paths. +## What QElectroTech tells the server: `qet-assistant.json` + +Each time an editor window opens, and whenever its stored scripts, +settings or live channel change, QElectroTech writes `qet-assistant.json` +in its standard data folder (`~/.local/share/QElectroTech/QElectroTech/` +on Linux, `%APPDATA%\QElectroTech\QElectroTech\` on Windows). It names +every folder actually in use, even when QElectroTech was started with +`--data-dir`, which features are on, every call a script can make, and the +stored scripts. The server reads it instead of guessing; `qet_about` shows +it. Set `QET_MCP_INFO_FILE` to read it from somewhere else. + +The server also sends the assistant a short note at first contact: the two +ways of working (files, or live), the usual order of tools, and to start +with `qet_about`. + +## Script buttons + +QElectroTech turns every `.js` file in its scripts folder that starts with a +`// ==QETScript==` header into a command with an icon: in Project > Scripts, +on the Scripts toolbar, in command search and in the shortcut bar. A person +can write that file by hand; an assistant uses the tools above. Both end +with the same file, and an open QElectroTech picks it up without a restart. + +```js +// ==QETScript== +// @name Add revision note +// @icon add-revision-note.svg +// @tooltip Puts a "Rev A" note on the folio on screen +// @shortcut Ctrl+Alt+R +// @context canvas +// ==/QETScript== +qet.addText(qet.currentFolio(), "Rev A", 40, 40); +``` + +The usual round: `qet_script_api` for the calls, `qet_script_test` on a +project until the diff is what was wanted, then `qet_script_install` with +`test_project` set, so a script that fails is not stored. The assistant +never presses the button: the user does, and one Ctrl+Z undoes the run. + +| | | +|---|---| +| folder | QElectroTech's data folder + `/scripts`: `~/.local/share/QElectroTech/QElectroTech/scripts` on Linux, `%APPDATA%\QElectroTech\QElectroTech\scripts` on Windows, `~/Library/Application Support/QElectroTech/QElectroTech/scripts` on macOS | +| `QET_MCP_SCRIPTS_DIR` | another folder, for a QElectroTech started with `--data-dir` | + +The folder is chosen by the server, never by a call, and a script's id +becomes its file name only if it is `a-z`, `0-9`, `-` and `_`. Storing or +removing a script needs `QET_ENABLE_SCRIPTING=1` like an edit does: a +stored script runs with the user's rights when they click it. + +## Macro recordings: from something done by hand to a button + +In QElectroTech, Project > Scripts > Record a macro records what you +do on a project until you click it again. It saves the project before and +after, and each step from the undo history with the folio after it. At Stop +it offers to copy a ready-made request; paste that into the assistant. + +| | | +|---|---| +| `qet_recording_list` | the recordings, newest first | +| `qet_recording_read` | one recording: each step as structured changes, and the overall change | +| `qet_recording_check` | run a script on the "before" project, from the same folio and selection, and say whether the result **matches** the "after" project, or what differs | +| `qet_recording_remove` | delete one | + +The usual round: read the recording, write a script that does the same in +general (on the selected elements, say, not on these exact ones), +`qet_recording_check` it until it matches, then `qet_script_install` it. + +## Your house style + +Drawing conventions you want every assistant to follow -- grid, flow +direction, wire routing, tags, grouping -- written once, in your own words, +and kept by QElectroTech itself rather than by any one assistant: + +```js +qet.setHouseStyle("Never place a symbol off the 10 px grid.\n..."); +``` + +It is stored in QElectroTech's settings (needs `QET_ENABLE_SCRIPTING=1`, as +for any change), written to `qet-assistant.json` as `house_style`, and shown +by `qet_about`, whose description tells the assistant to follow it. Every +assistant that connects, of any make, reads the same text. + +## Live mode: working in the QElectroTech you have open + +Every tool above works on files, with no QElectroTech window involved. The +`qet_live_*` tools instead act on the project open in **your** +QElectroTech, in front of you, so you can watch, stop or undo: + +| | | +|---|---| +| `qet_live_status` | what is on screen: project, folio, selection, last undo step, stored scripts | +| `qet_live_run_script` | run script text on the open project: one undo step named "Assistant: …" | +| `qet_live_run_stored` | press a stored script's button | +| `qet_live_command` | an editor command from an allow-list that opens no dialog: selection, zoom, rotate, snap, group, reset wires | +| `qet_live_show_folio` | show another folio | +| `qet_live_undo_last` | undo the newest step, only if the assistant made it | +| `qet_live_screenshot` | a picture of the folio on screen, as an MCP image, cropped to the folio | +| `qet_live_new_project` | a new project, as File > New makes it, made current; optional title, number of folios and a file to save it to (never over an existing one) | +| `qet_live_open_project` | open a saved project and make it current, with no dialog; one already open is only made current | +| `qet_live_switch_project` | make another open project current, by its index in `qet_live_status`'s `projects` or its file | +| `qet_live_save_project` | save the current project, or save it as a new file (never over an existing one) | +| `qet_live_close_project` | close a project, only when it has no unsaved changes | +| `qet_live_print` | print folios to the default or a named printer with no print dialog -- QElectroTech always asks you first -- or to a new PDF file | +| `qet_live_changes` | the undo history, each step marked assistant or you; `since` gives what changed after a point | +| `qet_live_layout_check` | `qet_layout_check` on the drawing as it is on screen, unsaved changes included, without saving it | + +Every `qet_live_*` call works on the current project. Pages and links +between pages need no tool of their own: in `qet_live_run_script`, +`qet.addFolio()` and `qet.setFolioTitle()` add and name folios, and +`qet.linkElements()` links a folio report arrow, or a coil and its +contacts, across folios. + +A script the assistant writes on the spot is shown to you first, with +*Run*, *Decline* or *Always* (remembered after a restart; untick "Ask +before running" in the Assistant panel to be asked again); the Assistant +panel lists everything it did. + +QElectroTech only listens when three things are true: + +1. the server has `QET_ENABLE_SCRIPTING=1`, as for editing; +2. in QElectroTech, Settings > Configure QElectroTech > General, on the + Projects tab, "Allow an AI assistant to act on the open project (live + mode)" is ticked (off by default; in French, Configurer QElectroTech > + Général > Projets); +3. at this start, you answered *Continue* to the warning QElectroTech shows + when it starts with that setting on -- or, once, ticked "Don't ask again + at start" in it, which lasts until the setting is switched off. + +While it listens, the status bar says so and shows the assistant's last +action, with a *Stop* button that closes the channel for the rest of +the session. Each action is one Ctrl+Z. A script's `qet.showMessage()` is +logged instead of opening a box nobody asked for. + +To see where a live request spends its time, start QElectroTech and this +server with the same `QET_LIVE_PERF_LOG=/path/to/log.jsonl`. Each side +appends one JSON line per request, with the same `id`: the server its +total, the time reading `qet-assistant.json` and the gap since its previous +call (the assistant's own turn); QElectroTech the time queued, waiting on +your answer, running, and until the folio is next repainted. Nothing is +written when the variable is unset. + +The channel is a local socket only your user can open. QElectroTech puts +its name and a random token in the `live` part of `qet-assistant.json`, +and clears it when the channel closes; `qet_about` says whether one is +open but never shows the token. + ## Worked examples **What did that edit change?** @@ -264,6 +419,61 @@ library, and you already chose the paths. Four elements moved by one uniform delta; nothing was relabelled. That is the answer a screenshot gave wrongly. +**Tidy a drawing: straight wires, symbols in line** + +A wire is straight only when its two terminals are exactly in line. A symbol +is placed by its origin and its terminals sit at an offset from it, so +symbols placed "under each other" by eye are often a few pixels apart and +the wire jogs. After drawing: + +```json +{"name": "qet_layout_check", "arguments": {"project": "drawn.qet"}} +``` + +```json +{"ok": true, "style": "iec", "score": 40, + "summary": {"wires": 4, "straight_wires": 0, "avoidable_bends": 4, "off_grid": 0, ...}, + "findings": [{"rule": "avoidable_bend", "folio": 1, "offset": 3.0, ...}], + "fixes": [{"op": "move_element", "folio": 0, "element": "{...}", "dx": -3.0, "dy": 0.0}, ...]} +``` + +Pass `fixes` as they are, all in one call, to `qet_edit`, then check again; +the same drawing then scores 100. The moves are planned together: a wire +that is already straight pins its two symbols, a move never puts a symbol +on another one or across another wire, and symbols lined up with each other +go onto the grid together. A jog no move can fix (two symbols whose +terminals are not spaced alike) is reported with `"conflict": true`. + +`style` is `iec` (current paths as columns, wires mostly vertical), `nfpa` +(ladder rungs as rows, wires mostly horizontal) or `auto`, which goes by the +drawing. The check is read-only. On a QElectroTech build without +`conductorPath()`, a wire whose two terminals both carry other wires cannot +be read; the answer names those in `unread_wires` and leaves them out of the +score. + +**Draw with straight wires from the start** + +A wire is straight only when its two terminals are exactly in line, and a +symbol is placed by its origin, not by its terminals. `place_element` does +the arithmetic: it adds a symbol with one of its terminals in line with +another symbol's, `gap` pixels away (40 by default), on the side that +terminal faces. + +```json +{"op": "add_element", "folio": 0, "path": "common://…/borne_2.elmt", "x": 100, "y": 100, "id": "x1"}, +{"op": "place_element", "folio": 0, "path": "common://…/contact.elmt", + "terminal": 0, "next_to": "$x1", "next_to_terminal": 2, "id": "k1"}, +{"op": "add_conductor", "folio": 0, "from": "$x1", "from_terminal": 2, "to": "$k1", "to_terminal": 0} +``` + +For a column of current paths (IEC) the next symbol goes below; for a +ladder rung (NFPA) to the right, with the symbols rotated so their +terminals face along the rung. If the named terminal faces the wrong way, +the op says so in its `note`. `align_terminal` lines up a symbol that is +already placed; `align_elements` and `distribute_elements` line up and +space whole rows or columns. `place_element` and `align_terminal` need a +QElectroTech with `qet.terminalPosition()`. + **Draw something, and check it landed** ```json @@ -421,6 +631,34 @@ Python, plus the hang guard on `addConductor` and the database refresh in the file until it is saved once: since #1107 QElectroTech works one out from the wire's two ends on load and writes it on the next save, so it appears after a first `qet_edit`. +- **Wires can be routed around symbols.** By default a new conductor gets + QElectroTech's own two or three straight segments, which run through + whatever symbol or wire lies between the two terminals. Give + `add_conductor` `"route": "avoid"` to redraw it around the symbols + instead, or use `route_conductor` (addressed like `move_conductor_segment`, + by `element` + `terminal` or by `"conductor": "{uuid}"`) to redraw one + already drawn. The route leaves and enters each terminal in its own + direction, runs on the folio grid, stays inside the folio's border, and is + the cheapest found by a search that charges for length, for each bend + and, less heavily, for running along or crossing another wire. Obstacles + are each symbol's own rectangle plus half a grid step; texts, images, + shapes and tables are not obstacles. Running along another wire costs + more but is not forbidden, so where there is no other way two wires + can end up drawn on top of each other. The path is saved as a + hand-edited one, so it survives a reload and one undo puts the + default back. Where + no route exists, the wire keeps its path: `route_conductor` returns + `"no-route"` and both ops say so in `note` -- it is not a failure, and + the run goes on. Like a hand-edited path, it is stretched rather than + rerouted when a symbol is moved afterwards; route again after moving + things. Needs `qet.routeConductor()` / `qet.routeConductorBetween()` in + the build, and only an edit that routes requires them. A symbol drawn + around either end's own symbol (a cabinet made as one element) is not + an obstacle, so a wire between two symbols inside one is routed inside + it. Two terminals facing each other on one line, with nothing between + them, are joined by a straight line however close they are. A + terminal pointing straight into another symbol has no route, rather + than one through that symbol. - **A terminal can be named by its uuid**: `terminal`, `from_terminal` and `to_terminal` take the terminal's uuid (as `qet_element_info` lists it) in place of its index, on the op's own element (for `add_conductor`, on @@ -431,6 +669,46 @@ Python, plus the hang guard on `addConductor` and the database refresh in `qet.terminalIndex()` in the build. A symbol file saved without terminal uuids lists them empty; QElectroTech gives the terminals of every project's copy of it a uuid on opening (#1118), written on the next save. +- **A folio can be sized for a sheet of paper**: `set_folio_border` with + `"property": "preset"` and a value such as `"tabloid-landscape"` (A0–A5, + letter, legal, tabloid or ledger, each `-portrait` or `-landscape`) picks + the column and row counts and sizes that fill the sheet best without + going over it, as one undo step, keeping each size as near the folio's + current one as it can. The title block and headers are measured from the + folio, not assumed, so it holds for any template on either edge. Sizes + stay whole numbers, because the folio properties panel edits them in + whole pixels and would round a fraction off the first time it was + opened; so the page can come out up to 0.75 pt short of the sheet a + side. The op's `note` says what it chose and the size of the frame a PDF + export measures, e.g. `23 columns of 70, 12 rows of 82; frame 1223.25 x + 791.25 pt` for tabloid landscape from a new folio. (The PDF export + measures the frame and title block plus its one-pixel line, at 96 pixels + an inch: 0.75 pt a pixel, and writes it on the standard sheet it is + within 3 pt of.) Needs `qet.folioPresets()` in the build. +- **The `wiring` export names unnamed terminals.** Most shipped symbols + leave their terminals unnamed, so `from_terminal`/`to_terminal` are often + empty. Each row also ends with `from_terminal_index`, + `from_terminal_uuid`, `to_terminal_index` and `to_terminal_uuid`: the + index `add_conductor` takes, and the uuid the `.qet` names the terminal + by (as `qet_edit` accepts in place of the index). The index is empty for + a terminal sharing its point with another, where the order is undefined; + the uuid tells those apart. `wiring_list_view` carries the same four + columns for `qet_query`. +- **`"reproducible": true` makes a PDF comparable byte for byte.** Two + exports of the same project otherwise differ in their dates and document + id. The option sets `SOURCE_DATE_EPOCH` for the run + ([reproducible-builds.org](https://reproducible-builds.org/specs/source-date-epoch/)): + the PDF then carries that date in UTC, a document id derived from the + project file, and its fonts in a fixed order. The date is + `source_date_epoch` if given, else the server's own `SOURCE_DATE_EPOCH`, + else 0 (1 January 1970). The result's `"reproducible"` is false, with a + hint, when the QElectroTech build is too old to honour it. +- **`"no_slaves"` and `"no_junctions"` shorten a `bom` export.** The first + leaves out the contact blocks, which otherwise get a row of their own; the + second leaves out terminal-type elements with no label, designation, + manufacturer or manufacturer reference, such as the junction dots of + `114_connections`. They pass `--no-slaves` and `--no-junctions`; an older + QElectroTech ignores both and exports every row, so check the row count. - **`qet_export` isolates its launch.** SingleApplication keys its socket on `applicationFilePath()`, so a second launch of the same binary path forwards its request to an already-running instance and returns *that* @@ -487,6 +765,13 @@ Python, plus the hang guard on `addConductor` and the database refresh in at names none of them and is refused, so address a potential from one of its leaves. Property names are the file's own, so `qet_conductors` reads back exactly what was set. +- **`set_conductor_default` sets a folio's conductor defaults**, the + Conductors tab of Folio properties: `onetextperfolio` (`"true"` shows one + wire number per potential on the folio), or any `set_conductor` property, + which conductors drawn later on that folio start from. `"folio": -1` sets + the project's defaults instead, which each folio added afterwards copies; + it does not change existing folios. Like the dialogs, it is not on the + undo stack. - **`link_elements` takes a folio for each end**, because a master and its slave are normally on different folios. Whether a pair may be linked is decided by QElectroTech's own `isLinkable()`, so a script cannot make a diff --git a/misc/qet-mcp/qet_mcp.py b/misc/qet-mcp/qet_mcp.py index 20485964d..eae28f5f1 100755 --- a/misc/qet-mcp/qet_mcp.py +++ b/misc/qet-mcp/qet_mcp.py @@ -56,6 +56,7 @@ workspace policy applies exactly as it does over stdio. from __future__ import annotations +import datetime import json import re import os @@ -63,8 +64,10 @@ import shutil import subprocess import sys import tempfile +import time +import uuid import xml.etree.ElementTree as ET -from pathlib import Path, PurePath +from pathlib import Path, PurePath, PurePosixPath, PureWindowsPath SERVER_NAME = "qet-mcp" SERVER_VERSION = "0.1.0" @@ -679,13 +682,18 @@ def tool_diff(before: str, after: str) -> dict: # the only thing a rotation changes, so without it a rotated symbol # reads as untouched. r["orientation"] = e.get("orientation", "0") + # A mirrored symbol carries mirror="horizontal", "vertical" or + # "both", about its own axes; a mirror changes nothing else unless + # the symbol's hotspot is off its centre. + r["mirror"] = e.get("mirror", "") a_el[r["uuid"] or f"{i}:{r['x']},{r['y']}:{r['name']}"] = r for i, e in _elements(_root(after)): r = _element_row(i, e) r["orientation"] = e.get("orientation", "0") + r["mirror"] = e.get("mirror", "") b_el[r["uuid"] or f"{i}:{r['x']},{r['y']}:{r['name']}"] = r - moved, rotated, relabelled, changed_info = [], [], [], [] + moved, rotated, mirrored, relabelled, changed_info = [], [], [], [], [] for k, a in a_el.items(): b = b_el.get(k) if b is None: @@ -693,6 +701,9 @@ def tool_diff(before: str, after: str) -> dict: if a["orientation"] != b["orientation"]: rotated.append({"uuid": k, "name": a["name"], "folio": a["folio"], "orientation": [a["orientation"], b["orientation"]]}) + if a["mirror"] != b["mirror"]: + mirrored.append({"uuid": k, "name": a["name"], "folio": a["folio"], + "mirror": [a["mirror"], b["mirror"]]}) if (a["x"], a["y"]) != (b["x"], b["y"]): moved.append({ "uuid": k, "name": a["name"], "folio": a["folio"], @@ -761,6 +772,7 @@ def tool_diff(before: str, after: str) -> dict: "relabelled": relabelled[:50], "info_changed": changed_info[:50], "rotated": rotated[:50], + "mirrored": mirrored[:50], }, "conductors": { "before": len(a_co), "after": len(b_co), @@ -942,7 +954,8 @@ def _collection_setting(collection: PurePath) -> str: def _run_qet(binary: str, args: list[str], timeout: int = 180, elements_dir: str | None = None, - script: str | None = None, tail: int = 4000) -> dict: + script: str | None = None, tail: int = 4000, + extra_env: dict | None = None) -> dict: """Launch QElectroTech headlessly, carrying the known launch traps. SingleApplication keys its socket on applicationFilePath(), so a second @@ -1000,6 +1013,7 @@ def _run_qet(binary: str, args: list[str], timeout: int = 180, script_path.write_text(script, encoding="utf-8") args = ["--run", str(script_path), *args] env = _launch_env(dict(os.environ), home, os.name == "nt") + env.update(extra_env or {}) try: p = subprocess.run([str(exe), *args], env=env, timeout=timeout, capture_output=True, text=True) @@ -1023,17 +1037,46 @@ def _run_qet(binary: str, args: list[str], timeout: int = 180, "QET_ENABLE_SCRIPTING=1 to the environment this server is " "started in -- in an MCP client that is the \"env\" block of " "its entry in the client configuration. Only qet_query, " - "qet_continuity, qet_check, qet_project_new and qet_edit " - "need it; every other tool either reads the file directly " + "qet_continuity, qet_check, qet_layout_check, qet_project_new, " + "qet_edit, " + "qet_script_api, qet_script_test, qet_script_install, " + "qet_script_remove and qet_recording_check need it; every " + "other tool either reads " + "the file directly " "or uses a plain CLI flag.") return result +def _source_date_epoch(value) -> int: + """The SOURCE_DATE_EPOCH a reproducible export uses: @p value when the + caller gives one, else the one this server was started with, else 0. + + 0 (1 January 1970) rather than a date read from the project: the file's + modification time changes with every copy and checkout, and a date the + drawing carries is a title block field, not when the PDF was made. A + caller who wants a meaningful date passes it. + """ + if value is None: + value = os.environ.get("SOURCE_DATE_EPOCH", "0") + try: + seconds = None if isinstance(value, (bool, float)) else int(value) + except (TypeError, ValueError): + seconds = None + if seconds is None or seconds < 0: + raise ValueError(f"source_date_epoch must be a whole number of seconds " + f"since 1970, got {value!r}") + return seconds + + def tool_export(binary: str, project: str, format: str, output: str, - timeout: int = 180) -> dict: + timeout: int = 180, reproducible: bool = False, + source_date_epoch: int | None = None, + no_slaves: bool = False, no_junctions: bool = False) -> dict: if format not in EXPORT_FORMATS: raise ValueError(f"unknown format {format!r}; " f"expected one of {', '.join(sorted(EXPORT_FORMATS))}") + if (no_slaves or no_junctions) and format != "bom": + raise ValueError("no_slaves and no_junctions only apply to format \"bom\"") proj = Path(project).expanduser() if not proj.is_file(): raise ValueError(f"no such project: {proj}") @@ -1044,12 +1087,35 @@ def tool_export(binary: str, project: str, format: str, output: str, # application starts its GUI instead, which then hangs on an offscreen # platform. Order matters here. flag = EXPORT_FORMATS[format] - result = _run_qet(binary, [flag, str(proj), output], timeout) + # SOURCE_DATE_EPOCH (reproducible-builds.org) makes --export-pdf write + # the same bytes for the same project: the dates it names instead of + # now, a document id from the project file, fonts in a fixed order. + extra_env = None + if reproducible or source_date_epoch is not None: + epoch = _source_date_epoch(source_date_epoch) + extra_env = {"SOURCE_DATE_EPOCH": str(epoch)} + args = [flag, str(proj), output] + if no_slaves: + args.append("--no-slaves") + if no_junctions: + args.append("--no-junctions") + result = _run_qet(binary, args, timeout, extra_env=extra_env) out = Path(output).expanduser() result["output"] = str(out) result["output_exists"] = out.exists() if out.exists() and out.is_file(): result["output_bytes"] = out.stat().st_size + if extra_env and format == "pdf": + # A QElectroTech older than this option ignores the variable and + # writes the time of the export, so say whether this one did. + stamp = datetime.datetime.fromtimestamp(epoch, datetime.timezone.utc) + honoured = (b"/CreationDate (D:" + stamp.strftime("%Y%m%d%H%M%S").encode() + + b"Z)") in out.read_bytes() + result["reproducible"] = honoured + if not honoured: + result["hint"] = ("this QElectroTech ignores SOURCE_DATE_EPOCH, so the " + "PDF carries the time of the export; it needs a build " + "with repeatable PDF export") return result @@ -1344,6 +1410,8 @@ OPS = { ("dx", "num"), ("dy", "num")]), "rotate_element": ("rotateElement", [("folio", "folio"), ("element", "elmt"), ("angle", "num")]), + "mirror_element": ("mirrorElement", [("folio", "folio"), ("element", "elmt"), + ("vertical", "bool")]), "set_label": ("setElementLabel", [("folio", "folio"), ("element", "elmt"), ("label", "str")]), "set_info": ("setElementInfo", [("folio", "folio"), ("element", "elmt"), @@ -1358,6 +1426,10 @@ OPS = { "move_conductor_segment": ("moveConductorSegment", [("folio", "folio"), ("element", "elmt"), ("terminal", "term"), ("segment", "num"), ("dx", "num"), ("dy", "num")]), + # Redraws one conductor around the symbols in its way; the result is + # "routed", or "no-route" when there is none, the path then unchanged. + "route_conductor": ("routeConductor", [("folio", "folio"), ("element", "elmt"), + ("terminal", "term")]), "link_elements": ("linkElements", [("folio", "folio"), ("element", "elmt"), ("to_folio", "folio"), ("to", "elmt")]), "link_plc_io": ("linkElements", [("folio", "folio"), ("element", "elmt"), @@ -1392,9 +1464,17 @@ OPS = { "add_autonum": ("addAutoNum", [("kind", "str"), ("name", "str"), ("parts", "list")]), "remove_autonum": ("removeAutoNum", [("kind", "str"), ("name", "str")]), + "rename_autonum": ("renameAutoNum", [("kind", "str"), ("name", "str"), + ("new_name", "str")]), "use_conductor_autonum": ("useConductorAutoNum", [("folio", "folio"), ("name", "str")]), "use_element_autonum": ("useElementAutoNum", [("name", "str")]), "number_element": ("numberElement", [("folio", "folio"), ("element", "elmt")]), + "renumber_element_autonum": ("renumberElementAutoNum", [("name", "str")]), + "free_element_numbers": ("freeElementNumbers", [("folio", "folio"), ("element", "elmt")]), + "assign_element_number": ("assignElementNumber", [("folio", "folio"), ("element", "elmt"), + ("number", "num")]), + "assign_element_autonum": ("assignElementAutoNum", [("name", "str"), ("folio", "folio"), + ("element", "elmt"), ("overwrite", "bool")]), # The text fields drawn on a symbol. Indexed within the element's own # list, which follows its definition and shifts on delete (and undo of a # delete puts the field back at the end). @@ -1425,6 +1505,10 @@ OPS = { "set_project_title": ("setProjectTitle", [("title", "str")]), "set_folio_border": ("setFolioBorder", [("folio", "folio"), ("property", "str"), ("value", "str")]), + # A folio's conductor defaults, or with "folio": -1 the project's ones + # that each new folio copies. + "set_conductor_default": ("setConductorDefault", [("folio", "folio"), ("property", "str"), + ("value", "str")]), "embed_title_block_template": ("embedTitleBlockTemplate", [("name", "str")]), "duplicate_elements": ("duplicateElements", [("folio", "folio"), ("elements", "elmts"), ("to_folio", "folio"), ("x", "num"), ("y", "num")]), @@ -1468,11 +1552,53 @@ OPS = { "set_table_position": ("setTablePosition", [("folio", "folio"), ("table", "table"), ("x", "num"), ("y", "num")]), "delete_table": ("deleteTable", [("folio", "folio"), ("table", "table")]), + # Lining symbols up. These run several calls each, in helpers the + # generated script defines (qetMcp*), not one scripting call. + "align_elements": ("qetMcpAlign", [("folio", "folio"), ("elements", "elmts"), + ("edge", "str"), ("to", "elmt")]), + "distribute_elements": ("qetMcpDistribute", [("folio", "folio"), ("elements", "elmts"), + ("axis", "str"), ("pitch", "num")]), + # Place a symbol so one of its terminals is exactly in line with + # another symbol's: the wire between the two is then straight. Returns + # the new element's uuid, as add_element does. + "place_element": ("qetMcpPlace", [("folio", "folio"), ("path", "str"), + ("terminal", "anyterm"), ("next_to", "elmt"), + ("next_to_terminal", "anyterm"), + ("side", "str"), ("gap", "num"), + ("angle", "num")]), + "align_terminal": ("qetMcpAlignTerminal", [("folio", "folio"), ("element", "elmt"), + ("terminal", "anyterm"), ("to", "elmt"), + ("to_terminal", "anyterm")]), +} + +# Arguments those ops may leave out. +OP_DEFAULTS = { + "align_elements": {"to": ""}, + "distribute_elements": {"pitch": 0}, + "place_element": {"side": "", "gap": 40, "angle": 0}, +} +ALIGN_EDGES = ["left", "center", "right", "top", "middle", "bottom"] +DISTRIBUTE_AXES = ["horizontal", "vertical"] +PLACE_SIDES = ["", "below", "above", "right", "left"] +# What the helpers call, beyond what every edit needs. +_HELPER_NEEDS = { + "qetMcpAlign": {"elementGeometry", "moveElement"}, + "qetMcpDistribute": {"elementGeometry", "moveElement"}, + "qetMcpPlace": {"elementGeometry", "addElement", "deleteElement", "moveElement", + "rotateElement", "terminalPosition", "terminalIndex"}, + "qetMcpAlignTerminal": {"moveElement", "terminalPosition", "terminalIndex"}, } SHAPES = ["line", "rectangle", "ellipse", "polygon"] FOLIO_BORDER_PROPERTIES = ["columns", "column-width", "display-columns", - "rows", "row-height", "display-rows"] + "rows", "row-height", "display-rows", "preset"] +# The sheets set_folio_border's "preset" sizes a folio for, as the scripting +# API names them (QetScriptApi::folioPresets()). Tabloid and ledger are the +# same 11 x 17 in sheet. +FOLIO_PRESETS = [f"{paper}-{orientation}" + for paper in ("a0", "a1", "a2", "a3", "a4", "a5", + "letter", "legal", "tabloid", "ledger") + for orientation in ("portrait", "landscape")] ELEMENT_TEXT_SOURCES = ["text", "info", "composite"] ELEMENT_TEXT_PROPERTIES = ["text", "source", "info", "composite", "frame", "size", "x", "y", "rotation", "width"] @@ -1488,7 +1614,16 @@ FOLIO_MAKING_OPS = ("add_folio", "insert_folio") # The ops that address one conductor by element + terminal, and so also # take "conductor": "{uuid}" (qet_conductors reports each one's uuid). -CONDUCTOR_UUID_OPS = ("set_conductor", "move_conductor_segment", "delete_conductor") +CONDUCTOR_UUID_OPS = ("set_conductor", "move_conductor_segment", "delete_conductor", + "route_conductor") + +# add_conductor's "route": "default" is the application's own two or three +# segments; "avoid" then redraws the new conductor around the symbols. +ROUTE_MODES = ["default", "avoid"] + +# Routing arrived after the other drawing verbs, so it is required only by +# an edit that routes: every other edit still runs on a build without it. +_ROUTE_METHODS = {"routeConductor", "routeConductorBetween"} # Accepted by set_conductor. The names are the project file's own, so what # a script sets is what qet_conductors reports back. @@ -1499,11 +1634,16 @@ CONDUCTOR_PROPERTIES = ["num", "formula", "function", "bus", "cable", "color2", "bicolor", "style", "dash-size", "condsize", "numsize", "displaytext"] +# A folio's conductor defaults take the same names, plus the folio-wide +# "one text per potential" switch, which no single conductor carries. +CONDUCTOR_DEFAULT_PROPERTIES = ["onetextperfolio"] + CONDUCTOR_PROPERTIES + # Methods this tool needs that only exist in a build carrying the drawing # verbs. Probed in the script rather than assumed, because the failure mode # otherwise is a TypeError on line N of a generated file the caller never # sees, reported as "the edit failed". -_REQUIRED_METHODS = sorted({m for m, _ in OPS.values() if m} | +_REQUIRED_METHODS = sorted(({m for m, _ in OPS.values() + if m and not m.startswith("qetMcp")} - _ROUTE_METHODS) | {"save", "folioCount", "conductorCount", "elementCount"}) _MARKER = "QETEDIT " @@ -1585,6 +1725,97 @@ def _build_script(operations: list, output: str) -> str: "' (or two of its terminals carry it)'}));", " return t;", "}", + # The layout ops' helpers. qetMcpOp is the index of the op running, + # for the notes they log. + "var qetMcpOp = -1;", + "function qetMcpNote(note) {", + f" qet.log({_js(_MARKER)} + JSON.stringify(" + "{kind: 'op_note', index: qetMcpOp, note: note}));", + "}", + "function qetMcpTerm(folio, element, t) {", + " return typeof t === 'string' ? qet.terminalIndex(folio, element, t) : t;", + "}", + "function qetMcpAlign(folio, els, edge, to) {", + " var ref = qet.elementGeometry(folio, to || els[0]);", + " if (ref.left === undefined) { qetMcpNote('no element ' + (to || els[0])); return false; }", + " var across = edge === 'left' || edge === 'center' || edge === 'right';", + " function at(g) {", + " if (edge === 'center') return (g.left + g.right) / 2;", + " if (edge === 'middle') return (g.top + g.bottom) / 2;", + " return g[edge];", + " }", + " var moved = 0;", + " for (var i = 0; i < els.length; i++) {", + " if (els[i] === to) continue;", + " var g = qet.elementGeometry(folio, els[i]);", + " if (g.left === undefined) { qetMcpNote('no element ' + els[i]); return false; }", + " var d = at(ref) - at(g);", + " if (Math.abs(d) < 1e-9) continue;", + " if (!qet.moveElement(folio, els[i], across ? d : 0, across ? 0 : d)) return false;", + " moved++;", + " }", + " return moved;", + "}", + "function qetMcpDistribute(folio, els, axis, pitch) {", + " var k = axis === 'horizontal' ? 'x' : 'y', gs = [];", + " for (var i = 0; i < els.length; i++) {", + " var g = qet.elementGeometry(folio, els[i]);", + " if (g.left === undefined) { qetMcpNote('no element ' + els[i]); return false; }", + " gs.push({e: els[i], v: g[k]});", + " }", + " gs.sort(function (a, b) { return a.v - b.v; });", + " var n = gs.length, first = gs[0].v;", + " var step = pitch > 0 ? pitch : (gs[n - 1].v - first) / (n - 1);", + " var moved = 0;", + " for (var j = 1; j < n; j++) {", + " var t = first + j * step;", + # an even split of a gap that is not a whole number of grid steps + # rounds each place to the grid, so symbols on it stay on it + " if (pitch <= 0 && j < n - 1) t = first + Math.round((t - first) / 10) * 10;", + " var d = t - gs[j].v;", + " if (Math.abs(d) < 1e-9) continue;", + " if (!qet.moveElement(folio, gs[j].e, k === 'x' ? d : 0, k === 'y' ? d : 0)) return false;", + " moved++;", + " }", + " return moved;", + "}", + "var qetMcpStep = {below: [0, 1], above: [0, -1], right: [1, 0], left: [-1, 0]};", + "var qetMcpFacingSide = {s: 'below', n: 'above', e: 'right', w: 'left'};", + "var qetMcpBack = {below: 'n', above: 's', right: 'w', left: 'e'};", + "function qetMcpPlace(folio, path, term, near, nearTerm, side, gap, angle) {", + " var g = qet.elementGeometry(folio, near);", + " if (g.left === undefined) { qetMcpNote('no element ' + near); return ''; }", + " var to = qet.terminalPosition(folio, near, qetMcpTerm(folio, near, nearTerm));", + " if (to.x === undefined) { qetMcpNote('next_to_terminal ' + nearTerm + ' is not a terminal of ' + near); return ''; }", + " var el = qet.addElement(folio, path, g.x, g.y);", + " if (!el) return '';", + # turned first, so the terminal is measured where it ends up + " if (angle && !qet.rotateElement(folio, el, angle)) { qet.deleteElement(folio, el); return ''; }", + " var mine = qet.terminalPosition(folio, el, qetMcpTerm(folio, el, term));", + " if (mine.x === undefined) {", + " qet.deleteElement(folio, el);", + " qetMcpNote('terminal ' + term + ' is not a terminal of ' + path);", + " return '';", + " }", + " side = side || qetMcpFacingSide[to.facing];", + " var s = qetMcpStep[side];", + " if (!qet.moveElement(folio, el, to.x + s[0] * gap - mine.x, to.y + s[1] * gap - mine.y)) return '';", + " if (mine.facing !== qetMcpBack[side])", + " qetMcpNote('terminal ' + term + ' of the new symbol faces ' + mine.facing + ', not '", + " + qetMcpBack[side] + ': the wire to it will bend. Rotate the symbol (rotate_element) '", + " + 'or name another terminal');", + " return el;", + "}", + "function qetMcpAlignTerminal(folio, el, term, to, toTerm) {", + " var a = qet.terminalPosition(folio, to, qetMcpTerm(folio, to, toTerm));", + " var b = qet.terminalPosition(folio, el, qetMcpTerm(folio, el, term));", + " if (a.x === undefined || b.x === undefined) {", + " qetMcpNote('terminal not found: ' + (a.x === undefined ? to + ' ' + toTerm : el + ' ' + term));", + " return false;", + " }", + " var along = a.facing === 'n' || a.facing === 's';", + " return qet.moveElement(folio, el, along ? a.x - b.x : 0, along ? 0 : a.y - b.y);", + "}", "if (missing.length === 0) {", ] @@ -1656,6 +1887,16 @@ def _build_script(operations: list, output: str) -> str: raise ValueError(f"operation {op_index}: {key!r} must be a terminal index " f"or its uuid, got {value!r}") return _js(value) + if kind == "anyterm": + # A terminal of an element the helper resolves itself (for + # place_element, one that does not exist yet): its index, or its + # uuid, which the helper turns into the index. + if isinstance(value, str) and _UUID_RE.fullmatch(value): + return _js(value) + if not isinstance(value, int) or isinstance(value, bool) or value < 0: + raise ValueError(f"operation {op_index}: {key!r} must be a terminal index " + f"or its uuid, got {value!r}") + return _js(value) if kind == "element_text": # A field's uuid is unique only within its element (copies keep # them), so the lookup takes the op's element too. @@ -1734,11 +1975,19 @@ def _build_script(operations: list, output: str) -> str: raise ValueError(f"operation {i}: unknown conductor property " f"{op.get('property')!r}; expected one of " f"{', '.join(CONDUCTOR_PROPERTIES)}") + route = op.get("route", "default") if name == "add_conductor" else "default" + if route not in ROUTE_MODES: + raise ValueError(f"operation {i}: unknown route {route!r}; " + f"expected one of {', '.join(ROUTE_MODES)}") + if name == "route_conductor": + uuid_methods.add("routeConductor") + if route == "avoid": + uuid_methods.add("routeConductorBetween") if name == "set_folio" and op.get("property") not in FOLIO_PROPERTIES: raise ValueError(f"operation {i}: unknown folio property " f"{op.get('property')!r}; expected one of " f"{', '.join(FOLIO_PROPERTIES)}") - if name in ("add_autonum", "remove_autonum") and op.get("kind") not in AUTONUM_KINDS: + if name in ("add_autonum", "remove_autonum", "rename_autonum") and op.get("kind") not in AUTONUM_KINDS: raise ValueError(f"operation {i}: unknown kind {op.get('kind')!r}; " f"expected one of {', '.join(AUTONUM_KINDS)}") if name == "search_and_replace": @@ -1752,10 +2001,22 @@ def _build_script(operations: list, output: str) -> str: if op.get("kind") == "element_info" and not op.get("field"): raise ValueError(f"operation {i}: element_info needs a non-empty " f"\"field\" (information key)") + if (name == "set_conductor_default" + and op.get("property") not in CONDUCTOR_DEFAULT_PROPERTIES): + raise ValueError(f"operation {i}: unknown conductor default " + f"{op.get('property')!r}; expected one of " + f"{', '.join(CONDUCTOR_DEFAULT_PROPERTIES)}") if name == "set_folio_border" and op.get("property") not in FOLIO_BORDER_PROPERTIES: raise ValueError(f"operation {i}: unknown folio border property " f"{op.get('property')!r}; expected one of " f"{', '.join(FOLIO_BORDER_PROPERTIES)}") + preset = name == "set_folio_border" and op.get("property") == "preset" + if preset: + if str(op.get("value", "")).lower() not in FOLIO_PRESETS: + raise ValueError(f"operation {i}: unknown folio preset {op.get('value')!r}; " + f"expected one of {', '.join(FOLIO_PRESETS)}") + # Only a build that has it can say why it refused one. + uuid_methods.add("folioPresets") if name == "add_element_text" and op.get("source") not in ELEMENT_TEXT_SOURCES: raise ValueError(f"operation {i}: unknown source {op.get('source')!r}; " f"expected one of {', '.join(ELEMENT_TEXT_SOURCES)}") @@ -1773,6 +2034,36 @@ def _build_script(operations: list, output: str) -> str: # The conductor ops take "conductor": "{uuid}" in place of element + # terminal: a uuid names one conductor for good, where a terminal # can carry several. + if name in OP_DEFAULTS: + op = {**OP_DEFAULTS[name], **op} + if name == "align_elements": + if op.get("edge") not in ALIGN_EDGES: + raise ValueError(f"operation {i}: unknown edge {op.get('edge')!r}; " + f"expected one of {', '.join(ALIGN_EDGES)}") + if not isinstance(op.get("elements"), list) or len(op["elements"]) < 2: + raise ValueError(f"operation {i}: align_elements needs at least 2 elements") + if name == "distribute_elements": + if op.get("axis") not in DISTRIBUTE_AXES: + raise ValueError(f"operation {i}: unknown axis {op.get('axis')!r}; " + f"expected one of {', '.join(DISTRIBUTE_AXES)}") + pitch = op.get("pitch") + if isinstance(pitch, (int, float)) and not isinstance(pitch, bool) and pitch < 0: + raise ValueError(f"operation {i}: pitch must be >= 0 (0: spread evenly)") + least = 2 if isinstance(pitch, (int, float)) and pitch > 0 else 3 + if not isinstance(op.get("elements"), list) or len(op["elements"]) < least: + raise ValueError(f"operation {i}: distribute_elements needs at least " + f"{least} elements" + ("" if least == 2 else + " (or 2 with a \"pitch\")")) + if name == "place_element": + if op.get("side") not in PLACE_SIDES: + raise ValueError(f"operation {i}: unknown side {op.get('side')!r}; expected " + f"one of {', '.join(s for s in PLACE_SIDES if s)}, or none " + "for the way next_to_terminal faces") + gap = op.get("gap") + if isinstance(gap, (int, float)) and not isinstance(gap, bool) and gap <= 0: + raise ValueError(f"operation {i}: gap must be > 0") + if method and method.startswith("qetMcp"): + uuid_methods.update(_HELPER_NEEDS[method]) conductor_js = None if name in CONDUCTOR_UUID_OPS and "conductor" in op: if "element" in op or "terminal" in op: @@ -1809,11 +2100,39 @@ def _build_script(operations: list, output: str) -> str: raise ValueError(f"operation {i}: \"id\" {ident!r} is already used") call = "qet.addFolio()" if method is None else f"qet.{method}({', '.join(args)})" + if method and method.startswith("qetMcp"): + call = f"{method}({', '.join(args)})" lines.append(" if (!stop) {") + lines.append(f" qetMcpOp = {i};") if conductor_js is not None: lines.append(f" var e{i} = qetMcpConductorEnd({i}, {args[0]}, {conductor_js});") call = f"(e{i} ? {call} : false)" lines.append(f" var v{i} = {call};") + if preset: + # Say what the preset chose, and the size of the frame and title + # block as a PDF export measures it: plus its one-pixel line, at + # 96 pixels an inch, in points. The export writes that on the + # standard sheet it is within 3 pt of. + f = args[0] + lines.append( + f" if (v{i}) qet.log({_js(_MARKER)} + JSON.stringify({{kind: 'op_note', " + f"index: {i}, note: qet.folioBorder({f}, 'columns') + ' columns of ' + " + f"qet.folioBorder({f}, 'column-width') + ', ' + qet.folioBorder({f}, 'rows') + " + f"' rows of ' + qet.folioBorder({f}, 'row-height') + '; frame ' + " + f"Math.ceil(Number(qet.folioBorder({f}, 'width')) + 1) * 0.75 + ' x ' + " + f"Math.ceil(Number(qet.folioBorder({f}, 'height')) + 1) * 0.75 + ' pt'}}));") + if route == "avoid": + # The wire exists either way; a route not found leaves it on the + # default path, which is a note on the op, not a failure of it. + lines.append(f" if (v{i} === true) {{ var r{i} = qet.routeConductorBetween(" + f"{', '.join(args)}); if (r{i} !== 'routed') qet.log({_js(_MARKER)} + " + f"JSON.stringify({{kind: 'op_note', index: {i}, note: 'no route " + f"around the symbols was found; the conductor keeps the default " + f"path'}})); }}") + if name == "route_conductor": + lines.append(f" if (v{i} === 'no-route') qet.log({_js(_MARKER)} + " + f"JSON.stringify({{kind: 'op_note', index: {i}, note: 'no route " + f"around the symbols was found; the conductor keeps its path'}}));") if ident is not None: lines.append(f" R[{_js(ident)}] = v{i};") refs.add(ident) @@ -2064,18 +2383,110 @@ def _fold(text: str) -> str: if not unicodedata.combining(c)) +# Spellings of "normally open" and "normally closed" in the collection's names +# and file names, folded to one word each: N/O, NF (French "normalement +# fermé"), the words written out. +_CONTACT_SYNONYMS = ( + (re.compile(r"\bnormal(?:ly|ement)\s+(?:closed|fermee?s?)\b"), " nc "), + (re.compile(r"\bnormal(?:ly|ement)\s+(?:open|ouverte?s?)\b"), " no "), + (re.compile(r"\bn\s*/\s*([ocf])\b"), r" n\1 "), +) + + +def _search_words(text: str) -> list: + """The words of text as a search sees them: folded, split on anything + that is not a letter or digit (so a path's '_' and '/' separate words), + with every spelling of NO and NC reduced to 'no' and 'nc'.""" + t = _fold(text) + for pattern, repl in _CONTACT_SYNONYMS: + t = pattern.sub(repl, t) + return ["nc" if w == "nf" else w for w in re.findall(r"[^\W_]+", t)] + + +def _word_matches(word: str, words: frozenset) -> bool: + """A query of one or two letters must be a whole word, so 'nc' does + not find 'remanence' and 'no' does not find 'normal'. Anything longer, + or with a digit, may be part of a word: 'schutz' finds + 'Leitungsschutzschalter', '3p' finds '3pn'.""" + if word in words: + return True + if len(word) <= 2 and word.isalpha(): + return False + return any(word in w for w in words) + + +# Folders of drawings that are not schematic symbols, or of one maker's +# parts: offered after everything else, so "emergency stop" gives the +# push button before an assembly-plan drawing of one. +_SECONDARY_FOLDER = re.compile(r"(?:^|/)\d+_(?:graphics|manufacturers_articles|miscellaneous_unsorted)/") + + def _collection_signature(root: Path): - """Cheap change detector: file count and newest mtime, no parsing.""" + """Cheap change detector: file count and newest mtime, no parsing. + os.scandir() rather than Path.rglob(): the same answer in about a third + of the time, which every search pays.""" count, newest = 0, 0.0 - for f in root.rglob("*.elmt"): - count += 1 + stack = [str(root)] + while stack: try: - newest = max(newest, f.stat().st_mtime) + it = os.scandir(stack.pop()) except OSError: - pass + continue + with it: + for entry in it: + try: + if entry.is_dir(follow_symlinks=False): + stack.append(entry.path) + elif entry.name.endswith(".elmt"): + count += 1 + newest = max(newest, entry.stat().st_mtime) + except OSError: + pass return count, newest +def _index_cache_file(root: Path) -> Path: + """Where the parsed index of one collection is kept between runs.""" + base = os.environ.get("QET_MCP_CACHE_DIR") or os.path.join( + os.environ.get("XDG_CACHE_HOME") or os.path.join(str(Path.home()), ".cache"), "qet-mcp") + import hashlib + digest = hashlib.sha1(str(root).encode("utf-8")).hexdigest()[:16] + return Path(base) / f"element-index-{digest}.json" + + +_INDEX_CACHE_FORMAT = 1 + + +def _load_index_cache(root: Path, sig) -> list | None: + try: + data = json.loads(_index_cache_file(root).read_text(encoding="utf-8")) + except (OSError, ValueError): + return None + if (data.get("format") != _INDEX_CACHE_FORMAT or data.get("root") != str(root) + or tuple(data.get("sig") or ()) != tuple(sig)): + return None + items = data.get("items") or [] + for it in items: + it["haystack"] = frozenset(it.get("haystack") or ()) + return items + + +def _save_index_cache(root: Path, sig, items: list) -> None: + """Best effort: a cache that cannot be written only costs the next + start its 6 s; it never fails a search.""" + path = _index_cache_file(root) + try: + path.parent.mkdir(parents=True, exist_ok=True) + tmp = path.with_suffix(".tmp") + tmp.write_text(json.dumps({ + "format": _INDEX_CACHE_FORMAT, "root": str(root), "sig": list(sig), + "items": [dict(it, haystack=sorted(it["haystack"])) for it in items]}), + encoding="utf-8") + os.replace(tmp, path) + except OSError: + pass + + def _index_collection(root: Path) -> list: """Parse every .elmt under root once and keep what a search needs. @@ -2089,6 +2500,10 @@ def _index_collection(root: Path) -> list: cached = _ELEMENT_INDEX.get(key) if cached and cached["sig"] == sig: return cached["items"] + items = _load_index_cache(root.resolve(), sig) + if items is not None: + _ELEMENT_INDEX[key] = {"sig": sig, "items": items} + return items items = [] for f in sorted(root.rglob("*.elmt")): @@ -2117,9 +2532,10 @@ def _index_collection(root: Path) -> list: "terminal_names": terminals, # index order, not file order "terminal_order_ambiguous": ambiguous, "width": d.get("width"), "height": d.get("height"), - "haystack": _fold(" ".join([*names.values(), rel, kind])), + "haystack": frozenset(_search_words(" ".join([*names.values(), rel, kind]))), }) _ELEMENT_INDEX[key] = {"sig": sig, "items": items} + _save_index_cache(root.resolve(), sig, items) return items @@ -2145,6 +2561,7 @@ def tool_element_search(directory: str, query: str = "", link_type: str | None = raise ValueError("limit must be >= 1") words = _fold(query).split() + search = _search_words(query) matches = [] for it in _index_collection(root): if link_type and it["link_type"] != link_type: @@ -2155,17 +2572,19 @@ def tool_element_search(directory: str, query: str = "", link_type: str | None = continue if max_terminals is not None and it["terminals"] > max_terminals: continue - if not all(w in it["haystack"] for w in words): + if not all(_word_matches(w, it["haystack"]) for w in search): continue matches.append(it) - # Whole-name hits before substring hits, then shorter names first: a - # search for "coil" should offer "Coil" before "Remanence coil, latching". + # Schematic symbols before drawings and makers' parts; then whole-name + # hits before substring hits, then shorter names first: a search for + # "coil" should offer "Coil" before "Remanence coil, latching". def rank(it): name = _fold(it["name"]) + secondary = 1 if _SECONDARY_FOLDER.search(it["path"]) else 0 exact = 0 if (words and name == " ".join(words)) else 1 starts = 0 if (words and name.startswith(words[0])) else 1 - return (exact, starts, len(it["name"]), it["path"]) + return (secondary, exact, starts, len(it["name"]), it["path"]) matches.sort(key=rank) shown = [{k: v for k, v in it.items() if k not in ("haystack", "names", "file")} @@ -2244,6 +2663,45 @@ CHECKS = { "WHERE NOT EXISTS (SELECT 1 FROM element e WHERE e.diagram_uuid = d.uuid) " "ORDER BY p.pos", }, + "crowded_terminals": { + "severity": "info", + "note": "Terminals with more than four wires: two double ferrules, one " + "either side of the screw, is already a lot for a real terminal " + "(discussion #1158). Cable, busbar and single-line symbols carry " + "more on purpose; element_type and label tell them apart.", + "sql": "SELECT d.pos AS folio, e.pos AS diagram_position, " + "COALESCE(ei.label,'') AS label, e.type AS element_type, " + "COALESCE(t.name,'') AS terminal, w.n AS wires FROM (" + "SELECT tu, eu, COUNT(*) AS n FROM (" + "SELECT terminal1_uuid AS tu, terminal1_element_uuid AS eu FROM conductor " + "UNION ALL SELECT terminal2_uuid, terminal2_element_uuid FROM conductor" + ") GROUP BY tu, eu HAVING n > 4) AS w " + "JOIN element e ON e.uuid = w.eu " + "LEFT JOIN diagram d ON d.uuid = e.diagram_uuid " + "LEFT JOIN element_info ei ON ei.element_uuid = e.uuid " + "LEFT JOIN terminal t ON t.uuid = w.tu AND t.element_uuid = w.eu " + "WHERE e.type NOT IN ('next_report', 'previous_report') " + "ORDER BY w.n DESC, folio, diagram_position", + }, + "reports_with_several_wires": { + "severity": "info", + "note": "Folio report arrows with more than one wire. A report is a " + "virtual point: one wire, continued on the other folio, says " + "where the wire really runs (discussion #1158). A third of the " + "shipped examples' reports have several, so this is a style, " + "not an error.", + "sql": "SELECT d.pos AS folio, e.pos AS diagram_position, " + "COALESCE(ei.label,'') AS label, w.n AS wires FROM (" + "SELECT tu, eu, COUNT(*) AS n FROM (" + "SELECT terminal1_uuid AS tu, terminal1_element_uuid AS eu FROM conductor " + "UNION ALL SELECT terminal2_uuid, terminal2_element_uuid FROM conductor" + ") GROUP BY tu, eu HAVING n > 1) AS w " + "JOIN element e ON e.uuid = w.eu " + "LEFT JOIN diagram d ON d.uuid = e.diagram_uuid " + "LEFT JOIN element_info ei ON ei.element_uuid = e.uuid " + "WHERE e.type IN ('next_report', 'previous_report') " + "ORDER BY w.n DESC, folio, diagram_position", + }, "masters_without_manufacturer_reference": { "severity": "info", "note": "Masters that will show a blank article number in the BOM.", @@ -2335,6 +2793,734 @@ def tool_check(binary: str, project: str, checks: list | None = None, return answer +# -------------------------------------------------------------------------- +# Layout check: does the drawing read well? +# -------------------------------------------------------------------------- +# +# A wire is straight only when its two terminals share an x or a y exactly. +# An assistant places a symbol by its origin, and its terminals sit at an +# offset from that origin it cannot see, so "under K1" lands a few pixels +# off and QElectroTech draws a jog. This check finds those, with the move +# that removes each one. +# +# The drawn path of a wire is not in the file: a wire on QElectroTech's +# default path is saved with no at all. So the geometry comes from +# QElectroTech, through the read calls of its scripting API, and is scored +# here. Nothing is saved. + +LAYOUT_STYLES = ["auto", "iec", "nfpa"] +LAYOUT_GRID = 10.0 # Diagram::xGrid / yGrid +LAYOUT_RULES = { + "avoidable_bend": { + "severity": "warning", + "note": "The two terminals face each other along one axis but are a few " + "pixels out of line, so the wire jogs. Moving one symbol makes it " + "straight; \"fix\" is that symbol's move from \"fixes\". " + "\"conflict\": no move is offered, because both symbols are " + "already lined up by other wires along this axis or moving either " + "would put it on another symbol or across another wire.", + }, + "extra_bends": { + "severity": "info", + "note": "The wire bends more often than its two terminals need. Often a " + "segment moved by hand; route_conductor redraws it.", + }, + "wire_through_symbol": { + "severity": "warning", + "note": "A wire runs through a symbol it is not connected to. A symbol " + "drawn around one of the wire's own ends is a frame and is left " + "out, as the router does, and so is a symbol with no terminals. " + "Cable tags and shields are drawn across wires on purpose: ignore " + "the finding for those.", + }, + "overlapping_symbols": { + "severity": "warning", + "note": "Two symbols overlap by more than one grid step (a symbol's box " + "is its declared size, so side-by-side symbols can share a few " + "pixels of it). Frames, drawn around another symbol, and symbols " + "with no terminals (tags, shields, label holders) are left out.", + }, + "off_grid": { + "severity": "warning", + "note": "The symbol's origin is off the 10 px grid QElectroTech snaps " + "symbols to, so its terminals are off the grid the other symbols " + "are on. An axis a straight wire lines it up on is left alone. " + "\"fix\" moves it onto the grid.", + }, + "label_on_wire": { + "severity": "warning", + "note": "A symbol's label is drawn over a wire. House style: a label sits at " + "least 20 px past the outermost connected terminal, on a side no " + "wire arrives from. Move the label (setElementTextProperty x/y), not " + "the symbol. Needs a QElectroTech with elementTextGeometry(); older " + "builds skip this rule.", + }, + "four_way_junction": { + "severity": "warning", + "note": "Wires leave one point in all four directions: a 4-way dot, which " + "reads as a crossing when printed. Stagger it into two 3-way " + "T-junctions a grid step or more apart.", + }, + "misaligned_branch": { + "severity": "info", + "note": "Two symbols stacked in the same side branch (each fed by a wire with " + "a horizontal run) are a little out of line, so the branch is not one " + "straight column. House style: parallel branches share one vertical " + "axis. \"dx\" is how far apart their wire docks are.", + }, + "crossing": { + "severity": "info", + "note": "Two wires cross. Counted so two drafts can be compared; some " + "crossings cannot be avoided, so they do not lower the score.", + }, +} + +_LAYOUT_SEG = re.compile(r"^\s*\d+:\s*\(([^,]+),([^)]+)\)-\(([^,]+),([^)]+)\)") + +# One launch, read-only. Per folio: every symbol's geometry and terminals, +# every wire's ends and drawn path. conductorPath() reads any wire by its +# uuid; a build without it reads a wire through one of its ends, which +# conductorSegments() refuses on a terminal carrying a second wire. +_LAYOUT_JS = r""" +var only = @FOLIO@; +var byUuid = typeof qet.conductorPath === 'function'; +function labelBox(f, u) { + if (typeof qet.elementTextGeometry !== 'function') return null; + var t = qet.elementTexts(f, u); + for (var i = 0; i < t.length; i++) + if (qet.elementTextProperty(f, u, i, 'source') === 'info' + && qet.elementTextProperty(f, u, i, 'info') === 'label') { + var g = qet.elementTextGeometry(f, u, i); + return (g && g.right > g.left && qet.elementTextProperty(f, u, i, 'shows')) ? g : null; + } + return null; +} +for (var f = 0; f < qet.folioCount(); f++) { + if (only >= 0 && f !== only) continue; + var els = qet.elementUuids(f), E = []; + for (var i = 0; i < els.length; i++) { + E.push({uuid: els[i], name: qet.elementName(f, els[i]), + label: qet.elementLabel(f, els[i]), g: qet.elementGeometry(f, els[i]), + terminals: qet.elementTerminals(f, els[i]).length, + labelbox: labelBox(f, els[i])}); + } + var cu = qet.conductorUuids(f), lines = qet.conductors(f), C = []; + for (var j = 0; j < cu.length; j++) { + var ends = qet.conductorEnds(f, cu[j]), path = null, segs = null; + if (byUuid) { + path = qet.conductorPath(f, cu[j]); + } else if (ends.length === 2) { + for (var k = 0; k < 2 && segs === null; k++) { + if (ends[k] === '?') continue; + var n = 0; + for (var l = 0; l < lines.length; l++) { + var p = lines[l].split(' : ')[0].split(' -- '); + if (p[0] === ends[k] || p[1] === ends[k]) n++; + } + if (n !== 1) continue; + var m = ends[k].split(' terminal '); + segs = qet.conductorSegments(f, m[0], parseInt(m[1], 10)); + } + } + C.push({uuid: cu[j], ends: ends, path: path, segs: segs}); + } + qet.log(@MARKER@ + JSON.stringify({kind: 'layout', folio: f, elements: E, + conductors: C})); +} +""" + + +def _layout_points(wire: dict) -> list | None: + """The wire's drawn path as points, from either read call; None if it + could not be read.""" + if wire.get("path"): + try: + return [(float(p["x"]), float(p["y"])) for p in wire["path"]] + except (KeyError, TypeError, ValueError): + return None + segs = wire.get("segs") + if not segs: + return None + pts = [] + for line in segs: + mt = _LAYOUT_SEG.match(line) + if not mt: + return None + x1, y1, x2, y2 = (float(v) for v in mt.groups()) + if not pts: + pts.append((x1, y1)) + pts.append((x2, y2)) + return pts if len(pts) >= 2 else None + + +def _simplify(pts: list) -> list: + """Drop zero-length steps and merge straight runs, so what is left has a + corner at every inner point.""" + out = [] + for p in pts: + if out and abs(p[0] - out[-1][0]) < 1e-6 and abs(p[1] - out[-1][1]) < 1e-6: + continue + if len(out) >= 2: + a, b = out[-2], out[-1] + if ((abs(a[0] - b[0]) < 1e-6 and abs(b[0] - p[0]) < 1e-6) + or (abs(a[1] - b[1]) < 1e-6 and abs(b[1] - p[1]) < 1e-6)): + out[-1] = p + continue + out.append(p) + return out + + +def _facing(dock: tuple, nxt: tuple) -> tuple | None: + """Which way a terminal sends its wire: the unit step from the dock point + to the next distinct point of the path, or None if that is not along an + axis.""" + dx, dy = nxt[0] - dock[0], nxt[1] - dock[1] + if abs(dx) < 1e-6 and abs(dy) > 1e-6: + return (0, 1 if dy > 0 else -1) + if abs(dy) < 1e-6 and abs(dx) > 1e-6: + return (1 if dx > 0 else -1, 0) + return None + + +def _box(g: dict) -> tuple | None: + try: + return (float(g["left"]), float(g["top"]), float(g["right"]), float(g["bottom"])) + except (KeyError, TypeError, ValueError): + return None + + +def _contains(outer: tuple, inner: tuple) -> bool: + return (outer[0] <= inner[0] and outer[1] <= inner[1] + and outer[2] >= inner[2] and outer[3] >= inner[3] and outer != inner) + + +def _overlap(a: tuple, b: tuple, margin: float = 1.0) -> bool: + return (min(a[2], b[2]) - max(a[0], b[0]) > margin + and min(a[3], b[3]) - max(a[1], b[1]) > margin) + + +def _segment_through(p: tuple, q: tuple, box: tuple, margin: float = 1.0) -> bool: + """Does the axis-aligned segment p-q run through the inside of box?""" + l, t, r, b = box[0] + margin, box[1] + margin, box[2] - margin, box[3] - margin + if l >= r or t >= b: + return False + if abs(p[1] - q[1]) < 1e-6: # horizontal + lo, hi = sorted((p[0], q[0])) + return t < p[1] < b and min(hi, r) - max(lo, l) > 1e-6 + if abs(p[0] - q[0]) < 1e-6: # vertical + lo, hi = sorted((p[1], q[1])) + return l < p[0] < r and min(hi, b) - max(lo, t) > 1e-6 + return False + + +def _crosses(a: tuple, b: tuple, c: tuple, d: tuple) -> bool: + """Do a horizontal and a vertical segment cross inside both?""" + if abs(a[1] - b[1]) < 1e-6 and abs(c[0] - d[0]) < 1e-6: + h, v = (a, b), (c, d) + elif abs(a[0] - b[0]) < 1e-6 and abs(c[1] - d[1]) < 1e-6: + h, v = (c, d), (a, b) + else: + return False + x, y = v[0][0], h[0][1] + hx = sorted((h[0][0], h[1][0])) + vy = sorted((v[0][1], v[1][1])) + return hx[0] + 1e-6 < x < hx[1] - 1e-6 and vy[0] + 1e-6 < y < vy[1] - 1e-6 + + +def _end_element(end: str) -> str: + return end.split(" terminal ")[0] if " terminal " in end else "" + + +def _grid_offset(v: float) -> float: + """How far v must move to reach the nearest grid line.""" + return round(v / LAYOUT_GRID) * LAYOUT_GRID - v + + +def _layout_folio(data: dict, max_shift: float) -> dict: + """Score one folio's dump and plan the moves that fix it. Pure: no + QElectroTech, so every rule is testable with made-up geometry. + + Fixes are planned together, one move per symbol, because they interact: + two jogs can ask one symbol to move two ways, and snapping a symbol to + the grid can bend a straight wire. So straight wires are taken first and + pin their two symbols on their axis; jogs then move a symbol not yet + pinned, preferring a move that lands it on the grid; grid snaps come + last and only on an axis nothing pinned. + Applying all of "fixes" at once is therefore consistent; applying each + finding's fix on its own, one after the other, is not. + """ + folio = int(data.get("folio", 0)) + symbols = {} + for el in data.get("elements") or []: + box = _box(el.get("g") or {}) + if box is None: + continue + g = el["g"] + symbols[el["uuid"]] = {"uuid": el["uuid"], "name": el.get("name", ""), + "label": el.get("label", ""), + # No terminals: a label holder or a drawing + # aid, put on top of other symbols on purpose. + "annotation": int(el.get("terminals", 1) or 0) == 0, + "x": float(g.get("x", 0)), "y": float(g.get("y", 0)), + "xy": (float(g.get("x", 0)), float(g.get("y", 0))), + "box": box, "docks": [], + "labelbox": _box(el.get("labelbox") or {}) + if el.get("labelbox") else None} + wire_count = {} + wires, unread = [], [] + for w in data.get("conductors") or []: + ends = [_end_element(e) for e in (w.get("ends") or [])] + for e in ends: + if e: + wire_count[e] = wire_count.get(e, 0) + 1 + pts = _layout_points(w) + if pts is None: + unread.append(w.get("uuid", "")) + continue + ends = (ends + ["", ""])[:2] + # The path runs from the first end's terminal to the second's. + for end, dock in ((ends[0], pts[0]), (ends[1], pts[-1])): + if end in symbols: + symbols[end]["docks"].append(dock) + wires.append({"uuid": w.get("uuid", ""), "ends": ends, "pts": _simplify(pts)}) + + findings = [] + dirty_wires, dirty_symbols = set(), set() + length = {"vertical": 0.0, "horizontal": 0.0} + move = {} # symbol uuid -> [dx, dy], the one planned move + locked = set() # (symbol uuid, axis) a jog fix already decided + + def add(rule, **fields): + findings.append({"rule": rule, "severity": LAYOUT_RULES[rule]["severity"], + "folio": folio + 1, **fields}) + + def on_grid(v): + return abs(_grid_offset(v)) < 1e-6 + + solid = [x for x in symbols.values() if not x["annotation"]] + + # Symbols lined up on an axis by straight wires (as planned) form a + # group; the grid snap moves a group together so it stays in line. + parent = {} + + def find(k): + parent.setdefault(k, k) + while parent[k] != k: + parent[k] = parent[parent[k]] + k = parent[k] + return k + + def union(a, b): + parent[find(a)] = find(b) + + def shifted(box, d): + return (box[0] + d[0], box[1] + d[1], box[2] + d[0], box[3] + d[1]) + + def blocked(uuid, total): + """Would moving this symbol by total (its whole planned move) put it + on another symbol, or across a wire it is not on, where it was not + before? A fix must not trade a jog for a collision.""" + me = symbols[uuid] + if me["annotation"]: + return False + old, new = me["box"], shifted(me["box"], total) + for o in solid: + if o["uuid"] == uuid: + continue + ob = shifted(o["box"], move.get(o["uuid"], [0, 0])) + if _contains(ob, old) or _contains(old, ob) or _contains(ob, new) or _contains(new, ob): + continue + if _overlap(new, ob, margin=LAYOUT_GRID) and not _overlap(old, o["box"], margin=LAYOUT_GRID): + return True + for w in wires: + if uuid in w["ends"]: + continue + for p, q in zip(w["pts"], w["pts"][1:]): + if _segment_through(p, q, new) and not _segment_through(p, q, old): + return True + return False + + for w in wires: + pts = w["pts"] + for p, q in zip(pts, pts[1:]): + length["vertical" if abs(p[0] - q[0]) < 1e-6 else "horizontal"] += ( + abs(p[0] - q[0]) + abs(p[1] - q[1])) + w["bends"] = max(0, len(pts) - 2) + + # Every wire whose terminals face each other along one axis: straight + # ones first, so they pin their symbols on that axis (a fix must not + # trade one straight wire for another), then jogs, smallest first. + in_line = [] + for w in wires: + pts, bends = w["pts"], w["bends"] + if len(pts) < 2: + continue + a, b = pts[0], pts[-1] + fa, fb = _facing(a, pts[1]), _facing(b, pts[-2]) + if not (fa and fb): + continue + if fa[0] == 0 and fb[0] == 0: # both vertical + axis, i = "x", 0 + facing = fa[1] == (1 if b[1] > a[1] else -1) and fb[1] == -fa[1] + elif fa[1] == 0 and fb[1] == 0: # both horizontal + axis, i = "y", 1 + facing = fa[0] == (1 if b[0] > a[0] else -1) and fb[0] == -fa[0] + else: # an L at best + if bends > 1: + add("extra_bends", conductor=w["uuid"], bends=bends, needed=1, + note=LAYOUT_RULES["extra_bends"]["note"], + fix={"op": "route_conductor", "folio": folio, "conductor": w["uuid"]}) + dirty_wires.add(w["uuid"]) + continue + offset = b[i] - a[i] + straight = facing and abs(offset) < 1e-6 + jog = facing and 1e-6 <= abs(offset) <= max_shift and bends > 0 + if straight or jog: + in_line.append((0 if straight else 1, abs(offset), w, axis, i, a, b, jog)) + need = 0 if straight else 2 + if not jog and bends > need: + add("extra_bends", conductor=w["uuid"], bends=bends, needed=need, + note=LAYOUT_RULES["extra_bends"]["note"], + fix={"op": "route_conductor", "folio": folio, "conductor": w["uuid"]}) + dirty_wires.add(w["uuid"]) + + for _, _, w, axis, i, a, b, jog in sorted(in_line, key=lambda t: t[:2]): + ea, eb = w["ends"] + # As it will be once the moves planned so far are applied. + left = (b[i] + move.get(eb, [0, 0])[i]) - (a[i] + move.get(ea, [0, 0])[i]) + mover = None + if abs(left) > 1e-6: + # Prefer the end that lands on the grid, then the one with fewer + # other wires (on a tie the second, so the first anchors a chain). + def rank(e): + delta = -left if e == eb else left + origin = symbols[e]["xy"][i] + move.get(e, [0, 0])[i] + delta + return (not on_grid(origin), wire_count.get(e, 0), e != eb) + free = [e for e in (ea, eb) if e in symbols and (e, axis) not in locked] + for cand in sorted(free, key=rank): + total = list(move.get(cand, [0.0, 0.0])) + total[i] += -left if cand == eb else left + if blocked(cand, total): + continue + mover = cand + move[cand] = total + break + locked.update((e, axis) for e in (ea, eb) if e in symbols) + if (abs(left) < 1e-6 or mover is not None) and ea in symbols and eb in symbols: + union((ea, axis), (eb, axis)) + if jog: + w["mover"] = mover + w["conflict"] = abs(left) > 1e-6 and mover is None + add("avoidable_bend", conductor=w["uuid"], + offset=round(abs(b[i] - a[i]), 3), bends=w["bends"], + note=LAYOUT_RULES["avoidable_bend"]["note"]) + dirty_wires.add(w["uuid"]) + + # Off the grid: the symbol's origin, which is what QElectroTech's own + # grid snaps. A symbol lined up with others by straight wires moves only + # with its whole group, and only when they are all off by the same + # amount -- straight wires matter more than the grid, and snapping one + # member alone would bend them, so the next run would undo it. + groups = {} + for (uuid, axis) in locked: + groups.setdefault(find((uuid, axis)), set()).add(uuid) + + def offset(u, i): + return _grid_offset(symbols[u]["xy"][i] + move.get(u, [0, 0])[i]) + + step = {u: [0.0, 0.0] for u in symbols} + for i, axis in ((0, "x"), (1, "y")): + for u in symbols: + if (u, axis) not in locked: + step[u][i] = offset(u, i) + for root, members in groups.items(): + if root[1] != axis: + continue + offs = {round(offset(u, i), 6) for u in members} + if len(offs) == 1: + d = offs.pop() + for u in members: + step[u][i] = d + + def total(u): + m = move.get(u, [0.0, 0.0]) + return [m[0] + step[u][0], m[1] + step[u][1]] + + # A blocked member holds its whole group back on that axis. + for u in [u for u in symbols if any(abs(v) > 1e-6 for v in step[u])]: + if not blocked(u, total(u)): + continue + symbols[u]["blocked"] = True + for i, axis in ((0, "x"), (1, "y")): + if (u, axis) in locked and abs(step[u][i]) > 1e-6: + for v in groups.get(find((u, axis)), {u}): + step[v][i] = 0.0 + snapped = [] + for u, s in symbols.items(): + if abs(step[u][0]) > 1e-6 or abs(step[u][1]) > 1e-6: + if blocked(u, total(u)): + s["blocked"] = True + else: + s["blocked"] = False + move[u] = total(u) + snapped.append(s) + elif s.get("blocked"): + snapped.append(s) + + def move_op(uuid): + if uuid not in move: + return None + dx, dy = move[uuid] + return {"op": "move_element", "folio": folio, "element": uuid, + "dx": round(dx, 3) + 0.0, "dy": round(dy, 3) + 0.0} + + by_wire = {w["uuid"]: w for w in wires} + for f in findings: + if f["rule"] == "avoidable_bend": + w = by_wire[f["conductor"]] + f["fix"] = move_op(w.get("mover")) + if w.get("conflict"): + f["conflict"] = True + + for s in snapped: + extra = {"conflict": True} if s.get("blocked") else {} + add("off_grid", element=s["uuid"], label=s["label"], name=s["name"], + x=s["x"], y=s["y"], note=LAYOUT_RULES["off_grid"]["note"], + fix=None if s.get("blocked") else move_op(s["uuid"]), **extra) + dirty_symbols.add(s["uuid"]) + + # Wires through symbols. A symbol drawn around either end's own symbol + # is a frame (conductorrouter.cpp), not an obstacle. + for w in wires: + own = [symbols[e]["box"] for e in w["ends"] if e in symbols] + for uuid, s in symbols.items(): + if (s["annotation"] or uuid in w["ends"] + or any(_contains(s["box"], o) for o in own)): + continue + pts = w["pts"] + if any(_segment_through(p, q, s["box"]) for p, q in zip(pts, pts[1:])): + add("wire_through_symbol", conductor=w["uuid"], element=uuid, + label=s["label"], name=s["name"], + note=LAYOUT_RULES["wire_through_symbol"]["note"], + fix={"op": "route_conductor", "folio": folio, "conductor": w["uuid"]}) + dirty_wires.add(w["uuid"]) + + # A symbol's box is its declared size, rounded up to the grid, so two + # symbols drawn side by side can share up to one grid step of it. + for i, s in enumerate(solid): + for t in solid[i + 1:]: + if _contains(s["box"], t["box"]) or _contains(t["box"], s["box"]): + continue + if _overlap(s["box"], t["box"], margin=LAYOUT_GRID): + add("overlapping_symbols", elements=[s["uuid"], t["uuid"]], + labels=[s["label"], t["label"]], names=[s["name"], t["name"]], + note=LAYOUT_RULES["overlapping_symbols"]["note"]) + dirty_symbols.update((s["uuid"], t["uuid"])) + + crossings = 0 + for i, w in enumerate(wires): + sw = list(zip(w["pts"], w["pts"][1:])) + for v in wires[i + 1:]: + n = sum(1 for a, b in sw for c, d in zip(v["pts"], v["pts"][1:]) + if _crosses(a, b, c, d)) + if n: + crossings += n + add("crossing", conductors=[w["uuid"], v["uuid"]], count=n, + note=LAYOUT_RULES["crossing"]["note"]) + + _house_style_rules(symbols, wires, add, dirty_symbols) + + return {"folio": folio, "symbols": len(symbols), "wires": len(wires), + "unread": unread, "findings": findings, "dirty_wires": dirty_wires, + "dirty_symbols": dirty_symbols, "length": length, "crossings": crossings, + "straight": sum(1 for w in wires if w.get("bends") == 0), + "fixes": [move_op(u) for u in move]} + + +def _house_style_rules(symbols: dict, wires: list, add, dirty_symbols: set) -> None: + """The house-style rules: labels over wires, 4-way junctions, side + branches out of line. Pure geometry, like the rest of the scorer.""" + def seg_hits_box(a, b, box, inset=1.0): + l, t, r, btm = box[0] + inset, box[1] + inset, box[2] - inset, box[3] - inset + if l >= r or t >= btm: + return False + (x1, y1), (x2, y2) = a, b + if abs(y1 - y2) < 1e-6: # horizontal + return t <= y1 <= btm and min(x1, x2) <= r and max(x1, x2) >= l + if abs(x1 - x2) < 1e-6: # vertical + return l <= x1 <= r and min(y1, y2) <= btm and max(y1, y2) >= t + return False + + for s in symbols.values(): + lb = s.get("labelbox") + if not lb: + continue + hit = [w["uuid"] for w in wires + if any(seg_hits_box(a, b, lb) for a, b in zip(w["pts"], w["pts"][1:]))] + if hit: + add("label_on_wire", element=s["uuid"], label=s["label"], name=s["name"], + conductors=hit, note=LAYOUT_RULES["label_on_wire"]["note"]) + dirty_symbols.add(s["uuid"]) + + def key(p): + return (round(p[0]), round(p[1])) + + def direction(a, b): + dx, dy = b[0] - a[0], b[1] - a[1] + if abs(dx) < 1e-6 and abs(dy) < 1e-6: + return None + if abs(dx) >= abs(dy): + return "e" if dx > 0 else "w" + return "s" if dy > 0 else "n" + + ways, owners = {}, {} + for w in wires: + pts = w["pts"] + for i, p in enumerate(pts): + for q in ((pts[i - 1],) if i else ()) + ((pts[i + 1],) if i + 1 < len(pts) else ()): + d = direction(p, q) + if d: + ways.setdefault(key(p), set()).add(d) + owners.setdefault(key(p), set()).add(w["uuid"]) + for pt, d in sorted(ways.items()): + if len(d) == 4 and len(owners[pt]) >= 2: + add("four_way_junction", at=list(pt), conductors=sorted(owners[pt]), + note=LAYOUT_RULES["four_way_junction"]["note"]) + + # A side branch symbol is fed only by wires that jog sideways; one + # joined to a neighbour by a straight vertical wire is in a column. + side, column = set(), set() + for w in wires: + xs = {round(p[0], 3) for p in w["pts"]} + ends = [e for e in w["ends"] if e] + if len(xs) == 1: + column.update(ends) + elif any(abs(a[1] - b[1]) < 1e-6 and abs(a[0] - b[0]) > 1e-6 + for a, b in zip(w["pts"], w["pts"][1:])): + side.update(ends) + side -= column + cand = [s for s in symbols.values() if s["uuid"] in side and s["docks"] + and not s["annotation"]] + # Two symbols joined by a wire of their own are avoidable_bend's case. + joined = {frozenset(w["ends"]) for w in wires if all(w["ends"])} + for i, s in enumerate(cand): + for t in cand[i + 1:]: + sb, tb = s["box"], t["box"] + if sb[1] < tb[3] and tb[1] < sb[3]: + continue # side by side, not stacked + if frozenset((s["uuid"], t["uuid"])) in joined: + continue + dx = min(abs(p[0] - q[0]) for p in s["docks"] for q in t["docks"]) + if 0.5 < dx <= 80: + add("misaligned_branch", elements=[s["uuid"], t["uuid"]], + labels=[s["label"], t["label"]], names=[s["name"], t["name"]], + dx=round(dx, 1), note=LAYOUT_RULES["misaligned_branch"]["note"]) + + +def _layout_answer(folios: list, style: str, limit: int) -> dict: + """Combine per-folio results into the tool's answer.""" + symbols = sum(f["symbols"] for f in folios) + wires = sum(f["wires"] for f in folios) + vertical = sum(f["length"]["vertical"] for f in folios) + horizontal = sum(f["length"]["horizontal"] for f in folios) + total = vertical + horizontal + if style == "auto": + style = "nfpa" if horizontal > vertical else "iec" + findings = [x for f in folios for x in f["findings"]] + order = {"error": 0, "warning": 1, "info": 2} + findings.sort(key=lambda x: (order[x["severity"]], x["folio"], x["rule"])) + count = {r: sum(1 for x in findings if x["rule"] == r) for r in LAYOUT_RULES} + clean_wires = wires - sum(len(f["dirty_wires"]) for f in folios) + clean_symbols = symbols - sum(len(f["dirty_symbols"]) for f in folios) + score = 100.0 * (0.6 * (clean_wires / wires if wires else 1.0) + + 0.4 * (clean_symbols / symbols if symbols else 1.0)) + unread = [u for f in folios for u in f["unread"]] + answer = { + "ok": True, + "style": style, + "score": round(score), + "summary": { + "folios": len(folios), "symbols": symbols, "wires": wires, + "unread_wires": len(unread), + "straight_wires": sum(f["straight"] for f in folios), + "avoidable_bends": count["avoidable_bend"], + "extra_bends": count["extra_bends"], + "wires_through_symbols": count["wire_through_symbol"], + "overlaps": count["overlapping_symbols"], + "off_grid": count["off_grid"], + "crossings": sum(f["crossings"] for f in folios), + "labels_on_wires": count["label_on_wire"], + "four_way_junctions": count["four_way_junction"], + "misaligned_branches": count["misaligned_branch"], + "flow": {"vertical": round(vertical / total, 3) if total else 0.0, + "horizontal": round(horizontal / total, 3) if total else 0.0}, + }, + "findings": findings[:limit], + # One move per symbol, all findings' moves combined: apply them + # together in one qet_edit call. + "fixes": [op for f in folios for op in f["fixes"]], + } + if len(findings) > limit: + answer["truncated"] = len(findings) - limit + if unread: + answer["unread_wires"] = unread[:limit] + answer["note"] = (f"{len(unread)} wire(s) could not be read: both of their " + "terminals carry other wires too, and this QElectroTech build " + "has no conductorPath() to read them by uuid. They are left " + "out of the score.") + return answer + + +def tool_layout_check(binary: str, project: str, folio: int | None = None, + style: str = "auto", max_shift: float = 40, limit: int = 50, + elements_dir: str | None = None, timeout: int = 180) -> dict: + """Score how well a project's drawing reads: straight wires, symbols in + line and on the grid, nothing overlapping. Read-only.""" + proj = Path(project).expanduser() + if not proj.is_file(): + raise ValueError(f"no such project: {proj}") + if style not in LAYOUT_STYLES: + raise ValueError(f"unknown style {style!r}; expected one of {', '.join(LAYOUT_STYLES)}") + if (isinstance(max_shift, bool) or not isinstance(max_shift, (int, float)) + or max_shift < 0): + raise ValueError("max_shift must be a number >= 0") + if isinstance(limit, bool) or not isinstance(limit, int) or limit < 0: + raise ValueError("limit must be an integer >= 0") + if folio is not None and (isinstance(folio, bool) or not isinstance(folio, int) + or folio < 1): + raise ValueError("folio is counted from 1, as qet_elements numbers them") + + script = (_LAYOUT_JS.replace("@FOLIO@", str(folio - 1 if folio else -1)) + .replace("@MARKER@", json.dumps(_MARKER))) + result = _run_qet(binary, [str(proj)], timeout=timeout, + elements_dir=elements_dir, script=script, tail=20_000_000) + folios = [] + for line in (result.get("stdout", "") + "\n" + result.get("stderr", "")).splitlines(): + idx = line.find(_MARKER) + if idx < 0: + continue + try: + rec = json.loads(line[idx + len(_MARKER):]) + except json.JSONDecodeError: + continue + if rec.get("kind") == "layout": + folios.append(_layout_folio(rec, float(max_shift))) + + if not folios: + answer = {"ok": False, + "hint": result.get("hint") or ( + "no layout came back: the folio does not exist, or this build's " + "scripting API predates the read calls this check needs")} + if result.get("exit_code") is not None: + answer["exit_code"] = result["exit_code"] + return answer + answer = _layout_answer(folios, style, limit) + if result.get("hint"): + answer["ok"] = False + answer["hint"] = result["hint"] + return answer + + def tool_project_new(binary: str, output: str, title: str = "Untitled", folios=1, author: str = "", overwrite: bool = False, elements_dir: str | None = None, timeout: int = 180) -> dict: @@ -2381,7 +3567,11 @@ def tool_project_new(binary: str, output: str, title: str = "Untitled", out.parent.mkdir(parents=True, exist_ok=True) with tempfile.TemporaryDirectory(prefix="qet-mcp-new-") as tmp: skeleton = Path(tmp) / "skeleton.qet" - skeleton.write_text('\n\n' + # : a project made in QElectroTech starts with the texts + # of its turned symbols kept horizontal; one read from a file without + # it does not, so say it here as QElectroTech would have + skeleton.write_text('\n' + ' \n\n' % quoteattr(title), encoding="utf-8") result = _run_qet(binary, [str(skeleton)], timeout=timeout, elements_dir=elements_dir, script="\n".join(script), tail=200_000) @@ -2551,6 +3741,949 @@ def tool_edit(binary: str, project: str, operations: list, output: str, return result +# -------------------------------------------------------------------------- +# Stored scripts: the buttons in Projet > Scripts and on the Scripts toolbar +# -------------------------------------------------------------------------- +# +# QElectroTech turns every .js file in one folder into a command with an +# icon, read from a // ==QETScript== header at the top of the file. The +# folder is the whole contract: a person writing a script by hand and an +# assistant using these tools both end with a file there, and QElectroTech +# notices it without a restart. So installing is writing a file, and these +# tools never talk to a running QElectroTech. +# +# The folder is not the client's to choose -- scripts_dir() finds it the +# way QElectroTech does -- and writing to it needs the same consent as +# editing a project: QET_ENABLE_SCRIPTING=1 in this server's environment. +# A stored script runs, with the user's rights, when they click its button. + +_SCRIPT_CONTEXTS = ("canvas", "selection", "conductor") +_SCRIPT_ID = re.compile(r"^[a-z0-9][a-z0-9_-]{0,63}$") +_SCRIPT_MAX_BYTES = 256 * 1024 +_ICON_MAX_BYTES = 64 * 1024 + +SCRIPT_HEADER_HELP = ( + "A stored script is one .js file; its first lines say how its button " + "looks:\n" + "// ==QETScript==\n" + "// @name Add revision note (required)\n" + "// @icon .svg (optional: a file next to the " + "script, or builtin:; a tile with the initials otherwise)\n" + "// @tooltip Puts a note on the folio on screen\n" + "// @shortcut Ctrl+Alt+R (optional default shortcut)\n" + "// @context canvas (canvas: always enabled; " + "selection: something selected; conductor: a conductor selected)\n" + "// @api 1\n" + "// ==/QETScript==\n" + "The script sees one global, qet. qet.currentFolio() is the folio on " + "screen; folio indexes count from 0. A click is one undo step, so do " + "not call qet.undo() in a stored script. Report with qet.log(); " + "qet.showMessage() opens a dialog the user has to close.") + + +def default_scripts_dir(os_name: str, platform: str, env, home) -> PurePath: + """QETApp::dataDir() + "/scripts" for a given platform. + + dataDir() is Qt's AppDataLocation with organisation and application + both "QElectroTech" (main.cpp). Pure, so the Windows and macOS answers + are tested on any machine. + """ + if os_name == "nt": + appdata = env.get("APPDATA") + base = (PureWindowsPath(appdata) if appdata + else PureWindowsPath(home, "AppData", "Roaming")) + elif platform == "darwin": + base = PurePosixPath(home, "Library", "Application Support") + else: + base = PurePosixPath(env.get("XDG_DATA_HOME") or PurePosixPath(home, ".local", "share")) + return base / "QElectroTech" / "QElectroTech" / "scripts" + + +def assistant_info_file() -> Path: + """Where QElectroTech writes qet-assistant.json. + + QET_MCP_INFO_FILE if set; next to a QET_MCP_SCRIPTS_DIR if that is set + (one folder up, as in QElectroTech's own layout); else the platform's + standard data folder, where QElectroTech always writes it, even when + --data-dir moves the rest. + """ + explicit = os.environ.get("QET_MCP_INFO_FILE", "").strip() + if explicit: + return Path(explicit).expanduser() + scripts = os.environ.get("QET_MCP_SCRIPTS_DIR", "").strip() + if scripts: + return Path(scripts).expanduser().parent / "qet-assistant.json" + default = default_scripts_dir(os.name, sys.platform, os.environ, str(Path.home())) + return Path(str(default.parent)) / "qet-assistant.json" + + +def assistant_info() -> dict | None: + """qet-assistant.json as QElectroTech last wrote it, or None. + + QElectroTech rewrites it whenever an editor opens and whenever its + stored scripts, settings or live channel change: its folders, features, + the calls a script can make, the stored scripts, and the live channel + while one is open. + """ + path = assistant_info_file() + try: + return json.loads(path.read_text(encoding="utf-8")) + except (OSError, ValueError): + return None + + +def scripts_dir() -> Path: + """The folder QElectroTech reads stored scripts from. + + QET_MCP_SCRIPTS_DIR first (a test, or a deliberate choice); then the + folder qet-assistant.json names; else the platform's default. + """ + env = os.environ.get("QET_MCP_SCRIPTS_DIR", "").strip() + if env: + return Path(env).expanduser() + info = assistant_info() or {} + named = (info.get("folders") or {}).get("scripts") + if isinstance(named, str) and named: + return Path(named) + return Path(str(default_scripts_dir(os.name, sys.platform, os.environ, str(Path.home())))) + + +SERVER_INSTRUCTIONS = ( + "This server works with QElectroTech, a free editor for electrical " + "diagrams. A project (.qet) holds folios (sheets) of symbols " + "(elements) joined by wires (conductors). Folio indexes count from 0.\n" + "Start with qet_about: where QElectroTech keeps things, what is " + "switched on, the stored scripts, and house_style -- this " + "installation's own drawing conventions if the user set any. Follow " + "house_style when placing or wiring anything.\n" + "Two ways of working. HEADLESS (qet_* and qet_script_*): read, check " + "and edit .qet files and store script buttons; nothing the user has " + "open is touched. To make a button: qet_script_api for the calls, " + "qet_script_test on a copy until the diff is right, then " + "qet_script_install with test_project set. LIVE (qet_live_*): act on " + "the project open in the user's QElectroTech while they watch; only " + "when they switched live mode on and accepted its warning at this " + "start, each action one undo step, scripts written on the spot shown " + "to them first.\n" + "MACRO RECORDINGS: the user records something by hand in QElectroTech " + "and pastes you a request naming it; qet_recording_read it, write a " + "general script, qet_recording_check it until it matches, then " + "qet_script_install it.\n" + "Verify edits by reading the result (qet_diff, qet_elements), not by " + "assuming them. After drawing, run qet_layout_check and apply its fixes: " + "a wire is straight only when its two terminals are exactly in line.") + + +def standard_symbols_file(info: dict | None = None) -> Path: + """The installation's standard symbols: one symbol per device role, + chosen by the user. QET_MCP_STANDARD_SYMBOLS if set, else + standard-symbols.json in QElectroTech's data folder.""" + explicit = os.environ.get("QET_MCP_STANDARD_SYMBOLS", "").strip() + if explicit: + return Path(explicit).expanduser() + data = ((info or {}).get("folders") or {}).get("data") + return (Path(data) if data else assistant_info_file().parent) / "standard-symbols.json" + + +def standard_symbols(info: dict | None = None): + """The roles from standard-symbols.json, or None when there is none. + A file that cannot be read is reported, not hidden.""" + path = standard_symbols_file(info) + try: + data = json.loads(path.read_text(encoding="utf-8")) + except FileNotFoundError: + return None + except (OSError, ValueError) as exc: + return {"error": f"{path} could not be read: {exc}"} + roles = data.get("roles") if isinstance(data, dict) else None + if not isinstance(roles, list): + return {"error": f"{path} has no \"roles\" list"} + return {"file": str(path), "updated": data.get("updated"), + "roles": [{k: r.get(k) for k in ("id", "label", "letter", "path", + "terminals", "note") if r.get(k) is not None} + for r in roles if isinstance(r, dict) and r.get("path")]} + + +def tool_about() -> dict: + """What this server and the QElectroTech it works with look like now.""" + info = assistant_info() + binary = resolve_binary() + out = { + "server": { + "version": SERVER_VERSION, + "qelectrotech_binary": str(binary) if binary else None, + "workspace": [str(r) for r in workspace_roots()] or "any path (QET_MCP_ALLOW_ANY_PATH=1)", + "scripting_allowed_here": os.environ.get("QET_ENABLE_SCRIPTING") == "1", + }, + "info_file": str(assistant_info_file()), + "scripts_folder": str(scripts_dir()), + } + if info is None: + out["found"] = False + out["note"] = ("QElectroTech writes this file when an editor window opens; " + "start it once (a version with script buttons) to fill it in. " + "Until then folders are this server's own guess.") + return out + live = info.get("live") + out.update({ + "found": True, + "qelectrotech": {k: info.get(k) for k in + ("qelectrotech_version", "program", "running", "written")}, + "folders": info.get("folders"), + "features": info.get("features"), + "stored_scripts": info.get("stored_scripts"), + "refused_scripts": info.get("refused_scripts"), + "script_api": info.get("script_api"), + # Never the token: it is for the live tools, not the conversation. + "live": {"open": bool(live), "pid": (live or {}).get("pid")}, + # This installation's drawing conventions, set once via + # qet.setHouseStyle() (scripting consent required, same as any + # other write) and read here so every assistant that connects sees + # them without being told by the user each time. No GUI field yet + # -- QetSettings::setHouseStyle() is there for one if it is wanted. + "house_style": info.get("house_style"), + # One symbol per device role, the user's own choice: use these + # paths with add_element / qet.addElement before searching. + "standard_symbols": standard_symbols(info), + }) + return out + + +def parse_script_header(text: str, script_id: str) -> dict: + """The same rules as QElectroTech's ScriptHeader::parse(). + + Returns the header's fields, with "error" set when QElectroTech would + refuse it (and so show no button for it). + """ + h = {"id": script_id, "name": "", "icon": "", "tooltip": "", "shortcut": "", + "context": "canvas", "api": 1, + "action_id": "diagrameditor.script." + script_id} + m = re.search(r"//\s*==QETScript==\s*\n(.*?)//\s*==/QETScript==", text, re.S) + if not m: + h["error"] = "no // ==QETScript== header" + return h + for line in m.group(1).split("\n"): + lm = re.match(r"^\s*//\s*@(\w+)\s+(.*?)\s*$", line) + if not lm: + continue + key, value = lm.groups() + if key == "api": + try: + h["api"] = int(value) + except ValueError: + h["api"] = 0 + elif key in ("name", "icon", "tooltip", "shortcut", "context"): + h[key] = value + else: + h["error"] = f"unknown header key @{key}" + return h + if not h["name"]: + h["error"] = "@name is required" + elif h["context"] not in _SCRIPT_CONTEXTS: + h["error"] = "@context must be one of: " + ", ".join(_SCRIPT_CONTEXTS) + elif h["api"] != 1: + h["error"] = f"@api {h['api']} is not supported by this version (1 is)" + return h + + +def _script_id(script_id) -> str: + if not isinstance(script_id, str) or not _SCRIPT_ID.match(script_id): + raise ValueError("'id' must be 1-64 characters of a-z, 0-9, '-' and '_', " + "starting with a letter or digit: it is the file name") + return script_id + + +def _require_script_consent() -> None: + if os.environ.get("QET_ENABLE_SCRIPTING") != "1": + raise ValueError( + "storing a script needs the same consent as editing a project: " + "QET_ENABLE_SCRIPTING=1 in the environment this server is started " + "in. A stored script runs with the user's rights when they click it.") + + +def _check_icon_svg(svg: str) -> None: + if not isinstance(svg, str) or len(svg.encode("utf-8")) > _ICON_MAX_BYTES: + raise ValueError(f"'icon_svg' must be SVG text under {_ICON_MAX_BYTES // 1024} KB") + try: + root = ET.fromstring(svg) + except ET.ParseError as exc: + raise ValueError(f"'icon_svg' is not well-formed XML: {exc}") from None + if root.tag.rsplit("}", 1)[-1] != "svg": + raise ValueError("'icon_svg' must have as its root element") + + +def _write_atomic(path: Path, data: str) -> None: + """Write, then rename into place, so the watcher never reads half a file.""" + tmp = path.with_name("." + path.name + ".tmp") + tmp.write_text(data, encoding="utf-8") + os.replace(tmp, path) + + +def tool_script_api(binary: str, timeout: int = 120) -> dict: + """The calls a script can make, asked of the QElectroTech that will run it.""" + script = ("var sigs = typeof qet.apiSignatures === 'function' ? qet.apiSignatures()" + " : null;\n" + "var names = []; for (var k in qet) if (typeof qet[k] === 'function') " + "names.push(k);\n" + "qet.log(%s + JSON.stringify({kind: 'api', signatures: sigs, names: names}));\n" + % json.dumps(_MARKER)) + with tempfile.TemporaryDirectory(prefix="qet-mcp-api-") as tmp: + proj = Path(tmp) / "api.qet" + proj.write_text('\n\n', + encoding="utf-8") + result = _run_qet(binary, [str(proj)], timeout=timeout, script=script, + tail=400_000) + rec = None + for line in (result.get("stdout", "") + "\n" + result.get("stderr", "")).splitlines(): + idx = line.find(_MARKER) + if idx >= 0: + try: + rec = json.loads(line[idx + len(_MARKER):]) + except json.JSONDecodeError: + pass + if rec is None: + result["ok"] = False + result["stdout"] = result.get("stdout", "")[-4000:] + result["stderr"] = result.get("stderr", "")[-4000:] + return result + out = {"ok": True, "header_format": SCRIPT_HEADER_HELP} + if rec.get("signatures"): + out["calls"] = rec["signatures"] + else: + out["calls"] = sorted(n for n in rec.get("names", []) + if not n.endswith("Changed") and n != "deleteLater") + out["note"] = ("this QElectroTech predates qet.apiSignatures(): names only, " + "see the JavaScript Scripting wiki page for parameters") + out["call_count"] = len(out["calls"]) + return out + + +def tool_script_test(binary: str, project: str, source: str, + elements_dir: str | None = None, timeout: int = 180) -> dict: + """Run a script on a copy of a project and say what it would change. + + What clicking its button would do, without touching the project: the + script runs headless on a copy, the copy is saved, and qet_diff compares + it with the original. Headless there is no folio on screen, so + qet.currentFolio() is the first folio. + """ + proj = Path(project).expanduser() + if not proj.is_file(): + raise ValueError(f"no such project: {proj}") + if not isinstance(source, str) or not source.strip(): + raise ValueError("'source' must be the script's text") + header = parse_script_header(source, "test") + with tempfile.TemporaryDirectory(prefix="qet-mcp-script-") as tmp: + copy = Path(tmp) / proj.name + shutil.copy2(proj, copy) + # Older builds have no currentFolio(); the first folio stands in, as + # it does headless in builds that have it. On the script's own first + # line, so the line numbers in its errors are its own. + script = ("if (typeof qet.currentFolio !== 'function') " + "qet.currentFolio = function () { return qet.folioCount() ? 0 : -1; }; " + + source + "\n" + "qet.log(%s + JSON.stringify({kind: 'save', result: qet.save(%s)}));\n" + % (json.dumps(_MARKER), json.dumps(str(copy)))) + result = _run_qet(binary, [str(copy)], timeout=timeout, + elements_dir=elements_dir, script=script, tail=400_000) + streams = result.get("stdout", "") + "\n" + result.get("stderr", "") + saved = None + for line in streams.splitlines(): + idx = line.find(_MARKER) + if idx >= 0: + try: + saved = json.loads(line[idx + len(_MARKER):]).get("result") + except json.JSONDecodeError: + pass + errors = [ln.strip() for ln in streams.splitlines() if "Script error:" in ln] + log = [ln for ln in streams.splitlines() + if ln.strip() and _MARKER not in ln and "Script error:" not in ln] + out = {"ok": bool(result.get("ok")) and saved is True and not errors, + "header": header, "errors": errors, "log": log[-60:]} + if result.get("hint"): + out["hint"] = result["hint"] + if result.get("timed_out"): + out["timed_out"] = True + if saved is True: + out["diff"] = tool_diff(str(proj), str(copy)) + elif not errors: + out["errors"] = ["the script did not finish: it threw before the " + "copy could be saved, or never ran"] + if header.get("error"): + out["header_warning"] = (f"QElectroTech would show no button for this " + f"script: {header['error']}") + return out + + +def tool_script_install(script_id: str, source: str, icon_svg: str | None = None, + overwrite: bool = False, test_project: str | None = None, + binary: str | None = None, elements_dir: str | None = None, + timeout: int = 180) -> dict: + """Store a script so QElectroTech shows it as a button.""" + _require_script_consent() + sid = _script_id(script_id) + if not isinstance(source, str) or not source.strip(): + raise ValueError("'source' must be the script's text") + if len(source.encode("utf-8")) > _SCRIPT_MAX_BYTES: + raise ValueError(f"'source' is over {_SCRIPT_MAX_BYTES // 1024} KB") + header = parse_script_header(source, sid) + if header.get("error"): + raise ValueError(f"QElectroTech would refuse this header: {header['error']}. " + + SCRIPT_HEADER_HELP) + folder = scripts_dir() + icon = header["icon"] + if icon_svg is not None: + _check_icon_svg(icon_svg) + if icon != f"{sid}.svg": + raise ValueError(f"with 'icon_svg', the header must say '// @icon {sid}.svg'") + elif icon and not icon.startswith("builtin:") and not (folder / icon).is_file(): + raise ValueError(f"the header names icon file {icon!r}, which is not in " + f"{folder}: pass its SVG as 'icon_svg', use builtin:, " + "or leave @icon out for an initials tile") + + target = folder / f"{sid}.js" + if target.exists() and not overwrite: + raise ValueError(f"a script with id {sid!r} is already stored: {target}. " + "Pass \"overwrite\": true to replace it.") + + test = None + if test_project: + test = tool_script_test(binary, test_project, source, elements_dir, timeout) + if not test.get("ok"): + return {"ok": False, "installed": None, + "reason": "the test run failed, so nothing was stored", + "test": test} + + folder.mkdir(parents=True, exist_ok=True) + if icon_svg is not None: + _write_atomic(folder / f"{sid}.svg", icon_svg) + _write_atomic(target, source) + out = {"ok": True, "installed": str(target), "header": header, + "where": "Projet > Scripts, the Scripts toolbar, command search " + "(Ctrl+Shift+M) and the shortcut bar's Customise list; an " + "open QElectroTech picks it up without a restart"} + if test is not None: + out["test"] = {"ok": True, "diff": test.get("diff")} + return out + + +def tool_script_list() -> dict: + folder = scripts_dir() + scripts, refused = [], [] + if folder.is_dir(): + for path in sorted(folder.glob("*.js")): + try: + text = path.read_text(encoding="utf-8") + except (OSError, UnicodeDecodeError) as exc: + refused.append({"file": path.name, "error": str(exc)}) + continue + h = parse_script_header(text, path.stem) + if h.get("error"): + refused.append({"file": path.name, "error": h["error"]}) + else: + scripts.append(h) + return {"folder": str(folder), "exists": folder.is_dir(), + "scripts": scripts, "refused": refused} + + +def tool_script_read(script_id: str) -> dict: + sid = _script_id(script_id) + folder = scripts_dir() + path = folder / f"{sid}.js" + if not path.is_file(): + raise ValueError(f"no stored script {sid!r} in {folder}") + source = path.read_text(encoding="utf-8") + out = {"id": sid, "path": str(path), "source": source, + "header": parse_script_header(source, sid)} + icon = folder / f"{sid}.svg" + if icon.is_file(): + out["icon_svg"] = icon.read_text(encoding="utf-8") + return out + + +def tool_script_remove(script_id: str) -> dict: + _require_script_consent() + sid = _script_id(script_id) + folder = scripts_dir() + path = folder / f"{sid}.js" + if not path.is_file(): + raise ValueError(f"no stored script {sid!r} in {folder}") + icon = parse_script_header(path.read_text(encoding="utf-8"), sid).get("icon", "") + path.unlink() + removed = [str(path)] + # The icon goes too unless another script still names it. + if icon and not icon.startswith("builtin:") and "/" not in icon and "\\" not in icon: + others = {parse_script_header(p.read_text(encoding="utf-8"), p.stem).get("icon") + for p in folder.glob("*.js")} + if icon not in others and (folder / icon).is_file(): + (folder / icon).unlink() + removed.append(str(folder / icon)) + return {"removed": removed} + + +# -------------------------------------------------------------------------- +# Live mode: act on the project open in a running QElectroTech +# -------------------------------------------------------------------------- +# +# Everything above is headless: it reads and writes files and launches its +# own QElectroTech. These tools instead talk to the QElectroTech the user +# has open, which only listens when three things are true: scripting is +# allowed, its "mode direct" setting is on (off by default), and the user +# accepted the warning it shows at every start. It then puts the socket +# name and token in the "live" part of qet-assistant.json, and clears it +# when the channel closes. Each action is one undo step in front of the user. + +def _live_session() -> dict: + """The live channel QElectroTech advertises in qet-assistant.json.""" + info = assistant_info() + path = assistant_info_file() + if info is None: + raise ValueError( + "QElectroTech has not written qet-assistant.json yet (looked for " + f"{path}): start QElectroTech, a version with live mode, first.") + live = info.get("live") + if not info.get("running") or not live: + features = info.get("features") or {} + if not info.get("running"): + why = "QElectroTech is not running" + elif not features.get("live_mode_setting"): + why = ("live mode is off: in QElectroTech, tick Settings > Configure " + "QElectroTech > General > Projects > \"Allow an AI assistant to " + "act on the open project (live mode)\" (in French: Configurer " + "QElectroTech > Général > Projets), then restart it") + else: + why = ("live mode is on but not open for this session: answer " + "\"Continue\" (\"Continuer\") in the warning QElectroTech shows " + "at start, or restart it if \"Not this session\" or \"Stop\" " + "was chosen") + raise ValueError(f"no QElectroTech is listening for an assistant: {why}.") + return live + + +_live_last_end = None + + +def _live_call(request: dict, timeout: float = 60.0) -> dict: + # QET_LIVE_PERF_LOG: append one JSON line per request with where its + # time went (tools/live-perf/monitor.py in the docker harness reads it; + # QElectroTech writes its own half when started with the same variable). + perf_log = os.environ.get("QET_LIVE_PERF_LOG", "").strip() + started = time.perf_counter() + session = _live_session() + request_id = uuid.uuid4().hex[:12] if perf_log else 1 + request = dict(request, token=session.get("token", ""), id=request_id) + if perf_log: + request["timing"] = True + t_session = time.perf_counter() + line = (json.dumps(request) + "\n").encode("utf-8") + name = session.get("socket", "") + try: + if os.name == "nt": + # QLocalServer is a named pipe on Windows; fullServerName() is + # already \\.\pipe\. + with open(name, "r+b", buffering=0) as pipe: + pipe.write(line) + data = b"" + while not data.endswith(b"\n"): + chunk = pipe.read(1) + if not chunk: + break + data += chunk + else: + import socket + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock: + sock.settimeout(timeout) + sock.connect(name) + sock.sendall(line) + data = b"" + while not data.endswith(b"\n"): + chunk = sock.recv(65536) + if not chunk: + break + data += chunk + except OSError as exc: + raise ValueError(f"could not reach QElectroTech's live channel ({exc}); it " + "may have been stopped, or QElectroTech closed") from None + if not data.strip(): + raise ValueError("QElectroTech closed the live channel without answering") + answer = json.loads(data.decode("utf-8")) + answer.pop("id", None) + if perf_log: + global _live_last_end + ended = time.perf_counter() + line = {"src": "client", "id": request_id, "cmd": request.get("cmd"), + "label": "mcp", "t": time.time(), "pid": os.getpid(), + "gap_ms": round((started - _live_last_end) * 1000, 2) + if _live_last_end is not None else None, + "session_ms": round((t_session - started) * 1000, 2), + "total_ms": round((ended - started) * 1000, 2), + "answer_bytes": len(data), "ok": answer.get("ok"), + "server": answer.pop("timing", None)} + _live_last_end = ended + try: + with open(perf_log, "a", encoding="utf-8") as f: + f.write(json.dumps(line) + "\n") + except OSError: + pass + return answer + + +def tool_live_status() -> dict: + return _live_call({"cmd": "status"}) + + +def tool_live_run_script(source: str, name: str = "", timeout: int = 300) -> dict: + _require_script_consent() + if not isinstance(source, str) or not source.strip(): + raise ValueError("'source' must be the script's text") + return _live_call({"cmd": "run_script", "source": source, "name": name or "script"}, + timeout) + + +def tool_live_run_stored(script_id: str, timeout: int = 60) -> dict: + _require_script_consent() + return _live_call({"cmd": "run_stored", "script": _script_id(script_id)}, timeout) + + +def tool_live_command(action: str) -> dict: + _require_script_consent() + if not isinstance(action, str) or not action: + raise ValueError("'action' must be a command id, e.g. diagrameditor.zoom_fit") + return _live_call({"cmd": "command", "action": action}) + + +def tool_live_show_folio(folio: int) -> dict: + if not isinstance(folio, int) or isinstance(folio, bool): + raise ValueError("'folio' must be an index counted from 0") + return _live_call({"cmd": "show_folio", "folio": folio}) + + +def tool_live_new_project(title: str = "", folios: int = 1, path: str = "") -> dict: + _require_script_consent() + if not isinstance(folios, int) or isinstance(folios, bool) or not 1 <= folios <= 100: + raise ValueError("'folios' must be a whole number from 1 to 100") + if not isinstance(title, str) or not isinstance(path, str): + raise ValueError("'title' and 'path' must be text") + if path and not Path(path).expanduser().is_absolute(): + raise ValueError("'path' must be absolute, e.g. /home/me/projects/pump.qet") + request = {"cmd": "new_project", "folios": folios} + if title: + request["title"] = title + if path: + request["path"] = str(Path(path).expanduser()) + return _live_call(request) + + +def tool_live_open_project(path: str) -> dict: + if not isinstance(path, str) or not path.strip(): + raise ValueError("'path' must be the project's file, e.g. /home/me/projects/pump.qet") + p = Path(path).expanduser() + if not p.is_absolute(): + raise ValueError("'path' must be absolute, e.g. /home/me/projects/pump.qet") + return _live_call({"cmd": "open_project", "path": str(p)}) + + +def tool_live_switch_project(index: int | None = None, path: str = "") -> dict: + if (index is None) == (not path): + raise ValueError("give exactly one of 'index' (from qet_live_status's " + "\"projects\") or 'path'") + if index is not None: + if not isinstance(index, int) or isinstance(index, bool) or index < 0: + raise ValueError("'index' must be a whole number counted from 0") + return _live_call({"cmd": "switch_project", "index": index}) + p = Path(path).expanduser() + if not p.is_absolute(): + raise ValueError("'path' must be absolute") + return _live_call({"cmd": "switch_project", "path": str(p)}) + + +def _abs_path(value, arg: str) -> str: + if not isinstance(value, str) or not value.strip(): + raise ValueError(f"'{arg}' must be a file path") + p = Path(value).expanduser() + if not p.is_absolute(): + raise ValueError(f"'{arg}' must be absolute, e.g. /home/me/projects/pump.qet") + return str(p) + + +def _index_arg(index): + if index is not None and (not isinstance(index, int) or isinstance(index, bool) or index < 0): + raise ValueError("'index' must be a whole number counted from 0") + return index + + +def tool_live_save_project(path: str = "") -> dict: + _require_script_consent() + request = {"cmd": "save_project"} + if path: + request["path"] = _abs_path(path, "path") + return _live_call(request) + + +def tool_live_close_project(index: int | None = None) -> dict: + _require_script_consent() + request = {"cmd": "close_project"} + if _index_arg(index) is not None: + request["index"] = index + return _live_call(request) + + +def tool_live_print(folios="all", printer: str = "", output_file: str = "") -> dict: + _require_script_consent() + if isinstance(folios, list): + if not folios or not all(isinstance(i, int) and not isinstance(i, bool) and i >= 0 + for i in folios): + raise ValueError("'folios' as a list holds folio indexes counted from 0") + elif folios not in ("all", "current"): + raise ValueError("'folios' must be \"all\", \"current\" or a list of indexes") + if printer and output_file: + raise ValueError("give 'printer' or 'output_file', not both") + request = {"cmd": "print", "folios": folios} + if printer: + request["printer"] = printer + if output_file: + request["output_file"] = _abs_path(output_file, "output_file") + # The user answers QElectroTech's question before anything prints. + return _live_call(request, timeout=300) + + +def tool_live_changes(since: int | None = None) -> dict: + request = {"cmd": "changes"} + if since is not None: + if not isinstance(since, int) or isinstance(since, bool) or since < -1: + raise ValueError("'since' must be a step index from an earlier answer (or -1)") + request["since"] = since + return _live_call(request) + + +def tool_live_layout_check(folio: str | int = "current", style: str = "auto", + max_shift: float = 40, limit: int = 50, + elements_dir: str | None = None, timeout: int = 180, + binary: str | None = None) -> dict: + """qet_layout_check on what the user sees: QElectroTech writes a copy of + the open project (unsaved changes included) to a private folder, the + check reads the copy, the copy is deleted. The user's project and file + are not touched, and no "run this script?" window is shown.""" + binary = binary or resolve_binary() + if not binary: + raise ValueError("no QElectroTech binary to run the check with: set QET_BINARY") + work = Path(tempfile.mkdtemp(prefix="qet-live-check-")) + try: + snap = _live_call({"cmd": "snapshot", "path": str(work / "live.qet")}) + if not snap.get("ok"): + return snap + if folio == "current": + folio_no = snap.get("folio", -1) + 1 or None + elif folio == "all": + folio_no = None + elif isinstance(folio, int) and not isinstance(folio, bool) and folio >= 1: + folio_no = folio + else: + raise ValueError("'folio' is \"current\", \"all\" or a folio number counted from 1") + answer = tool_layout_check(str(binary), snap["path"], folio=folio_no, style=style, + max_shift=max_shift, limit=limit, + elements_dir=elements_dir, timeout=timeout) + answer["checked"] = "the open project, as on screen (unsaved changes included)" + # The moves in "fixes" are for qet_edit on a file; live, apply them + # with qet_live_run_script (qet.moveElement), one undo step. + return answer + finally: + shutil.rmtree(work, ignore_errors=True) + + +def tool_live_undo_last() -> dict: + _require_script_consent() + return _live_call({"cmd": "undo_last"}) + + +def tool_live_screenshot() -> dict: + answer = _live_call({"cmd": "screenshot"}) + data = answer.pop("png_base64", None) + if data: + answer["_image_png_base64"] = data + return answer + + +# -------------------------------------------------------------------------- +# Macro recordings: what a person did by hand, for a script to repeat +# -------------------------------------------------------------------------- +# +# QElectroTech's Projet > Scripts > Enregistrer une macro saves, per +# recording, the whole project before and after, and each step from its +# undo history with the folio as it was after the step. QElectroTech cannot +# send these anywhere; these tools fetch them. The person pastes a request +# QElectroTech copied for them, naming the recording. + +_RECORDING_ID = re.compile(r"^[A-Za-z0-9][A-Za-z0-9_-]{0,63}$") + + +def recordings_dir() -> Path: + info = assistant_info() or {} + named = (info.get("folders") or {}).get("recordings") + if isinstance(named, str) and named and not os.environ.get("QET_MCP_SCRIPTS_DIR"): + return Path(named) + return scripts_dir().parent / "recordings" + + +def _recording(recording_id: str) -> tuple: + if not isinstance(recording_id, str) or not _RECORDING_ID.match(recording_id): + raise ValueError("'id' must be a recording id as qet_recording_list gives it") + folder = recordings_dir() / recording_id + meta_path = folder / "recording.json" + if not meta_path.is_file(): + raise ValueError(f"no recording {recording_id!r} in {recordings_dir()}") + return folder, json.loads(meta_path.read_text(encoding="utf-8")) + + +def _nonempty(value): + """A diff with every empty list, empty object and bookkeeping field + dropped: what actually changed, or None for nothing.""" + if isinstance(value, dict): + out = {} + for k, v in value.items(): + if k in ("before", "after", "keyed_by", "moved_count", "distinct_move_deltas"): + continue + v = _nonempty(v) + if v not in (None, {}, [], "", 0): + out[k] = v + return out or None + if isinstance(value, list): + return value or None + return value + + +def _folio_project(diagram: ET.Element, collection: ET.Element | None, path: Path) -> Path: + """One folio as the smallest project qet_diff reads.""" + root = ET.Element("project", {"version": "0.100.0", "title": "step"}) + if collection is not None: + root.append(collection) + root.append(diagram) + ET.ElementTree(root).write(path, encoding="utf-8", xml_declaration=False) + return path + + +def tool_recording_list() -> dict: + folder = recordings_dir() + out = [] + if folder.is_dir(): + for meta_path in sorted(folder.glob("*/recording.json"), reverse=True): + try: + r = json.loads(meta_path.read_text(encoding="utf-8")) + except (OSError, ValueError): + continue + out.append({"id": meta_path.parent.name, "name": r.get("name"), + "steps": len(r.get("steps") or []), "started": r.get("started"), + "complete": r.get("complete"), "project": r.get("project_title"), + "start_folio": (r.get("start") or {}).get("folio")}) + return {"folder": str(folder), "recordings": out} + + +def tool_recording_read(recording_id: str) -> dict: + """A recording as structured changes: each step, and before -> after.""" + folder, meta = _recording(recording_id) + before = folder / "before.qet" + after = folder / "after.qet" + out = {"id": recording_id, "name": meta.get("name"), "project": meta.get("project_title"), + "start": meta.get("start"), "complete": meta.get("complete"), + "files": {"before": str(before), "after": str(after) if after.is_file() else None}} + if meta.get("note"): + out["note"] = meta["note"] + if after.is_file(): + out["overall_change"] = _nonempty(tool_diff(str(before), str(after))) + + before_root = ET.parse(before).getroot() + collection = before_root.find("collection") + folios = before_root.findall("diagram") + last_by_folio = {} + steps = [] + with tempfile.TemporaryDirectory(prefix="qet-mcp-rec-") as tmp: + tmp = Path(tmp) + for step in meta.get("steps") or []: + row = {k: step.get(k) for k in ("n", "kind", "undo_text", "parts", "folio", + "folio_title", "selected_elements")} + row["parts"] = [p for p in (row.get("parts") or []) if p] + f = step.get("folio") + file = step.get("folio_file") + if isinstance(f, int) and file and (folder / file).is_file(): + now = ET.parse(folder / file).getroot() + prev = last_by_folio.get(f) + if prev is None and 0 <= f < len(folios): + prev = folios[f] + if prev is not None: + a = _folio_project(prev, collection, tmp / f"a{step['n']}.qet") + b = _folio_project(now, collection, tmp / f"b{step['n']}.qet") + row["change"] = _nonempty(tool_diff(str(a), str(b))) + last_by_folio[f] = now + steps.append(row) + out["steps"] = steps + out["how_to_use"] = ( + "Write a script that has the same effect in general (e.g. on " + "qet.selectedElements(qet.currentFolio()) rather than these uuids), then " + "qet_recording_check it against this recording until it matches, then " + "qet_script_install it.") + return out + + +def tool_recording_check(binary: str, recording_id: str, source: str, + elements_dir: str | None = None, timeout: int = 180) -> dict: + """Run a script on a copy of the recording's before.qet, from where the + person started (folio on screen, selection), and compare with after.qet.""" + if not isinstance(source, str) or not source.strip(): + raise ValueError("'source' must be the script's text") + folder, meta = _recording(recording_id) + after = folder / "after.qet" + if not after.is_file(): + raise ValueError("this recording has no after.qet (the project was closed while " + "recording), so there is nothing to compare with") + start = meta.get("start") or {} + folio = start.get("folio") if isinstance(start.get("folio"), int) else 0 + selected = [e.get("uuid") for e in start.get("selected_elements") or [] if e.get("uuid")] + with tempfile.TemporaryDirectory(prefix="qet-mcp-check-") as tmp: + result = Path(tmp) / "result.qet" + shutil.copy2(folder / "before.qet", result) + # Where the person was: the folio on screen and what was selected. + # On the script's own first line, so its error lines stay its own. + # qet is a Qt object whose methods cannot be replaced, so a proxy + # answers currentFolio() and hands everything else to the real one. + preamble = ("var __qet = qet; qet = new Proxy(__qet, {get: function (t, k) { " + "if (k === 'currentFolio') return function () { return %d; }; " + "var v = t[k]; return typeof v === 'function' ? v.bind(t) : v; }}); " + "%s.forEach(function (u) { __qet.selectElement(u); }); " + % (folio, json.dumps(selected))) + script = (preamble + source + "\n" + "qet.log(%s + JSON.stringify({kind: 'save', result: qet.save(%s)}));\n" + % (json.dumps(_MARKER), json.dumps(str(result)))) + run = _run_qet(binary, [str(result)], timeout=timeout, + elements_dir=elements_dir, script=script, tail=400_000) + streams = run.get("stdout", "") + "\n" + run.get("stderr", "") + errors = [ln.strip() for ln in streams.splitlines() if "Script error:" in ln] + saved = any(_MARKER in ln and '"result": true' in ln.replace('":true', '": true') + for ln in streams.splitlines()) + out = {"errors": errors, "started_from": {"folio": folio, "selected": selected}} + if run.get("hint"): + out["hint"] = run["hint"] + if not saved: + out["matches"] = False + out["errors"] = errors or ["the script did not finish, so nothing was compared"] + return out + remaining = _nonempty(tool_diff(str(after), str(result))) + # The project's own fields (save path, save date) always differ. + if remaining: + remaining.pop("project", None) + remaining = remaining or None + out["matches"] = remaining is None and not errors + out["difference_from_recording"] = remaining + out["script_change"] = _nonempty(tool_diff(str(folder / "before.qet"), str(result))) + return out + + +def tool_recording_remove(recording_id: str) -> dict: + _require_script_consent() + folder, _ = _recording(recording_id) + shutil.rmtree(folder) + return {"removed": str(folder)} + + TOOLS = [ { "name": "qet_project_info", @@ -2699,11 +4832,36 @@ TOOLS = [ "description": "replace \"output\" if it already exists; " "without this an existing file is never clobbered"}, "timeout": {"type": "integer", "default": 180}, + "reproducible": {"type": "boolean", "default": False, + "description": "pdf: write the same bytes for the same " + "project in every run, so two exports can be " + "compared byte for byte. Sets " + "SOURCE_DATE_EPOCH; the result's " + "\"reproducible\" says whether this " + "QElectroTech honoured it"}, + "source_date_epoch": {"type": "integer", "minimum": 0, + "description": "with reproducible: the date the PDF " + "carries, in seconds since 1970 UTC. " + "Default: this server's own " + "SOURCE_DATE_EPOCH, else 0"}, + "no_slaves": {"type": "boolean", "default": False, + "description": "bom: leave out the contact blocks (slave " + "elements), which otherwise get a row of " + "their own with their master's label"}, + "no_junctions": {"type": "boolean", "default": False, + "description": "bom: leave out the junctions: " + "terminal-type elements with no label, " + "designation, manufacturer or " + "manufacturer reference"}, }, "required": ["project", "format", "output"], }, "handler": lambda a: tool_export(a["binary"], a["project"], a["format"], - a["output"], a.get("timeout", 180)), + a["output"], a.get("timeout", 180), + a.get("reproducible", False), + a.get("source_date_epoch"), + a.get("no_slaves", False), + a.get("no_junctions", False)), }, { "name": "qet_edit", @@ -2730,6 +4888,22 @@ TOOLS = [ "description": "Operations applied in order. Each is an object with \"op\" " "and that op's arguments. Ops: " + ", ".join(sorted(OPS)) + ". " + "Lining symbols up, so wires come out straight: a wire is " + "straight only when its two terminals are exactly in line. " + "place_element (folio, path, terminal, next_to, " + "next_to_terminal, optional side below|above|right|left -- " + "default the way next_to_terminal faces -- gap, 40 px " + "terminal to terminal, and angle, a rotation applied first, as " + "for a ladder rung) adds a symbol with its terminal in line " + "with next_to's, and notes when that terminal faces the wrong " + "way; align_terminal (folio, element, terminal, to, " + "to_terminal) moves a placed symbol across so the two are in " + "line; align_elements (folio, elements, edge left|center|right|" + "top|middle|bottom, optional to) lines up their boxes, as Edit > " + "Align does; distribute_elements (folio, elements, axis " + "horizontal|vertical, optional pitch) spaces their origins " + "evenly, or pitch apart. place_element and align_terminal need " + "a build with qet.terminalPosition(). " "Give an op an \"id\" to name what it produced, then refer to " "it later as \"$id\" -- that is how an element placed by " "add_element gets wired by add_conductor, and how a folio made " @@ -2771,6 +4945,15 @@ TOOLS = [ "movable ones, then a static segment, in that order from the " "first terminal; call with a guessed index and read \"succeeded\" " "to check it landed on a movable one. " + "add_conductor takes an optional \"route\": \"avoid\" to " + "redraw the new wire around the symbols in its way instead of " + "QElectroTech's default two or three straight segments; " + "route_conductor does the same to an existing conductor " + "(addressed like move_conductor_segment, or by \"conductor\") " + "and returns \"routed\" or \"no-route\". Where no route " + "exists the wire keeps its path and the op's note says so -- " + "not a failure. Route after placing everything: moving a " + "symbol later stretches the routed path, it does not reroute it. " "link_elements takes a folio for each end, since a master " "and its slave are usually on different ones. " "delete_conductor removes only the conductor on the named " @@ -2783,6 +4966,18 @@ TOOLS = [ "use_conductor_autonum then makes new conductors on a folio " "take their number from it, so define and select it BEFORE the " "add_conductor ops it should number. For elements, " + "renumber_element_autonum numbers an element context's elements again " + "(an element with a frozen label keeps its label, and nobody else gets it); " + "free_element_numbers lists the numbers an element of an element context may " + "be given by hand, assign_element_number gives it one of them " + "(it keeps following the context, its counter moves past the number); " + "assign_element_autonum makes one element follow a named element context " + "(refused when it holds a formula, frozen label or follows " + "another one, unless overwrite is true); " + "rename_autonum renames a context of any kind, what follows it (elements, or " + "the folios of a conductor or folio context) keeps following it; " + "remove_autonum refuses a context which elements (element kind) or " + "folios (conductor and folio kinds) still follow. " "use_element_autonum selects the context and number_element applies " "it to one element AFTER it is placed (add_element does not number " "what it places); slaves and reports are refused, since they take " @@ -2838,8 +5033,20 @@ TOOLS = [ "where it is found. Returns the number of items changed; never " "matches an empty field. set_project_title renames the project. " "set_folio_border sets one " - "of the folio frame's " + ", ".join(FOLIO_BORDER_PROPERTIES) + - " (counts 1-99, sizes 1-1000, display-* true/false). " + "of the folio frame's " + ", ".join(FOLIO_BORDER_PROPERTIES[:-1]) + + " (counts 1-99, sizes 1-1000, display-* true/false), or \"property\": " + "\"preset\" with a sheet of paper as the value (" + + ", ".join(FOLIO_PRESETS) + "): it picks the column and row counts " + "and whole-number sizes that fill that sheet best without going " + "over it, allowing for the folio's own title block, as one undo " + "step; the op's note says what it chose and the frame's size in " + "points, which qet_export's pdf writes on that sheet exactly. " + "set_conductor_default sets one of a folio's conductor defaults " + "(Folio properties > Conductors): onetextperfolio (true/false, one " + "wire number per potential on the folio) or any set_conductor " + "property, which new conductors on that folio start from; \"folio\": " + "-1 sets the project's defaults that each folio added later copies. " + "Not on the undo stack. " "embed_title_block_template copies a template into the project from " "the common/company/custom collection that has it (only reachable if " "the binary's compiled-in template path resolves to something real -- " @@ -3051,7 +5258,10 @@ TOOLS = [ "directory": {"type": "string", "description": "the collection root, e.g. a checkout's elements/ directory"}, "query": {"type": "string", - "description": "words to find; every word must match some name, the path or the kind"}, + "description": "words to find; every word must match some name, the path " + "or the kind (one or two letters, such as NC, only as a " + "whole word). " + "NO/NC, N/O, NF and \"normally open/closed\" are the same"}, "link_type": {"type": "string", "enum": list(LINK_TYPES)}, "kind": {"type": "string", "description": "the element's type information, e.g. coil, protection"}, "min_terminals": {"type": "integer"}, @@ -3093,6 +5303,47 @@ TOOLS = [ a.get("sample", 10), a.get("elements_dir"), a.get("timeout", 180)), }, + { + "name": "qet_layout_check", + "description": "Score how well a drawing reads, 0-100, and list what spoils it: " + "wires that jog because two symbols are a few pixels out of line " + "(avoidable_bend), wires with more bends than needed, wires " + "running through a symbol, overlapping symbols, symbols off the " + "10 px grid, and crossings. \"fixes\" is the list of " + "move_element operations that removes the jogs and off-grid " + "symbols, one move per symbol, planned together: pass the whole " + "list to one qet_edit call (folio counted from 0, as qet_edit " + "counts; findings report \"folio\" counted from 1). Run it " + "after drawing, apply \"fixes\", run it again. " + "One QElectroTech launch; read-only, nothing is saved.", + "inputSchema": { + "type": "object", + "properties": { + "binary": {"type": "string", "description": "the qelectrotech executable; leave it out to use the one this server is configured with. Any other is refused unless its configuration allows it"}, + "project": {"type": "string"}, + "folio": {"type": "integer", "description": "only this folio, counted from 1; omit for all"}, + "style": {"type": "string", "enum": LAYOUT_STYLES, "default": "auto", + "description": "iec: current paths are columns, wires mostly " + "vertical. nfpa: ladder rungs are rows, wires " + "mostly horizontal. auto: from the drawing"}, + "max_shift": {"type": "number", "default": 40, + "description": "the largest move, in pixels, an " + "avoidable_bend fix may suggest; a bigger " + "jog is taken as intended"}, + "limit": {"type": "integer", "default": 50, + "description": "how many findings to return; the summary " + "counts them all"}, + "elements_dir": {"type": "string"}, + "timeout": {"type": "integer", "default": 180}, + }, + "required": ["project"], + }, + "handler": lambda a: tool_layout_check(a["binary"], a["project"], a.get("folio"), + a.get("style", "auto"), + a.get("max_shift", 40), a.get("limit", 50), + a.get("elements_dir"), + a.get("timeout", 180)), + }, { "name": "qet_element_build", "description": "Write a .elmt element definition: named in one or more " @@ -3151,6 +5402,403 @@ TOOLS = [ a["output"], a["names"], a["parts"], a.get("terminals"), a.get("link_type", "simple"), a.get("informations"), a.get("uuid")), }, + { + "name": "qet_script_api", + "description": "List every call a QElectroTech script can make (the global " + "'qet'), asked of the QElectroTech that will run it, plus the " + "header format that turns a script into a button. Read this " + "before writing a script for qet_script_install. One launch; " + "needs QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": { + "binary": {"type": "string", "description": "the qelectrotech executable; leave it out to use the one this server is configured with. Any other is refused unless its configuration allows it"}, + "timeout": {"type": "integer", "default": 120}, + }, + }, + "handler": lambda a: tool_script_api(a["binary"], a.get("timeout", 120)), + }, + { + "name": "qet_script_test", + "description": "Run a script's text on a COPY of a project and return what it " + "would change (a qet_diff), what it logged, and any error with " + "its line. The project is never modified. Headless there is no " + "folio on screen: qet.currentFolio() is the first folio. Also " + "says if the header would get no button. Needs " + "QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": { + "binary": {"type": "string", "description": "the qelectrotech executable; leave it out to use the one this server is configured with. Any other is refused unless its configuration allows it"}, + "project": {"type": "string", "description": "the .qet to try it on; never modified"}, + "source": {"type": "string", "description": "the script's full text"}, + "elements_dir": {"type": "string"}, + "timeout": {"type": "integer", "default": 180}, + }, + "required": ["project", "source"], + }, + "handler": lambda a: tool_script_test(a["binary"], a["project"], a["source"], + a.get("elements_dir"), a.get("timeout", 180)), + }, + { + "name": "qet_script_install", + "description": "Store a script so QElectroTech shows it as a button with an " + "icon: Projet > Scripts, the Scripts toolbar, command search " + "and the shortcut bar. A running QElectroTech picks it up " + "without a restart. The text must start with a " + "// ==QETScript== header (see qet_script_api); the file is " + ".js in the user's scripts folder, which this server " + "chooses. Give 'icon_svg' to store an icon as .svg (the " + "header must then say '// @icon .svg'). Give " + "'test_project' to run qet_script_test first and store " + "nothing if it fails -- recommended. Does not run the " + "script: the user clicks it. Needs QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": { + "id": {"type": "string", "description": "file name without .js: a-z, 0-9, '-', '_'"}, + "source": {"type": "string", "description": "the script's full text, header first"}, + "icon_svg": {"type": "string", "description": "optional SVG for the button, stored as .svg"}, + "overwrite": {"type": "boolean", "default": False}, + "test_project": {"type": "string", "description": "optional .qet to test on first; never modified"}, + "binary": {"type": "string", "description": "the qelectrotech executable for the test; leave it out to use the one this server is configured with"}, + "elements_dir": {"type": "string"}, + "timeout": {"type": "integer", "default": 180}, + }, + "required": ["id", "source"], + }, + "handler": lambda a: tool_script_install( + a["id"], a["source"], a.get("icon_svg"), bool(a.get("overwrite")), + a.get("test_project"), a.get("binary"), a.get("elements_dir"), + a.get("timeout", 180)), + }, + { + "name": "qet_script_list", + "description": "List the stored scripts QElectroTech shows as buttons: each " + "one's id, name, icon, tooltip, shortcut and context, and the " + "files it ignores with the reason. Reads files only.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_script_list(), + }, + { + "name": "qet_script_read", + "description": "The text (and stored SVG icon, if any) of one stored script, " + "to change it and store it again with qet_script_install " + "overwrite=true.", + "inputSchema": { + "type": "object", + "properties": {"id": {"type": "string"}}, + "required": ["id"], + }, + "handler": lambda a: tool_script_read(a["id"]), + }, + { + "name": "qet_script_remove", + "description": "Delete a stored script, and its icon if no other script uses " + "it; its button goes from a running QElectroTech. Needs " + "QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": {"id": {"type": "string"}}, + "required": ["id"], + }, + "handler": lambda a: tool_script_remove(a["id"]), + }, + { + "name": "qet_live_status", + "description": "LIVE MODE. Ask the QElectroTech the user has open what is on " + "screen: the project, the folio shown (index and title), the " + "selected elements, the last undo step, the stored scripts, and " + "\"projects\": every project open in the window (index, title, " + "file, folios, unsaved changes, which is current). " + "Works only if the user switched live mode on in QElectroTech " + "and accepted its warning at this start; the error says which " + "step is missing. Changes nothing.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_live_status(), + }, + { + "name": "qet_live_run_script", + "description": "LIVE MODE. Run script text on the project the user has open, " + "in front of them, as one undo step named after 'name'. " + "qet.currentFolio() is the folio on screen. Returns what the " + "script logged, its error with the line if it threw, and the " + "undo step (empty if nothing changed). Try a new script with " + "qet_script_test on a copy first when you can. Needs " + "QET_ENABLE_SCRIPTING=1 and live mode on in QElectroTech.", + "inputSchema": { + "type": "object", + "properties": { + "source": {"type": "string", "description": "the script's text"}, + "name": {"type": "string", "description": "what the user sees in the undo step"}, + "timeout": {"type": "integer", "default": 300, + "description": "seconds; the user may be reading the script before saying yes"}, + }, + "required": ["source"], + }, + "handler": lambda a: tool_live_run_script(a["source"], a.get("name", ""), + a.get("timeout", 300)), + }, + { + "name": "qet_live_run_stored", + "description": "LIVE MODE. Press a stored script's button (see " + "qet_script_list) in the QElectroTech the user has open: one " + "undo step. Needs QET_ENABLE_SCRIPTING=1 and live mode on in " + "QElectroTech.", + "inputSchema": { + "type": "object", + "properties": {"id": {"type": "string"}, + "timeout": {"type": "integer", "default": 60}}, + "required": ["id"], + }, + "handler": lambda a: tool_live_run_stored(a["id"], a.get("timeout", 60)), + }, + { + "name": "qet_live_command", + "description": "LIVE MODE. Trigger one editor command in the QElectroTech the " + "user has open, by id. Only commands that open no dialog are " + "allowed: diagrameditor.select_all, select_nothing, " + "select_invert, select_all_conductors, select_all_text_fields, " + "zoom_in, zoom_out, zoom_content, zoom_fit, zoom_reset, " + "rotate_selection, rotate_texts, snap_selection_to_grid, " + "group_selection, ungroup_selection, conductor_reset (all " + "prefixed diagrameditor.). Anything else -- saving, deleting, " + "exporting -- is refused; use a script for edits.", + "inputSchema": { + "type": "object", + "properties": {"action": {"type": "string"}}, + "required": ["action"], + }, + "handler": lambda a: tool_live_command(a["action"]), + }, + { + "name": "qet_live_show_folio", + "description": "LIVE MODE. Show another folio of the open project (index " + "from 0), so qet.currentFolio() and qet_live_screenshot " + "follow it.", + "inputSchema": { + "type": "object", + "properties": {"folio": {"type": "integer"}}, + "required": ["folio"], + }, + "handler": lambda a: tool_live_show_folio(a["folio"]), + }, + { + "name": "qet_live_new_project", + "description": "LIVE MODE. Create a new project in the QElectroTech the " + "user has open, as File > New does (this installation's " + "new-folio defaults), and make it the current project: every " + "following qet_live_* call works on it. Optional title, number " + "of empty folios (pages, 1-100) and an absolute path to save it " + "to at once -- never over an existing file. Then, in " + "qet_live_run_script: qet.addFolio() / qet.insertFolio(i) add " + "pages, qet.setFolioTitle(i, text) names them, and " + "qet.linkElements(folioA, a, folioB, b) links across pages -- " + "a going folio report arrow to a coming one, or a coil to its " + "contacts on another page.", + "inputSchema": { + "type": "object", + "properties": { + "title": {"type": "string", "description": "the project's title"}, + "folios": {"type": "integer", "default": 1, "minimum": 1, "maximum": 100}, + "path": {"type": "string", + "description": "absolute .qet path to save to now; must not exist"}, + }, + }, + "handler": lambda a: tool_live_new_project(a.get("title", ""), a.get("folios", 1), + a.get("path", "")), + }, + { + "name": "qet_live_open_project", + "description": "LIVE MODE. Open a saved project (.qet, absolute path) in the " + "QElectroTech the user has open and make it current, as File > " + "Open does but with no dialog; errors come back as text. A " + "project already open is only made current. Every following " + "qet_live_* call works on it.", + "inputSchema": { + "type": "object", + "properties": {"path": {"type": "string", "description": "absolute .qet path"}}, + "required": ["path"], + }, + "handler": lambda a: tool_live_open_project(a["path"]), + }, + { + "name": "qet_live_switch_project", + "description": "LIVE MODE. Make another project that is already open the " + "current one, by its index in qet_live_status's \"projects\" or " + "by its file path. Every following qet_live_* call works on it. " + "Changes no project.", + "inputSchema": { + "type": "object", + "properties": {"index": {"type": "integer", "minimum": 0}, + "path": {"type": "string"}}, + }, + "handler": lambda a: tool_live_switch_project(a.get("index"), a.get("path", "")), + }, + { + "name": "qet_live_save_project", + "description": "LIVE MODE. Save the current project to its own file, or with " + "'path' save it as a new file (absolute; never over an existing " + "file), which then becomes its file.", + "inputSchema": {"type": "object", + "properties": {"path": {"type": "string"}}}, + "handler": lambda a: tool_live_save_project(a.get("path", "")), + }, + { + "name": "qet_live_close_project", + "description": "LIVE MODE. Close an open project (the current one, or 'index' " + "from qet_live_status's \"projects\") -- only when it has no " + "unsaved changes: closing never discards work, so save it first.", + "inputSchema": {"type": "object", + "properties": {"index": {"type": "integer", "minimum": 0}}}, + "handler": lambda a: tool_live_close_project(a.get("index")), + }, + { + "name": "qet_live_print", + "description": "LIVE MODE. Print folios of the current project without the " + "print dialog: 'folios' is \"all\" (default), \"current\" or a " + "list of indexes from 0; 'printer' names a printer, else the " + "computer's default printer. QElectroTech always asks the user " + "before printing (paper cannot be taken back); \"refused by the " + "user\" means they said no. 'output_file' (absolute .pdf, must " + "not exist) prints to a PDF file instead, with no question.", + "inputSchema": { + "type": "object", + "properties": { + "folios": {"oneOf": [{"type": "string", "enum": ["all", "current"]}, + {"type": "array", "items": {"type": "integer", "minimum": 0}}]}, + "printer": {"type": "string"}, + "output_file": {"type": "string"}, + }, + }, + "handler": lambda a: tool_live_print(a.get("folios", "all"), a.get("printer", ""), + a.get("output_file", "")), + }, + { + "name": "qet_live_changes", + "description": "LIVE MODE. The current project's undo history: each step's name, " + "whether the assistant or the user made it, and whether it is " + "undone; 'since' (a step index from an earlier answer, e.g. its " + "\"now\") keeps only the later steps -- what changed since then. " + "Changes nothing.", + "inputSchema": {"type": "object", + "properties": {"since": {"type": "integer", "minimum": -1}}}, + "handler": lambda a: tool_live_changes(a.get("since")), + }, + { + "name": "qet_live_layout_check", + "description": "LIVE MODE. qet_layout_check on the drawing the user has open, " + "as on screen (unsaved changes included), without saving it: " + "straight wires, symbols in line and on the grid, overlaps, " + "and the house-style rules -- labels over wires, 4-way junction " + "dots, side branches out of line. Run it before saying a " + "drawing is finished. 'folio': \"current\" (default), \"all\" or " + "a number from 1. Apply \"fixes\" with qet_live_run_script " + "(qet.moveElement), not qet_edit. Changes nothing.", + "inputSchema": { + "type": "object", + "properties": { + "folio": {"oneOf": [{"type": "string", "enum": ["current", "all"]}, + {"type": "integer", "minimum": 1}]}, + "style": {"type": "string", "enum": list(LAYOUT_STYLES)}, + "max_shift": {"type": "number", "default": 40}, + "limit": {"type": "integer", "default": 50}, + "elements_dir": {"type": "string"}, + "binary": {"type": "string", "description": "the qelectrotech executable " + "that runs the check; leave it out to use this server's"}, + }, + }, + "handler": lambda a: tool_live_layout_check(a.get("folio", "current"), + a.get("style", "auto"), + a.get("max_shift", 40), a.get("limit", 50), + a.get("elements_dir"), binary=a.get("binary")), + }, + { + "name": "qet_live_undo_last", + "description": "LIVE MODE. Undo the newest step in the open project, only if " + "the assistant made it (its name starts \"Assistant :\"); " + "the user's own steps are never undone this way.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_live_undo_last(), + }, + { + "name": "qet_live_screenshot", + "description": "LIVE MODE. An image of the folio on screen in the user's " + "QElectroTech, as they see it. Changes nothing.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_live_screenshot(), + }, + { + "name": "qet_about", + "description": "Start here. What QElectroTech last wrote about itself in " + "qet-assistant.json: version, every folder (data, settings, " + "scripts, element and title block collections), which " + "features are on (scripting, live mode), every call a script " + "can make, the stored scripts and the ones refused with why, " + "whether a live session is open, and house_style -- this " + "installation's own drawing conventions, in the user's words, " + "if they set any (qet.setHouseStyle()); null if not. Read " + "house_style and follow it, the same as any explicit " + "instruction, before placing or wiring anything. " + "Reads one file; changes nothing.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_about(), + }, + { + "name": "qet_recording_list", + "description": "Macro recordings the user made in QElectroTech (Projet > " + "Scripts > Enregistrer une macro), newest first: id, name, " + "steps, project. Reads files; changes nothing.", + "inputSchema": {"type": "object", "properties": {}}, + "handler": lambda a: tool_recording_list(), + }, + { + "name": "qet_recording_read", + "description": "One macro recording as structured changes: each step (its " + "name in QElectroTech's undo history, the folio, what was " + "selected, and what changed on the folio), and the overall " + "change from before to after. Read this to write a script that " + "repeats what the user did, in general.", + "inputSchema": { + "type": "object", + "properties": {"id": {"type": "string"}}, + "required": ["id"], + }, + "handler": lambda a: tool_recording_read(a["id"]), + }, + { + "name": "qet_recording_check", + "description": "Check a script against a recording: run it on a copy of the " + "project as it was when recording started -- the same folio " + "on screen, the same selection -- and compare the result with " + "the project as it was when recording stopped. 'matches' true " + "means the script does what the user did; otherwise " + "'difference_from_recording' says what is off. Needs " + "QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": { + "binary": {"type": "string", "description": "the qelectrotech executable; leave it out to use the one this server is configured with. Any other is refused unless its configuration allows it"}, + "id": {"type": "string"}, + "source": {"type": "string", "description": "the script's text"}, + "elements_dir": {"type": "string"}, + "timeout": {"type": "integer", "default": 180}, + }, + "required": ["id", "source"], + }, + "handler": lambda a: tool_recording_check(a["binary"], a["id"], a["source"], + a.get("elements_dir"), a.get("timeout", 180)), + }, + { + "name": "qet_recording_remove", + "description": "Delete one macro recording. Needs QET_ENABLE_SCRIPTING=1.", + "inputSchema": { + "type": "object", + "properties": {"id": {"type": "string"}}, + "required": ["id"], + }, + "handler": lambda a: tool_recording_remove(a["id"]), + }, ] _BY_NAME = {t["name"]: t for t in TOOLS} @@ -3201,13 +5849,41 @@ _DATA_PATHS = { "qet_query": {"read": ("project",)}, "qet_continuity": {"read": ("project",)}, "qet_check": {"read": ("project",)}, + "qet_layout_check": {"read": ("project",)}, "qet_project_new": {"write": ("output",)}, + # QElectroTech writes this file, but where is the client's choice: + # held to the same workspace as every other file a tool writes. + "qet_live_new_project": {"write": ("path",)}, + "qet_live_open_project": {"read": ("path",)}, + "qet_live_switch_project": {"read": ("path",)}, + "qet_live_save_project": {"write": ("path",)}, + "qet_live_print": {"write": ("output_file",)}, + # Runs QElectroTech on a copy QElectroTech writes to a private folder: + # no client path, but the binary and elements_dir rules apply. + "qet_live_layout_check": {}, "qet_element_build": {"write": ("output",)}, + # The scripts folder is chosen by scripts_dir(), never by the client, + # so only the project a script is tried on is a data path here. + "qet_script_api": {}, + "qet_script_test": {"read": ("project",)}, + "qet_script_install": {"read": ("test_project",)}, + "qet_recording_check": {}, } # Tools that launch QElectroTech, and so take "binary" and "elements_dir". _LAUNCHES_QET = {"qet_export", "qet_edit", "qet_query", "qet_continuity", - "qet_check", "qet_project_new"} + "qet_check", "qet_layout_check", "qet_project_new", "qet_script_api", + "qet_script_test", "qet_recording_check", "qet_live_layout_check"} + +# Tools that launch QElectroTech only when given this argument. +_LAUNCHES_QET_WITH = {"qet_script_install": "test_project"} + +# Tools whose "overwrite" guards a file the server names itself (the +# stored script, in scripts_dir()), not a client-chosen output path. +_OVERWRITE_OWN_FILE = {"qet_script_install"} +# Tools that create a file and never replace one, whatever the client asks: +# no "overwrite" in their schema, and the flag is ignored if sent anyway. +_NEVER_OVERWRITE = {"qet_live_new_project", "qet_live_save_project", "qet_live_print"} # qet_edit operations that name a file of their own. _DATA_PATH_OPS = {"add_image": "file", "add_pdf_page": "file"} @@ -3392,7 +6068,7 @@ def enforce_path_policy(tool_name: str, arguments: dict) -> None: return roots = workspace_roots() - if tool_name in _LAUNCHES_QET: + if tool_name in _LAUNCHES_QET or arguments.get(_LAUNCHES_QET_WITH.get(tool_name, "")): _check_binary(arguments) _check_elements_dir(arguments, roots) @@ -3407,6 +6083,9 @@ def enforce_path_policy(tool_name: str, arguments: dict) -> None: # Writing over something that is already there is the one step this # server cannot undo, so it is the one step it will not take on its # own. qet_project_new already had this flag; the others now match it. + if out.exists() and tool_name in _NEVER_OVERWRITE: + raise ValueError(f"{arg!r} already exists: {out}. This tool only " + "creates new files; choose another name.") if out.exists() and not arguments.get("overwrite"): raise ValueError( f"{arg!r} already exists: {out}. Pass \"overwrite\": true to " @@ -3440,6 +6119,7 @@ def handle(msg: dict) -> dict | None: "protocolVersion": want or DEFAULT_PROTOCOL, "capabilities": {"tools": {}}, "serverInfo": {"name": SERVER_NAME, "version": SERVER_VERSION}, + "instructions": SERVER_INSTRUCTIONS, }) if method in ("notifications/initialized", "initialized"): @@ -3461,8 +6141,15 @@ def handle(msg: dict) -> dict | None: arguments = params.get("arguments") or {} enforce_path_policy(name, arguments) result = tool["handler"](arguments) + content = [] + # A tool may return a picture (qet_live_screenshot): sent as an + # MCP image so the assistant can look at it, not as a string. + image = result.pop("_image_png_base64", None) if isinstance(result, dict) else None + if image: + content.append({"type": "image", "data": image, "mimeType": "image/png"}) text = json.dumps(result, indent=2, ensure_ascii=False) - return _ok(mid, {"content": [{"type": "text", "text": text}]}) + content.append({"type": "text", "text": text}) + return _ok(mid, {"content": content}) except Exception as exc: # surfaced to the model, not the transport return _ok(mid, { "isError": True, @@ -3530,7 +6217,12 @@ def call_once(argv: list[str], stdin=sys.stdin, stdout=sys.stdout, return 2 result = reply["result"] for part in result["content"]: - print(part["text"], file=stdout) + if part.get("type") == "image": + # A picture has no text; print it whole, as a data: URI a + # browser or a script can use, rather than drop it. + print(f"data:{part['mimeType']};base64,{part['data']}", file=stdout) + else: + print(part["text"], file=stdout) return 1 if result.get("isError") else 0 diff --git a/misc/qet-mcp/test_qet_mcp.py b/misc/qet-mcp/test_qet_mcp.py index 422c4a085..8e876c2c3 100644 --- a/misc/qet-mcp/test_qet_mcp.py +++ b/misc/qet-mcp/test_qet_mcp.py @@ -22,6 +22,7 @@ away: a check that has never been seen to fail is not evidence. from __future__ import annotations +import csv import json import os import re @@ -30,6 +31,7 @@ import subprocess import sys import tempfile import unittest +import unittest.mock from unittest import mock import xml.etree.ElementTree as ET from pathlib import Path @@ -40,6 +42,9 @@ import qet_mcp as m # noqa: E402 BINARY = os.environ.get("QET_BINARY", "") ELEMENTS = os.environ.get("QET_ELEMENTS", "") +# Any executable will do where a test never launches the program; macOS +# keeps true in /usr/bin, not /bin. +TRUE = shutil.which("true") or "/bin/true" EXAMPLES = os.environ.get("QET_EXAMPLES", "") have_binary = bool(BINARY) and os.access(BINARY, os.X_OK) @@ -52,6 +57,15 @@ needs_elements = unittest.skipUnless(have_binary and have_elements, needs_examples = unittest.skipUnless(have_binary and have_examples, "set QET_BINARY and QET_EXAMPLES") + +def _pdf_page_size(path) -> tuple: + """The first page's MediaBox width and height, in points. QPdfWriter + writes page dictionaries uncompressed, so no PDF library is needed.""" + box = re.search(rb"/MediaBox\s*\[\s*([-\d.]+)\s+([-\d.]+)\s+([-\d.]+)\s+([-\d.]+)", + Path(path).read_bytes()) + x0, y0, x1, y1 = map(float, box.groups()) + return (x1 - x0, y1 - y0) + COIL = "common://10_electric/10_allpole/310_relays_contactors_contacts/01_coils/bobine_ka_a_remanence.elmt" SLAVE = ("common://10_electric/10_allpole/310_relays_contactors_contacts/" "02_contacts_cross_referencing/15_protection_contacts/contact_relais_nf_esclave.elmt") @@ -164,7 +178,16 @@ class ToolRegistry(unittest.TestCase): "qet_project_info", "qet_elements", "qet_conductors", "qet_diff", "qet_scan", "qet_element_info", "qet_export", "qet_edit", "qet_query", "qet_project_new", "qet_element_search", "qet_check", "qet_element_build", - "qet_continuity", "qet_items"}) + "qet_continuity", "qet_items", "qet_script_api", "qet_script_test", + "qet_script_install", "qet_script_list", "qet_script_read", + "qet_script_remove", "qet_live_status", "qet_live_run_script", + "qet_live_run_stored", "qet_live_command", "qet_live_show_folio", + "qet_live_undo_last", "qet_live_screenshot", "qet_about", + "qet_recording_list", "qet_recording_read", "qet_recording_check", + "qet_recording_remove", "qet_layout_check", "qet_live_new_project", + "qet_live_open_project", "qet_live_switch_project", "qet_live_save_project", + "qet_live_close_project", "qet_live_print", "qet_live_changes", + "qet_live_layout_check"}) class EditValidation(unittest.TestCase): @@ -275,6 +298,35 @@ class EditValidation(unittest.TestCase): with self.assertRaisesRegex(ValueError, "saved before conductors carried a uuid"): self.build([{"op": "delete_conductor", "folio": 0, "conductor": ""}]) + def test_route_ops(self): + """route_conductor and add_conductor's "route": "avoid" call the + router; neither makes a missing route a failure of the run, and the + router methods are required only by an edit that routes.""" + E, F = "{11111111-2222-4333-8444-555555555555}", "{21111111-2222-4333-8444-555555555555}" + U = "{31111111-2222-4333-8444-555555555555}" + plain = self.build([{"op": "add_conductor", "folio": 0, "from": E, "from_terminal": 1, + "to": F, "to_terminal": 0}]) + self.assertNotIn("routeConductor", plain) + self.assertEqual(plain, self.build([{"op": "add_conductor", "folio": 0, "from": E, + "from_terminal": 1, "to": F, "to_terminal": 0, + "route": "default"}])) + s = self.build([{"op": "add_conductor", "folio": 0, "from": E, "from_terminal": 1, + "to": F, "to_terminal": 0, "route": "avoid"}]) + self.assertIn(f'if (v0 === true) {{ var r0 = qet.routeConductorBetween(0, "{E}", 1, "{F}", 0);', s) + self.assertIn('"routeConductorBetween"', s) + self.assertNotIn('"routeConductor",', s) + # the op's own result is still the conductor being added + self.assertIn("result: v0", s) + s = self.build([{"op": "route_conductor", "folio": 2, "conductor": U}]) + self.assertIn("(e0 ? qet.routeConductor(2, e0.element, e0.terminal) : false)", s) + self.assertIn("if (v0 === 'no-route')", s) + self.assertIn('"routeConductor"', s) + s = self.build([{"op": "route_conductor", "folio": 0, "element": E, "terminal": 1}]) + self.assertIn(f'qet.routeConductor(0, "{E}", 1)', s) + with self.assertRaisesRegex(ValueError, "unknown route"): + self.build([{"op": "add_conductor", "folio": 0, "from": E, "from_terminal": 1, + "to": F, "to_terminal": 0, "route": "around"}]) + def test_terminal_by_uuid(self): """A terminal named by uuid is turned into its index at run time, on the element it belongs to: the op's element, or each add_conductor @@ -327,6 +379,7 @@ class EditValidation(unittest.TestCase): "set_position": el + [{"op": "set_position", "folio": "$f", "element": "$e", "x": 1, "y": 1}], "move_element": el + [{"op": "move_element", "folio": "$f", "element": "$e", "dx": 1, "dy": 1}], "rotate_element": el + [{"op": "rotate_element", "folio": "$f", "element": "$e", "angle": 90}], + "mirror_element": el + [{"op": "mirror_element", "folio": "$f", "element": "$e", "vertical": False}], "set_label": el + [{"op": "set_label", "folio": "$f", "element": "$e", "label": "K"}], "set_info": el + [{"op": "set_info", "folio": "$f", "element": "$e", "key": "k", "value": "v"}], "add_conductor": two + [{"op": "add_conductor", "folio": "$f", "from": "$e", "from_terminal": 0, @@ -337,6 +390,8 @@ class EditValidation(unittest.TestCase): "move_conductor_segment": el + [{"op": "move_conductor_segment", "folio": "$f", "element": "$e", "terminal": 0, "segment": 1, "dx": 10, "dy": 0}], + "route_conductor": el + [{"op": "route_conductor", "folio": "$f", "element": "$e", + "terminal": 0}], "delete_conductor": el + [{"op": "delete_conductor", "folio": "$f", "element": "$e", "terminal": 0}], "link_elements": two + [{"op": "link_elements", "folio": "$f", "element": "$e", "to_folio": "$f", "to": "$e2"}], @@ -390,6 +445,7 @@ class EditValidation(unittest.TestCase): "sort_terminal_strip": [{"op": "sort_terminal_strip", "strip": 0}], "add_autonum": [{"op": "add_autonum", "kind": "conductor", "name": "W", "parts": ["string:W"]}], "remove_autonum": [{"op": "remove_autonum", "kind": "conductor", "name": "W"}], + "rename_autonum": [{"op": "rename_autonum", "kind": "element", "name": "EL", "new_name": "EL2"}], "use_conductor_autonum": [f, {"op": "use_conductor_autonum", "folio": "$f", "name": "W"}], "use_element_autonum": [{"op": "use_element_autonum", "name": "EL"}], "insert_folio": [{"op": "insert_folio", "id": "i", "position": 0}], @@ -401,10 +457,18 @@ class EditValidation(unittest.TestCase): "regex": False, "case_sensitive": True}], "set_project_title": [{"op": "set_project_title", "title": "T"}], "set_folio_border": [f, {"op": "set_folio_border", "folio": "$f", "property": "columns", "value": "10"}], + "set_conductor_default": [f, {"op": "set_conductor_default", "folio": "$f", + "property": "onetextperfolio", "value": "true"}], "embed_title_block_template": [{"op": "embed_title_block_template", "name": "default"}], "duplicate_elements": el + [{"op": "duplicate_elements", "id": "d", "folio": "$f", "elements": ["$e"], "to_folio": "$f", "x": 50, "y": 50}], "number_element": el + [{"op": "number_element", "folio": "$f", "element": "$e"}], + "renumber_element_autonum": [{"op": "renumber_element_autonum", "name": "EL"}], + "free_element_numbers": el + [{"op": "free_element_numbers", "folio": "$f", "element": "$e"}], + "assign_element_number": el + [{"op": "assign_element_number", "folio": "$f", + "element": "$e", "number": 3}], + "assign_element_autonum": el + [{"op": "assign_element_autonum", "name": "EL", "folio": "$f", + "element": "$e", "overwrite": False}], "add_table": [f, {"op": "add_table", "id": "t", "folio": "$f", "kind": "nomenclature", "name": "BOM", "query": "SELECT label FROM element_nomenclature_view"}], "set_table_position": [f, {"op": "add_table", "id": "t", "folio": "$f", "kind": "nomenclature", @@ -421,6 +485,16 @@ class EditValidation(unittest.TestCase): "set_plc_io": el + [{"op": "set_plc_io", "folio": "$f", "element": "$e", "index": 0, "property": "address", "value": "1.1"}], "remove_plc_io": el + [{"op": "remove_plc_io", "folio": "$f", "element": "$e", "index": 0}], + "align_elements": two + [{"op": "align_elements", "folio": "$f", + "elements": ["$e", "$e2"], "edge": "middle"}], + "distribute_elements": two + [{"op": "distribute_elements", "folio": "$f", + "elements": ["$e", "$e2"], "axis": "vertical", + "pitch": 80}], + "place_element": el + [{"op": "place_element", "folio": "$f", "path": "common://x.elmt", + "terminal": 0, "next_to": "$e", "next_to_terminal": 1, + "side": "below", "gap": 60}], + "align_terminal": two + [{"op": "align_terminal", "folio": "$f", "element": "$e2", + "terminal": 0, "to": "$e", "to_terminal": 1}], }) self.assertEqual(set(samples), set(m.OPS), "an op has no sample here: add one so it is exercised") @@ -466,6 +540,20 @@ class EditValidation(unittest.TestCase): with self.assertRaises(ValueError): self.build([c]) + def test_folio_preset_is_checked_up_front_and_probed_for(self): + with self.assertRaisesRegex(ValueError, "unknown folio preset 'b4-portrait'"): + self.build([{"op": "set_folio_border", "folio": 0, "property": "preset", + "value": "b4-portrait"}]) + script = self.build([{"op": "set_folio_border", "folio": 0, "property": "preset", + "value": "Tabloid-Landscape"}]) + self.assertIn('qet.setFolioBorder(0, "preset", "Tabloid-Landscape")', script) + # a build without presets is told so, not left to fail on the call + self.assertIn('"folioPresets"', script) + self.assertIn("frame", script) + plain = self.build([{"op": "set_folio_border", "folio": 0, "property": "columns", + "value": "10"}]) + self.assertNotIn('"folioPresets"', plain) + def test_version_is_not_a_settable_folio_property(self): """setFolioProperty('version') reported success and was overwritten by the file-format stamp. It must stay refused on every layer.""" @@ -525,6 +613,8 @@ class EditValidation(unittest.TestCase): ("unknown kind", {"op": "search_and_replace", "kind": "folio", "field": "x", "pattern": "a", "replacement": "b", "regex": False, "case_sensitive": False}), + ("unknown conductor default", {"op": "set_conductor_default", "folio": 0, + "property": "label", "value": "x"}), ("unknown conductor field", {"op": "search_and_replace", "kind": "conductor", "field": "label", "pattern": "a", "replacement": "b", "regex": False, "case_sensitive": False}), @@ -1128,6 +1218,8 @@ class CheckAndContinuityAnswers(unittest.TestCase): {"kind": "check", "name": "unnumbered_conductors", "rows": [{"n": 1}, {"n": 2}], "error": ""}, {"kind": "check", "name": "duplicate_simple_labels", "rows": [], "error": ""}, {"kind": "check", "name": "empty_folios", "rows": None, "error": "bad SQL"}, + {"kind": "check", "name": "crowded_terminals", "rows": [], "error": ""}, + {"kind": "check", "name": "reports_with_several_wires", "rows": [], "error": ""}, {"kind": "other", "name": "masters_without_manufacturer_reference", "rows": [1]}, ] with self.stub(lines): @@ -1135,7 +1227,7 @@ class CheckAndContinuityAnswers(unittest.TestCase): C = m.CHECKS self.assertEqual(r, { "ok": False, - "summary": {"errors": 1, "warnings": 1, "info": 1, "passed": 1, "check_failures": 2}, + "summary": {"errors": 1, "warnings": 1, "info": 1, "passed": 3, "check_failures": 2}, "findings": [ {"check": "duplicate_master_labels", "severity": "error", "count": 12, "note": C["duplicate_master_labels"]["note"], "rows": rows[:10]}, @@ -1143,7 +1235,7 @@ class CheckAndContinuityAnswers(unittest.TestCase): "note": C["unlabelled_masters"]["note"], "rows": [{"x": 1}]}, {"check": "unnumbered_conductors", "severity": "info", "count": 2, "note": C["unnumbered_conductors"]["note"], "rows": [{"n": 1}, {"n": 2}]}], - "passed": ["duplicate_simple_labels"], + "passed": ["duplicate_simple_labels", "crowded_terminals", "reports_with_several_wires"], "check_failures": [ {"check": "empty_folios", "error": "bad SQL"}, {"check": "masters_without_manufacturer_reference", "error": "no result came back"}]}) @@ -1234,6 +1326,290 @@ class CheckAndContinuityAnswers(unittest.TestCase): self.assertEqual(m.tool_continuity("qet", str(self.qet), folio=0)["finding_count"], 0) +def _sym(uuid, x, y, w=20, h=40, label="", terminals=2, name="S"): + """A symbol for the layout rules: origin x/y, box centred on it.""" + return {"uuid": uuid, "name": name, "label": label, "terminals": terminals, + "g": {"x": x, "y": y, "rotation": 0, "left": x - w / 2, "top": y - h / 2, + "right": x + w / 2, "bottom": y + h / 2}} + + +def _wire(uuid, a, b, points): + return {"uuid": uuid, "ends": [f"{a} terminal 1", f"{b} terminal 0"], + "path": [{"x": x, "y": y} for x, y in points], "segs": None} + + +def _vjog(uuid, a, b, xa, xb, y0=120, y1=160): + """A wire leaving a's bottom terminal down and entering b's top one.""" + mid = (y0 + y1) / 2 + return _wire(uuid, a, b, [(xa, y0), (xa, y0 + 10), (xa, mid), (xb, mid), + (xb, y1 - 10), (xb, y1)]) + + +class LayoutRules(unittest.TestCase): + """qet_layout_check's scoring and fix planning, on made-up geometry: no + QElectroTech needed, so every rule is pinned exactly.""" + + def folio(self, elements, conductors, max_shift=40, folio=0): + return m._layout_folio({"folio": folio, "elements": elements, + "conductors": conductors}, max_shift) + + def rules(self, r): + return sorted(f["rule"] for f in r["findings"]) + + def test_simplify_drops_zero_steps_and_merges_runs(self): + self.assertEqual(m._simplify([(0, 0), (0, 10), (0, 10), (0, 30), (5, 30), (9, 30)]), + [(0, 0), (0, 30), (9, 30)]) + + def test_points_from_segments_and_from_path(self): + segs = ["0: (560,150)-(560,160) vertical static", + "1: (560,160)-(560,290.5) vertical movable"] + self.assertEqual(m._layout_points({"segs": segs}), + [(560.0, 150.0), (560.0, 160.0), (560.0, 290.5)]) + self.assertEqual(m._layout_points({"path": [{"x": 1, "y": 2}, {"x": 1, "y": 9}]}), + [(1.0, 2.0), (1.0, 9.0)]) + self.assertIsNone(m._layout_points({"segs": ["garbage"]})) + self.assertIsNone(m._layout_points({"segs": None, "path": None})) + + def test_vertical_jog_moves_the_end_that_lands_on_the_grid(self): + r = self.folio([_sym("A", 100, 100), _sym("B", 103, 180)], + [_vjog("W", "A", "B", 100, 103)]) + [f] = r["findings"] + self.assertEqual(f["rule"], "avoidable_bend") + self.assertEqual((f["offset"], f["bends"], f["folio"]), (3.0, 2, 1)) + self.assertEqual(f["fix"], {"op": "move_element", "folio": 0, "element": "B", + "dx": -3.0, "dy": 0.0}) + self.assertEqual(r["fixes"], [f["fix"]]) + + def test_horizontal_jog_nfpa(self): + w = _wire("W", "A", "B", [(110, 100), (120, 100), (130, 100), (130, 96), + (140, 96), (150, 96)]) + r = self.folio([_sym("A", 100, 100, 20, 20), _sym("B", 160, 96, 20, 20)], [w]) + [f] = r["findings"] + self.assertEqual(f["fix"], {"op": "move_element", "folio": 0, "element": "B", + "dx": 0.0, "dy": 4.0}) + + def test_terminals_not_facing_are_not_a_jog(self): + # both terminals send their wire downwards: a U, never straight + w = _wire("W", "A", "B", [(100, 120), (100, 140), (103, 140), (103, 120)]) + r = self.folio([_sym("A", 100, 100), _sym("B", 103, 100, 2, 2)], [w]) + self.assertNotIn("avoidable_bend", self.rules(r)) + + def test_jog_beyond_max_shift_is_left_alone(self): + r = self.folio([_sym("A", 100, 100), _sym("B", 160, 180)], + [_vjog("W", "A", "B", 100, 160)], max_shift=40) + self.assertEqual(r["findings"], []) + self.assertEqual(r["fixes"], []) + + def test_a_straight_wire_pins_its_symbols(self): + # A-B straight; B-C jogs: C moves, not B + ab = _wire("AB", "A", "B", [(100, 120), (100, 160)]) + bc = _vjog("BC", "B", "C", 100, 104, 200, 240) + r = self.folio([_sym("A", 100, 100), _sym("B", 100, 180), _sym("C", 104, 260)], [ab, bc]) + self.assertEqual(r["fixes"], [{"op": "move_element", "folio": 0, "element": "C", + "dx": -4.0, "dy": 0.0}]) + + def test_conflict_when_both_ends_are_pinned(self): + # A and B each held in line by a straight wire; the A-B jog cannot move + wires = [_wire("AX", "X", "A", [(100, 40), (100, 80)]), + _wire("BY", "B", "Y", [(104, 200), (104, 240)]), + _vjog("AB", "A", "B", 100, 104)] + r = self.folio([_sym("X", 100, 20), _sym("A", 100, 100), _sym("B", 104, 180), + _sym("Y", 104, 260)], wires) + [f] = [f for f in r["findings"] if f["rule"] == "avoidable_bend"] + self.assertIsNone(f["fix"]) + self.assertTrue(f["conflict"]) + + def test_a_move_onto_another_symbol_is_not_offered(self): + # B can only line up by moving onto D, so A moves instead + r = self.folio([_sym("A", 100, 100), _sym("B", 120, 180), _sym("D", 100, 180)], + [_vjog("W", "A", "B", 100, 120)]) + [f] = [f for f in r["findings"] if f["rule"] == "avoidable_bend"] + self.assertEqual(f["fix"]["element"], "A") + self.assertEqual(f["fix"]["dx"], 20.0) + + def test_off_grid_symbol_without_wires(self): + r = self.folio([_sym("A", 103, 97)], []) + [f] = r["findings"] + self.assertEqual(f["rule"], "off_grid") + self.assertEqual(f["fix"], {"op": "move_element", "folio": 0, "element": "A", + "dx": -3.0, "dy": 3.0}) + + def test_a_lined_up_group_snaps_together(self): + # three symbols in line at x=103, off the grid together: all move, + # and the wires between them stay straight + wires = [_wire("AB", "A", "B", [(103, 120), (103, 160)]), + _wire("BC", "B", "C", [(103, 200), (103, 240)])] + r = self.folio([_sym("A", 103, 100), _sym("B", 103, 180), _sym("C", 103, 260)], wires) + self.assertEqual(sorted((f["element"], f["dx"]) for f in r["fixes"]), + [("A", -3.0), ("B", -3.0), ("C", -3.0)]) + + def test_wire_through_symbol_but_not_frame_or_annotation(self): + w = _wire("W", "A", "B", [(100, 120), (100, 300)]) + elements = [_sym("A", 100, 100), _sym("B", 100, 320), + _sym("K", 100, 200, name="Coil"), # in the way + _sym("F", 100, 200, 300, 600, name="Cabinet"), # frame round A + _sym("T", 100, 250, terminals=0, name="Tag")] # annotation + r = self.folio(elements, [w]) + hits = [f for f in r["findings"] if f["rule"] == "wire_through_symbol"] + self.assertEqual([f["element"] for f in hits], ["K"]) + self.assertEqual(hits[0]["fix"], {"op": "route_conductor", "folio": 0, + "conductor": "W"}) + + def test_overlap_needs_more_than_one_grid_step(self): + touching = self.folio([_sym("A", 100, 100), _sym("B", 110, 100)], []) # 10 px + self.assertNotIn("overlapping_symbols", self.rules(touching)) + r = self.folio([_sym("A", 100, 100), _sym("B", 105, 100)], []) # 15 px + self.assertIn("overlapping_symbols", self.rules(r)) + + def test_crossing_counted_not_at_shared_ends(self): + h = _wire("H", "A", "B", [(0, 50), (200, 50)]) + v = _wire("V", "C", "D", [(100, 0), (100, 200)]) + t = _wire("T", "A", "E", [(0, 50), (0, 200)]) # meets H at its end + r = self.folio([], [h, v, t]) + self.assertEqual(r["crossings"], 1) + + def test_extra_bends_for_an_l(self): + w = _wire("W", "A", "B", [(100, 120), (100, 140), (120, 140), (120, 160), + (150, 160)]) + r = self.folio([], [w]) + [f] = r["findings"] + self.assertEqual((f["rule"], f["bends"], f["needed"]), ("extra_bends", 3, 1)) + + def test_answer_score_style_and_limit(self): + clean = self.folio([_sym("A", 100, 100), _sym("B", 100, 180)], + [_wire("W", "A", "B", [(100, 120), (100, 160)])]) + a = m._layout_answer([clean], "auto", 50) + self.assertEqual((a["score"], a["style"], a["summary"]["straight_wires"]), (100, "iec", 1)) + self.assertEqual(a["summary"]["flow"], {"vertical": 1.0, "horizontal": 0.0}) + jog = self.folio([_sym("A", 100, 100), _sym("B", 103, 180), _sym("C", 300, 301)], + [_vjog("W", "A", "B", 100, 103)]) + a = m._layout_answer([jog], "nfpa", 1) + # wires 0/1 clean, symbols 2/3 clean (C off the grid) + self.assertEqual(a["score"], round(100 * (0.6 * 0 + 0.4 * 2 / 3))) + self.assertEqual(a["style"], "nfpa") + self.assertEqual(a["truncated"], 1) + self.assertEqual(len(a["fixes"]), 2) + + def test_unread_wires_are_named_not_scored(self): + r = self.folio([], [{"uuid": "U", "ends": ["{a} terminal 0", "{b} terminal 0"], + "path": None, "segs": None}]) + a = m._layout_answer([r], "auto", 50) + self.assertEqual(a["summary"]["unread_wires"], 1) + self.assertEqual(a["unread_wires"], ["U"]) + self.assertIn("conductorPath", a["note"]) + self.assertEqual(a["score"], 100) + + +class LayoutCheckTool(unittest.TestCase): + def setUp(self): + self.tmp = tempfile.TemporaryDirectory() + self.qet = Path(self.tmp.name) / "p.qet" + self.qet.write_text("", encoding="utf-8") + + def tearDown(self): + self.tmp.cleanup() + + def test_bad_arguments(self): + for kw in ({"style": "ansi"}, {"folio": 0}, {"folio": True}, + {"max_shift": -1}, {"max_shift": "4"}, {"limit": -1}): + with self.subTest(kw=kw), self.assertRaises(ValueError): + m.tool_layout_check("qet", str(self.qet), **kw) + with self.assertRaises(ValueError): + m.tool_layout_check("qet", str(self.qet) + ".missing") + + def test_script_reads_the_chosen_folio_only(self): + seen = {} + + def run(binary, args, **kw): + seen.update(kw) + return {"stdout": "", "stderr": ""} + with mock.patch.object(m, "_run_qet", run): + r = m.tool_layout_check("qet", str(self.qet), folio=3) + self.assertIn("var only = 2;", seen["script"]) + self.assertNotIn("save", seen["script"]) + self.assertFalse(r["ok"]) + self.assertIn("no layout came back", r["hint"]) + + def test_answer_from_log_lines(self): + rec = {"kind": "layout", "folio": 0, + "elements": [_sym("A", 100, 100), _sym("B", 103, 180)], + "conductors": [_vjog("W", "A", "B", 100, 103)]} + out = "noise\n" + m._MARKER + "{bad json\n" + m._MARKER + json.dumps(rec) + with mock.patch.object(m, "_run_qet", lambda *a, **k: {"stdout": out, "stderr": ""}): + r = m.tool_layout_check("qet", str(self.qet)) + self.assertTrue(r["ok"]) + self.assertEqual(r["summary"]["avoidable_bends"], 1) + self.assertEqual(r["fixes"][0]["element"], "B") + + def test_a_launch_hint_is_passed_on(self): + rec = {"kind": "layout", "folio": 0, "elements": [], "conductors": []} + out = m._MARKER + json.dumps(rec) + with mock.patch.object(m, "_run_qet", + lambda *a, **k: {"stdout": out, "stderr": "", "hint": "boom"}): + r = m.tool_layout_check("qet", str(self.qet)) + self.assertFalse(r["ok"]) + self.assertEqual(r["hint"], "boom") + + +class LayoutOpsValidation(unittest.TestCase): + """align_elements, distribute_elements, place_element, align_terminal: + their arguments are checked before QElectroTech starts, and the script + asks for terminalPosition() only when an op needs it.""" + + A, B, C = ("{00000000-0000-0000-0000-00000000000a}", "{00000000-0000-0000-0000-00000000000b}", + "{00000000-0000-0000-0000-00000000000c}") + + def bad(self, op, needle): + with self.assertRaises(ValueError) as cm: + m._build_script([op], "/tmp/x.qet") + self.assertIn(needle, str(cm.exception)) + + def test_align_arguments(self): + self.bad({"op": "align_elements", "folio": 0, "elements": [self.A, self.B], + "edge": "diagonal"}, "unknown edge") + self.bad({"op": "align_elements", "folio": 0, "elements": [self.A], "edge": "left"}, + "at least 2") + + def test_distribute_arguments(self): + self.bad({"op": "distribute_elements", "folio": 0, "elements": [self.A, self.B, self.C], + "axis": "diagonal"}, "unknown axis") + self.bad({"op": "distribute_elements", "folio": 0, "elements": [self.A, self.B], + "axis": "horizontal"}, "at least 3") + self.bad({"op": "distribute_elements", "folio": 0, "elements": [self.A, self.B, self.C], + "axis": "vertical", "pitch": -10}, "pitch must be >= 0") + m._build_script([{"op": "distribute_elements", "folio": 0, "elements": [self.A, self.B], + "axis": "vertical", "pitch": 80}], "/tmp/x.qet") + + def test_place_arguments(self): + base = {"op": "place_element", "folio": 0, "path": "common://x.elmt", "terminal": 0, + "next_to": self.A, "next_to_terminal": 1} + self.bad({**base, "side": "up"}, "unknown side") + self.bad({**base, "gap": 0}, "gap must be > 0") + self.bad({**base, "terminal": True}, "terminal index or its uuid") + self.bad({**base, "terminal": -1}, "terminal index or its uuid") + self.bad({**base, "terminal": "A1"}, "terminal index or its uuid") + s = m._build_script([{**base, "terminal": "{11111111-2222-3333-4444-555555555555}"}], + "/tmp/x.qet") + self.assertIn('qetMcpPlace(0, "common://x.elmt", "{11111111-2222-3333-4444-555555555555}", ' + f'"{self.A}", 1, "", 40, 0)', s) + + def test_helpers_are_called_bare_and_needs_follow_use(self): + place = m._build_script([{"op": "align_terminal", "folio": 0, "element": self.A, + "terminal": 0, "to": self.B, "to_terminal": 1}], "/tmp/x.qet") + self.assertIn("qetMcpAlignTerminal(0, ", place) + self.assertNotIn("qet.qetMcp", place) + self.assertIn('"terminalPosition"', place) + plain = m._build_script([{"op": "move_element", "folio": 0, "element": self.A, + "dx": 1, "dy": 0}], "/tmp/x.qet") + self.assertNotIn("terminalPosition\"", plain.split("var need = ")[1].split(";")[0]) + self.assertNotIn("qetMcpAlign\"", plain) + + def test_defaults_fill_in(self): + s = m._build_script([{"op": "align_elements", "folio": 0, "elements": [self.A, self.B], + "edge": "center"}], "/tmp/x.qet") + self.assertIn(f'qetMcpAlign(0, ["{self.A}", "{self.B}"], "center", "")', s) + + class ElementSearch(unittest.TestCase): def setUp(self): self.tmp = tempfile.TemporaryDirectory() @@ -1265,6 +1641,46 @@ class ElementSearch(unittest.TestCase): self.assertEqual(m.tool_element_search(str(self.root), "red coil")["total_matches"], 1) self.assertEqual(m.tool_element_search(str(self.root), "red fuse")["total_matches"], 0) + def test_a_two_letter_word_matches_only_a_whole_word(self): + """#1178: "NC contact" offered a remanence coil, because "nc" is in + "remanence" and "contact" is in its folder's name.""" + self.put("contacts/coil.elmt", {"en": "Remanence coil"}) + self.put("contacts/nc.elmt", {"en": "Simple contact (NC)"}) + self.put("contacts/klemme.elmt", {"de": "Reihenklemme 3pn"}) + names = lambda q: [r["path"] for r in m.tool_element_search(str(self.root), q)["results"]] + self.assertEqual(names("NC contact"), ["common://contacts/nc.elmt"]) + # longer words, and short ones with a digit, still match inside a word + self.assertEqual(names("klemme"), ["common://contacts/klemme.elmt"]) + self.assertEqual(names("3p"), ["common://contacts/klemme.elmt"]) + + def test_every_spelling_of_no_and_nc_is_the_same(self): + self.put("a/nf.elmt", {"fr": "Contact simple (NF)"}) + self.put("a/no.elmt", {"en": "Contact N/O"}) + self.put("a/x_nc.elmt", {"en": "Contact"}) + self.put("a/open.elmt", {"en": "Normally open contact"}) + g = lambda q: sorted(r["path"][len("common://a/"):] + for r in m.tool_element_search(str(self.root), q)["results"]) + for q in ("NC contact", "normally closed contact", "NF contact", "contact normalement fermé"): + with self.subTest(q=q): + self.assertEqual(g(q), ["nf.elmt", "x_nc.elmt"]) + for q in ("NO contact", "normally open contact", "N/O contact", "contact normalement ouvert"): + with self.subTest(q=q): + self.assertEqual(g(q), ["no.elmt", "open.elmt"]) + + def test_schematic_symbols_come_before_drawings_and_makers_parts(self): + """#1178: "emergency stop" offered a maker's part and two + assembly-plan drawings before the push button.""" + self.put("10_electric/20_manufacturers_articles/idec/my_emg.elmt", {"en": "Emergency stop"}) + self.put("10_electric/98_graphics/99_assembly_plan/au.elmt", {"en": "Emergency stop"}) + self.put("10_electric/99_miscellaneous_unsorted/au.elmt", {"en": "Emergency stop"}) + self.put("10_electric/10_allpole/20_push_buttons/au.elmt", {"en": "Emergency stop (NC)"}) + self.put("cadtb/estop.elmt", {"en": "Emergency stop, own"}) + r = m.tool_element_search(str(self.root), "emergency stop")["results"] + self.assertEqual([e["path"] for e in r[:2]], + ["common://10_electric/10_allpole/20_push_buttons/au.elmt", + "common://cadtb/estop.elmt"]) + self.assertEqual(len(r), 5) + def test_filters(self): self.put("a/m.elmt", {"en": "Coil"}, link="master", kind="coil") self.put("a/s.elmt", {"en": "Contact"}, link="slave", terminals=((0, 0, "n"),) * 1) @@ -1650,13 +2066,13 @@ class DiffContracts(unittest.TestCase): "relabelled": [{"uuid": A, "name": "coil", "from": "K1", "to": "K2"}], "info_changed": [{"uuid": A, "name": "coil", "from": {"label": "K1", "comment": "c"}, "to": {"label": "K2", "comment": "d"}}], - "rotated": []}) + "rotated": [], "mirrored": []}) def test_an_unchanged_element_reports_nothing(self): p = self.qet(self.folio(self.el(self.A, 1, 2, "K1", "c"))) e = m.tool_diff(p, p)["elements"] self.assertEqual((e["moved"], e["relabelled"], e["info_changed"], e["added"], e["removed"], - e["rotated"]), ([], [], [], [], [], [])) + e["rotated"], e["mirrored"]), ([], [], [], [], [], [], [])) def test_equal_angles_written_differently_are_the_same(self): self.assertEqual([m._angle(v) for v in ("-270", "90", "-90", "270", "360", "0", "450", "12.5", "", "x")], @@ -1683,6 +2099,18 @@ class DiffContracts(unittest.TestCase): plain = self.qet(self.folio(self.el(self.A, 1, 2))) self.assertEqual(m.tool_diff(plain, rot(0))["elements"]["rotated"], []) + def test_a_mirror_is_reported(self): + """A mirror of a symbol changes its mirror attribute, which is absent + when the symbol is not mirrored.""" + plain = self.qet(self.folio(self.el(self.A, 1, 2))) + mirrored = self.qet(self.folio( + self.el(self.A, 1, 2).replace('x="1"', 'mirror="horizontal" x="1"'))) + d = m.tool_diff(plain, mirrored) + self.assertEqual(d["elements"]["mirrored"], + [{"uuid": self.A, "name": "coil", "folio": 1, "mirror": ["", "horizontal"]}]) + self.assertEqual((d["elements"]["moved"], d["elements"]["rotated"]), ([], [])) + self.assertEqual(m.tool_diff(plain, plain)["elements"]["mirrored"], []) + def test_conductors_section_exact(self): A, B, C = self.A, self.B, self.C els = self.el(A, 0, 0) + self.el(B, 0, 0) + self.el(C, 0, 0) @@ -2417,7 +2845,20 @@ class PathPolicy(unittest.TestCase): guarded = {name for name, spec in m._DATA_PATHS.items() if spec.get("write")} advertised = {t["name"] for t in m.TOOLS if "overwrite" in t["inputSchema"].get("properties", {})} - self.assertEqual(guarded, advertised) + self.assertEqual(guarded - m._NEVER_OVERWRITE, advertised - m._OVERWRITE_OWN_FILE) + self.assertFalse(advertised & m._NEVER_OVERWRITE) + + def test_never_overwrite_tools_ignore_the_flag(self): + with tempfile.TemporaryDirectory() as d: + target = Path(d) / "exists.qet" + target.write_text("x") + with mock.patch.dict(os.environ, {"QET_MCP_WORKSPACE": d}): + for args in ({"path": str(target)}, {"path": str(target), "overwrite": True}): + with self.assertRaisesRegex(ValueError, "only creates new files"): + m.enforce_path_policy("qet_live_new_project", args) + m.enforce_path_policy("qet_live_new_project", {"path": str(Path(d) / "new.qet")}) + with self.assertRaises(ValueError): + m.enforce_path_policy("qet_live_new_project", {"path": "/etc/new.qet"}) def test_every_data_path_argument_is_guarded(self): """The other direction: a tool whose schema takes a data path must be @@ -2527,7 +2968,7 @@ class BinaryPolicy(unittest.TestCase): would run whatever it was given.""" takes = {t["name"] for t in m.TOOLS if "binary" in t["inputSchema"].get("properties", {})} - self.assertEqual(takes, m._LAUNCHES_QET) + self.assertEqual(takes, m._LAUNCHES_QET | set(m._LAUNCHES_QET_WITH)) for name in takes: self.assertNotIn("binary", m._BY_NAME[name]["inputSchema"].get("required", []), f"{name} still requires the client to name a binary") @@ -2583,7 +3024,9 @@ class BinaryPolicy(unittest.TestCase): del os.environ["QET_BINARY"] args = {"project": str(self.root / "ok.qet")} inst.enforce_path_policy("qet_query", args) - self.assertEqual(args["binary"], str(exe.resolve())) + # samefile: on a file system that ignores case (macOS, Windows) + # the server finds it under another of its spellings. + self.assertTrue(Path(args["binary"]).samefile(exe), args["binary"]) self.assertEqual(args["elements_dir"], str((root / "elements").resolve())) def test_a_copy_saved_anywhere_is_not_an_install(self): @@ -2662,7 +3105,7 @@ class ElementsDirSetting(unittest.TestCase): with tempfile.TemporaryDirectory() as coll, \ mock.patch.object(m.subprocess, "run", run): - m._run_qet("/bin/true", ["x.qet"], elements_dir=coll) + m._run_qet(TRUE, ["x.qet"], elements_dir=coll) want = m._collection_setting(Path(coll)) self.assertEqual(seen, {"QElectroTech.ini": want, "QElectroTech.conf": want}) self.assertIn(f"common-collection-path={Path(coll).as_posix()}", want) @@ -2704,9 +3147,9 @@ class ScriptingDisabledHint(unittest.TestCase): saved = m.subprocess.run m.subprocess.run = self.fake_run(returncode, stderr) try: - # /bin/true only has to exist and be executable: it is copied + # TRUE only has to exist and be executable: it is copied # into the sandbox and then never actually launched. - return m._run_qet("/bin/true", ["x.qet"], **kw) + return m._run_qet(TRUE, ["x.qet"], **kw) finally: m.subprocess.run = saved @@ -2773,6 +3216,718 @@ class ScriptingDisabledHint(unittest.TestCase): self.assertIn(tool, hint) +NOTE_SCRIPT = ( + "// ==QETScript==\n" + "// @name Add a note\n" + "// @tooltip Puts a note on the folio on screen\n" + "// @shortcut Ctrl+Alt+N\n" + "// ==/QETScript==\n" + "qet.addText(qet.currentFolio(), 'SCRIPT-NOTE', 40, 40);\n" + "qet.log('added');\n") +ICON = '' + + +class ScriptHeader(unittest.TestCase): + """The same cases as QElectroTech's tst_scriptheader: a header this + accepts and QElectroTech refuses would install a script that never gets + a button.""" + + def h(self, lines): + return m.parse_script_header( + "// ==QETScript==\n" + lines + "// ==/QETScript==\nqet.log('x');\n", "a") + + def test_full(self): + h = self.h("// @name Add revision note\n// @icon note.svg\n" + "// @tooltip Puts a note\n// @shortcut Ctrl+Alt+R\n" + "// @context selection\n// @api 1\n") + self.assertNotIn("error", h) + self.assertEqual((h["name"], h["icon"], h["shortcut"], h["context"]), + ("Add revision note", "note.svg", "Ctrl+Alt+R", "selection")) + self.assertEqual(h["action_id"], "diagrameditor.script.a") + + def test_refused(self): + cases = { + "qet.log('x');\n": "no // ==QETScript== header", + } + for text, error in cases.items(): + self.assertEqual(m.parse_script_header(text, "a")["error"], error) + for lines, error in [ + ("// @icon x.svg\n", "@name is required"), + ("// @name A\n// @shortcutt Ctrl+K\n", "unknown header key @shortcutt"), + ("// @name A\n// @context wires\n", + "@context must be one of: canvas, selection, conductor"), + ("// @name A\n// @api 2\n", + "@api 2 is not supported by this version (1 is)")]: + with self.subTest(lines=lines): + self.assertEqual(self.h(lines)["error"], error) + + def test_only_the_block(self): + h = m.parse_script_header( + "// ==QETScript==\n// @name Real\n// ==/QETScript==\n" + "// @name Not this one\n// @bogus key\n", "a") + self.assertNotIn("error", h) + self.assertEqual(h["name"], "Real") + + +class ScriptStore(unittest.TestCase): + """install / list / read / remove against a scripts folder of its own.""" + + def setUp(self): + self.tmp = tempfile.TemporaryDirectory() + self.dir = Path(self.tmp.name) / "scripts" + self.env = mock.patch.dict(os.environ, {"QET_MCP_SCRIPTS_DIR": str(self.dir), + "QET_ENABLE_SCRIPTING": "1"}) + self.env.start() + + def tearDown(self): + self.env.stop() + self.tmp.cleanup() + + def test_round_trip(self): + r = m.tool_script_install("add-note", NOTE_SCRIPT) + self.assertTrue(r["ok"]) + self.assertEqual((self.dir / "add-note.js").read_text(), NOTE_SCRIPT) + listed = m.tool_script_list() + self.assertEqual([s["id"] for s in listed["scripts"]], ["add-note"]) + self.assertEqual(listed["scripts"][0]["shortcut"], "Ctrl+Alt+N") + self.assertEqual(m.tool_script_read("add-note")["source"], NOTE_SCRIPT) + m.tool_script_remove("add-note") + self.assertFalse((self.dir / "add-note.js").exists()) + self.assertEqual(m.tool_script_list()["scripts"], []) + + def test_icon_stored_and_removed_with_it(self): + src = NOTE_SCRIPT.replace("// @tooltip", "// @icon iconic.svg\n// @tooltip") + m.tool_script_install("iconic", src, icon_svg=ICON) + self.assertEqual((self.dir / "iconic.svg").read_text(), ICON) + self.assertEqual(m.tool_script_read("iconic")["icon_svg"], ICON) + m.tool_script_remove("iconic") + self.assertEqual(list(self.dir.iterdir()), []) + + def test_shared_icon_kept_while_used(self): + src = NOTE_SCRIPT.replace("// @tooltip", "// @icon one.svg\n// @tooltip") + m.tool_script_install("one", src, icon_svg=ICON) + m.tool_script_install("two", src) # names one.svg, which exists + m.tool_script_remove("one") + self.assertTrue((self.dir / "one.svg").exists()) + m.tool_script_remove("two") + self.assertFalse((self.dir / "one.svg").exists()) + + def test_refusals(self): + for sid in ("../evil", "Upper", "", "a/b", "-x", "x" * 65, None): + with self.subTest(id=sid), self.assertRaisesRegex(ValueError, "'id' must be"): + m.tool_script_install(sid, NOTE_SCRIPT) + with self.assertRaisesRegex(ValueError, "would refuse this header: @name"): + m.tool_script_install("a", "// ==QETScript==\n// ==/QETScript==\n") + with self.assertRaisesRegex(ValueError, "must say '// @icon a.svg'"): + m.tool_script_install("a", NOTE_SCRIPT, icon_svg=ICON) + with self.assertRaisesRegex(ValueError, "not in"): + m.tool_script_install("a", NOTE_SCRIPT.replace( + "// @tooltip", "// @icon missing.svg\n// @tooltip")) + src = NOTE_SCRIPT.replace("// @tooltip", "// @icon a.svg\n// @tooltip") + for bad in ("", "' + '{}' + '') + (root / "a.elmt").write_text(elmt.format("Alpha coil")) + with mock.patch.dict(os.environ, {"QET_MCP_CACHE_DIR": str(Path(d) / "cache")}): + m._ELEMENT_INDEX.clear() + first = m._index_collection(root) + self.assertTrue(m._index_cache_file(root.resolve()).is_file()) + m._ELEMENT_INDEX.clear() # a new server process + with mock.patch.object(m.ET, "parse", side_effect=AssertionError("parsed")): + again = m._index_collection(root) + self.assertEqual([i["path"] for i in again], [i["path"] for i in first]) + self.assertEqual(again[0]["haystack"], first[0]["haystack"]) + (root / "b.elmt").write_text(elmt.format("Beta lamp")) + m._ELEMENT_INDEX.clear() + self.assertEqual(len(m._index_collection(root)), 2) + m._ELEMENT_INDEX.clear() + + +class AssistantInfoFile(unittest.TestCase): + """qet-assistant.json: QElectroTech says where things are; the server + believes it over its own per-platform guess.""" + + def setUp(self): + self.tmp = tempfile.TemporaryDirectory() + self.root = Path(self.tmp.name) + self.info = self.root / "info" / "qet-assistant.json" + self.info.parent.mkdir() + self.env = mock.patch.dict(os.environ, {"QET_MCP_INFO_FILE": str(self.info), + "QET_MCP_SCRIPTS_DIR": ""}) + self.env.start() + + def tearDown(self): + self.env.stop() + self.tmp.cleanup() + + def write(self, **extra): + data = {"format": 1, "qelectrotech_version": "0.200.1", "running": True, + "folders": {"scripts": str(self.root / "moved" / "scripts")}, + "features": {"scripting_enabled": True, "live_mode_setting": False}, + "script_api": ["int currentFolio()"], "stored_scripts": [], + "refused_scripts": [], "live": None} + data.update(extra) + self.info.write_text(json.dumps(data)) + + def test_scripts_folder_comes_from_the_file(self): + """QElectroTech started with --data-dir keeps its scripts elsewhere; + only the file knows.""" + self.write() + self.assertEqual(m.scripts_dir(), self.root / "moved" / "scripts") + with mock.patch.dict(os.environ, {"QET_MCP_SCRIPTS_DIR": "/explicit"}): + self.assertEqual(m.scripts_dir(), Path("/explicit")) + + def test_without_the_file_the_guess_stands(self): + about = m.tool_about() + self.assertFalse(about["found"]) + self.assertIn("start it once", about["note"]) + + def test_about_never_shows_the_live_token(self): + self.write(live={"socket": "s", "token": "SECRET", "pid": 7}) + about = m.tool_about() + self.assertTrue(about["found"]) + self.assertEqual(about["live"], {"open": True, "pid": 7}) + self.assertNotIn("SECRET", json.dumps(about)) + self.assertEqual(about["script_api"], ["int currentFolio()"]) + + def test_house_style_passes_through(self): + self.write(house_style="Grid: never off. Inputs left, outputs right.") + about = m.tool_about() + self.assertEqual(about["house_style"], "Grid: never off. Inputs left, outputs right.") + + def test_house_style_null_when_unset(self): + self.write(house_style=None) + self.assertIsNone(m.tool_about()["house_style"]) + + def test_first_contact_carries_the_instructions(self): + reply = m.handle({"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {}}) + self.assertIn("qet_about", reply["result"]["instructions"]) + + def test_default_location_is_next_to_the_default_scripts_folder(self): + with mock.patch.dict(os.environ, {"QET_MCP_INFO_FILE": "", "XDG_DATA_HOME": "/x"}), \ + mock.patch.object(m.os, "name", "posix"), mock.patch.object(m.sys, "platform", "linux"): + self.assertEqual(m.assistant_info_file(), + Path("/x/QElectroTech/QElectroTech/qet-assistant.json")) + + +class Recordings(unittest.TestCase): + """Macro recordings as QElectroTech saves them: recording.json, + before.qet, after.qet, steps/NNN.xml.""" + + def setUp(self): + self.tmp = tempfile.TemporaryDirectory() + root = Path(self.tmp.name) + self.env = mock.patch.dict(os.environ, {"QET_MCP_SCRIPTS_DIR": str(root / "scripts"), + "QET_ENABLE_SCRIPTING": "1", + "QET_MCP_INFO_FILE": str(root / "none.json")}) + self.env.start() + self.rec = root / "recordings" + + def tearDown(self): + self.env.stop() + self.tmp.cleanup() + + def make(self, rid, steps=(), after=True, start=None): + d = self.rec / rid + (d / "steps").mkdir(parents=True) + project = '' + (d / "before.qet").write_text(project) + if after: + (d / "after.qet").write_text(project) + (d / "recording.json").write_text(json.dumps({ + "format": 1, "id": rid, "name": "Macro " + rid, "complete": after, + "start": start or {"folio": 0, "selected_elements": []}, "steps": list(steps)})) + return d + + def test_list_newest_first(self): + self.make("20261002-100000") + self.make("20261002-110000") + ids = [r["id"] for r in m.tool_recording_list()["recordings"]] + self.assertEqual(ids, ["20261002-110000", "20261002-100000"]) + + def test_read_keeps_steps_and_drops_empty_parts(self): + self.make("r1", steps=[{"n": 1, "kind": "do", "undo_text": "Pivoter", "parts": ["", "x"], + "folio": 0}]) + r = m.tool_recording_read("r1") + self.assertEqual(r["steps"][0]["undo_text"], "Pivoter") + self.assertEqual(r["steps"][0]["parts"], ["x"]) + self.assertIsNone(r["overall_change"]) # before and after are the same + + def test_ids_are_checked(self): + for bad in ("../x", "", "a/b", None): + with self.subTest(id=bad), self.assertRaisesRegex(ValueError, "'id' must be"): + m.tool_recording_read(bad) + with self.assertRaisesRegex(ValueError, "no recording"): + m.tool_recording_read("missing") + + def test_check_needs_an_after(self): + self.make("r2", after=False) + with self.assertRaisesRegex(ValueError, "no after.qet"): + m.tool_recording_check(TRUE, "r2", "qet.log(1);") + + def test_remove_needs_consent(self): + d = self.make("r3") + with mock.patch.dict(os.environ, {"QET_ENABLE_SCRIPTING": ""}): + with self.assertRaisesRegex(ValueError, "QET_ENABLE_SCRIPTING=1"): + m.tool_recording_remove("r3") + m.tool_recording_remove("r3") + self.assertFalse(d.exists()) + + def test_nonempty_keeps_only_changes(self): + self.assertIsNone(m._nonempty({"elements": {"before": 2, "after": 2, "added": [], + "moved_count": 0}})) + self.assertEqual(m._nonempty({"elements": {"added": [1], "removed": []}}), + {"elements": {"added": [1]}}) + + +@needs_examples +class RecordingCheckIntegration(unittest.TestCase): + """qet_recording_check through a real QElectroTech: a recording made by + rotating one symbol; the right script matches, a wrong one does not.""" + + def setUp(self): + self.tmp = tempfile.TemporaryDirectory() + root = Path(self.tmp.name) + self.env = mock.patch.dict(os.environ, {"QET_MCP_SCRIPTS_DIR": str(root / "scripts"), + "QET_ENABLE_SCRIPTING": "1", + "QET_MCP_INFO_FILE": str(root / "none.json")}) + self.env.start() + d = root / "recordings" / "rot" + (d / "steps").mkdir(parents=True) + shutil.copy2(Path(EXAMPLES) / "perceuse.qet", d / "before.qet") + first = m.tool_elements(str(d / "before.qet"))["elements"][0] + self.uuid = first["uuid"] + folio = first["folio"] - 1 # read tools count folios from 1, edits from 0 + r = m.tool_edit(BINARY, str(d / "before.qet"), + [{"op": "rotate_element", "folio": folio, "element": self.uuid, "angle": 90}], + str(d / "after.qet"), ELEMENTS or None) + self.assertTrue(r.get("ok"), r) + (d / "recording.json").write_text(json.dumps({ + "format": 1, "id": "rot", "complete": True, "steps": [], + "start": {"folio": folio, "selected_elements": [{"uuid": self.uuid}]}})) + + def tearDown(self): + self.env.stop() + self.tmp.cleanup() + + def test_right_script_matches_wrong_one_does_not(self): + right = ("var f = qet.currentFolio(); qet.selectedElements(f).forEach(" + "function (u) { qet.rotateElement(f, u, 90); });") + r = m.tool_recording_check(BINARY, "rot", right, ELEMENTS or None) + self.assertTrue(r["matches"], r) + wrong = right.replace("90", "180") + r = m.tool_recording_check(BINARY, "rot", wrong, ELEMENTS or None) + self.assertFalse(r["matches"]) + self.assertIn("rotated", json.dumps(r["difference_from_recording"])) + + class PathPolicyOverStdio(unittest.TestCase): """Proves the policy is actually wired into the dispatcher. @@ -2892,6 +4047,73 @@ class ProjectNewValidation(unittest.TestCase): self.assertFalse(Path(new).exists()) +class BomExportOptions(unittest.TestCase): + """qet_export's no_slaves and no_junctions become --export-bom flags (#1178).""" + + def run_export(self, format="bom", **kw): + seen = [] + def fake(binary, args, timeout=180, **rest): + seen.extend(args) + return {"ok": True} + with tempfile.TemporaryDirectory() as tmp: + proj = Path(tmp) / "a.qet" + proj.write_text("") + with unittest.mock.patch.object(m, "_run_qet", fake): + m.tool_export("qet", str(proj), format, str(Path(tmp) / "o.csv"), **kw) + return seen + + def test_off_by_default(self): + args = self.run_export() + self.assertNotIn("--no-slaves", args) + self.assertNotIn("--no-junctions", args) + + def test_flags_after_the_output(self): + args = self.run_export(no_slaves=True, no_junctions=True) + self.assertEqual(args[0], "--export-bom") + self.assertEqual(args[3:], ["--no-slaves", "--no-junctions"]) + + def test_refused_for_other_formats(self): + with self.assertRaises(ValueError): + self.run_export(format="wiring", no_junctions=True) + + +class ReproducibleExport(unittest.TestCase): + """qet_export's "reproducible" sets SOURCE_DATE_EPOCH for the run.""" + + def run_export(self, **kw): + seen = {} + def fake(binary, args, timeout=180, **rest): + seen.update(rest) + return {"ok": True} + with tempfile.TemporaryDirectory() as tmp: + proj = Path(tmp) / "a.qet" + proj.write_text("") + with unittest.mock.patch.object(m, "_run_qet", fake): + m.tool_export("qet", str(proj), "pdf", str(Path(tmp) / "o.pdf"), **kw) + return seen.get("extra_env") + + def test_off_by_default(self): + self.assertIsNone(self.run_export()) + + def test_zero_unless_told_otherwise(self): + with unittest.mock.patch.dict(os.environ): + os.environ.pop("SOURCE_DATE_EPOCH", None) + self.assertEqual(self.run_export(reproducible=True), + {"SOURCE_DATE_EPOCH": "0"}) + + def test_the_servers_own_variable_then_the_callers_value(self): + with unittest.mock.patch.dict(os.environ, {"SOURCE_DATE_EPOCH": "1600000000"}): + self.assertEqual(self.run_export(reproducible=True), + {"SOURCE_DATE_EPOCH": "1600000000"}) + self.assertEqual(self.run_export(reproducible=True, source_date_epoch=5), + {"SOURCE_DATE_EPOCH": "5"}) + + def test_a_bad_date_is_refused_before_launching(self): + for bad in (-1, "soon", 1.5, True): + with self.subTest(value=bad), self.assertRaises(ValueError): + self.run_export(reproducible=True, source_date_epoch=bad) + + class ReadTools(unittest.TestCase): def test_project_info_and_scan_on_a_fixture(self): with tempfile.TemporaryDirectory() as tmp: @@ -3077,6 +4299,13 @@ class Integration(unittest.TestCase): self.assertEqual(r["project"]["title"], 'A "b" & ') self.assertEqual([f["title"] for f in r["project"]["folios"]], ["Power", "Control"]) + def test_new_project_keeps_symbol_texts_horizontal(self): + """Like a project made in QElectroTech, and kept by its save.""" + r = m.tool_project_new(BINARY, self.sb.p("u.qet"), title="U", folios=1) + self.assertTrue(r["ok"]) + root = ET.parse(r["output"]).getroot() + self.assertEqual(root.find("symbol_texts").get("upright"), "true") + def test_new_project_with_zero_folios(self): r = m.tool_project_new(BINARY, self.sb.p("z.qet"), title="Z", folios=0) self.assertTrue(r["ok"]) @@ -3146,6 +4375,44 @@ class Integration(unittest.TestCase): note = r["operations"][1].get("note", "") self.assertIn("from_terminal: no terminal", note) self.assertIn("to_terminal: no terminal", note) + def test_wiring_export_names_unnamed_terminals(self): + """--export-wiring gives each end the index add_conductor took and + the uuid the file names the terminal by, even where the terminal + has no name. This strip's file lists its terminals in another order + than the index (top to bottom, then left to right), so a column + holding the file's order would fail here.""" + strip = ("common://10_electric/10_allpole/130_terminals_terminal_strips/" + "90_terminal_strips_diagram/90-10-0211.elmt") + base = self.sb.new() + r = self.ok(self.sb.edit(base, [ + {"op": "add_element", "id": "a", "folio": 0, "path": strip, "x": 100, "y": 200}, + {"op": "add_element", "id": "b", "folio": 0, "path": strip, "x": 400, "y": 200}, + {"op": "add_conductor", "folio": 0, "from": "$a", "from_terminal": 2, + "to": "$b", "to_terminal": 3}, + {"op": "add_conductor", "folio": 0, "from": "$a", "from_terminal": 1, + "to": "$b", "to_terminal": 0}])) + a_uuid, b_uuid = (o["result"] for o in r["operations"][:2]) + out = self.sb.p("wiring.csv") + e = m.tool_export(BINARY, r["output"], "wiring", out) + self.assertTrue(e["ok"], e) + with open(out, encoding="utf-8-sig", newline="") as fh: + rows = list(csv.DictReader(fh, delimiter=";")) + self.assertEqual(len(rows), 2) + # the conductor in the file: which uuid it names each end by + in_file = {c.get("uuid"): {(c.get("element1"), c.get("terminal1")), + (c.get("element2"), c.get("terminal2"))} + for c in ET.parse(r["output"]).getroot().iter("conductor") + if c.get("element1")} + got = set() + for row in rows: + self.assertEqual((row["from_terminal"], row["to_terminal"]), ("", "")) + ends = {(int(row["from_terminal_index"]), row["from_terminal_uuid"]), + (int(row["to_terminal_index"]), row["to_terminal_uuid"])} + self.assertEqual({u for _, u in ends}, + {t for _, t in in_file[row["conductor_uuid"]]}) + got.add(frozenset(i for i, _ in ends)) + self.assertEqual(got, {frozenset({2, 3}), frozenset({1, 0})}) + def test_folio_ref_survives_an_insert_before_it(self): """add_folio names a folio "$f"; inserting another at position 0 moves it from index 1 to 2. "$f" must still name it.""" @@ -3277,6 +4544,65 @@ class Integration(unittest.TestCase): "terminal": 0, "segment": 99, "dx": 1, "dy": 1}]) self.assertFalse(r["ok"]) + def _column_with_a_symbol_between(self): + """Three coils in a column; a wire from the bottom of the first to + the top of the third runs straight through the middle one by + default.""" + return [{"op": "add_folio", "id": "f"}, + {"op": "add_element", "id": "a", "folio": "$f", "path": COIL, "x": 200, "y": 100}, + {"op": "add_element", "id": "b", "folio": "$f", "path": COIL, "x": 200, "y": 250}, + {"op": "add_element", "id": "c", "folio": "$f", "path": COIL, "x": 200, "y": 400}] + + @staticmethod + def _crosses_the_middle_coil(xml): + """Whether the saved path enters the middle coil. The path starts + at the first coil's A2 terminal, (200, 120); relative to that the + middle coil (40 x 60, hotspot 17,32, placed at 200,250) covers + x -17..23, y 98..158.""" + segs = re.findall(r' -17 and lo_y < 158 and hi_y > 98: + return True + x, y = nx, ny + return False + + def test_route_avoid_goes_around_the_symbol_between(self): + base = self.sb.new() + ops = self._column_with_a_symbol_between() + wire = {"op": "add_conductor", "folio": "$f", "from": "$a", "from_terminal": 1, + "to": "$c", "to_terminal": 0} + # the arm that must differ: the default path is straight, saved + # without segments, and so through the middle coil + plain = self.ok(self.sb.edit(base, ops + [wire], out="plain.qet")) + self.assertNotIn("')) + # one undo puts the default path back + u = self.ok(self.sb.edit(base, ops + [{**wire, "route": "avoid"}, {"op": "undo"}], + out="undone.qet")) + self.assertNotIn(" - ico/128x128/diagram.png - ico/128x128/settings.png - ico/128x128/document-export.png - ico/128x128/printer.png - ico/16x16/application-exit.png - ico/16x16/arrow-left.png - ico/16x16/arrow-right.png - ico/16x16/circle.png - ico/16x16/configure.png - ico/16x16/dialog-cancel.png - ico/16x16/dialog-ok.png - ico/16x16/document-close.png - ico/16x16/document-export.png - ico/16x16/document-import.png - ico/16x16/document-new.png - ico/16x16/document-open.png - ico/16x16/document-open-recent.png - ico/16x16/document-print-frame.png - ico/16x16/document-print.png - ico/16x16/document-save-all.png - ico/16x16/document-save-as.png - ico/16x16/document-save.png - ico/16x16/edit-clear-locationbar-ltr.png - ico/16x16/edit-clear.png - ico/16x16/edit-copy.png - ico/16x16/edit-cut.png - ico/16x16/edit-delete.png - ico/16x16/edit-paste.png - ico/16x16/edit-redo.png - ico/16x16/edit-rename.png - ico/16x16/edit-select-all.png - ico/16x16/edit-table-insert-row-above.png - ico/16x16/edit-table-insert-column-left.png - ico/16x16/edit-table-insert-row-under.png - ico/16x16/edit-table-delete-row.png - ico/16x16/edit-table-insert-column-right.png - ico/16x16/edit-table-delete-column.png - ico/16x16/edit-table-cell-split.png - ico/16x16/edit-table-cell-merge.png - ico/16x16/edit-undo.png - ico/16x16/flip.png - ico/16x16/folder-new.png - ico/16x16/folder.png - ico/16x16/go-down.png - ico/16x16/go-home.png - ico/16x16/go-up.png - ico/16x16/label.png - ico/16x16/list-add.png - ico/16x16/list-remove.png - ico/16x16/masquer.png - ico/16x16/mirror.png - ico/16x16/preferences-desktop-user.png - ico/16x16/qet.png - ico/16x16/user-busy.png - ico/16x16/user-online.png - ico/16x16/view-fullscreen.png - ico/16x16/view-refresh.png - ico/16x16/view-restore.png - ico/16x16/window-new.png - ico/16x16/zoom-draw.png - ico/16x16/zoom-in.png - ico/16x16/zoom-out.png - ico/22x22/application-exit.png - ico/22x22/arc.png - ico/22x22/arrow-left.png - ico/22x22/arrow-right.png - ico/22x22/bring_forward.png - ico/22x22/configure.png - ico/22x22/dialog-cancel.png - ico/22x22/dialog-ok.png - ico/22x22/document-close.png - ico/22x22/document-export.png - ico/22x22/document-import.png - ico/22x22/document-new.png - ico/22x22/document-open.png - ico/22x22/document-open-recent.png - ico/22x22/document-print-frame.png - ico/22x22/document-print.png - ico/22x22/document-save-all.png - ico/22x22/document-save-as.png - ico/22x22/document-save.png - ico/22x22/edit-clear-locationbar-ltr.png - ico/22x22/edit-clear.png - ico/22x22/edit-copy.png - ico/22x22/edit-cut.png - ico/22x22/edit-delete.png - ico/22x22/edit-paste.png - ico/22x22/edit-redo.png - ico/22x22/edit-rename.png - ico/22x22/edit-select-all.png - ico/22x22/edit-table-insert-row-above.png - ico/22x22/edit-table-insert-column-left.png - ico/22x22/edit-table-insert-row-under.png - ico/22x22/edit-table-delete-row.png - ico/22x22/edit-table-insert-column-right.png - ico/22x22/edit-table-delete-column.png - ico/22x22/edit-table-cell-split.png - ico/22x22/edit-table-cell-merge.png - ico/22x22/edit-undo.png - ico/22x22/ellipse.png - ico/22x22/folder-new.png - ico/22x22/go-down.png - ico/22x22/go-home.png - ico/22x22/go-up.png - ico/22x22/insert-image.png - ico/22x22/line.png - ico/22x22/list-add.png - ico/22x22/list-remove.png - ico/22x22/move.png - ico/22x22/object-locked.png - ico/22x22/object-rotate-right.png - ico/22x22/object-unlocked.png - ico/22x22/polygon.png - ico/22x22/preferences-desktop-user.png - ico/22x22/rectangle.png - ico/22x22/restaurer.png - ico/22x22/select.png - ico/22x22/single_page.png - ico/22x22/start.png - ico/22x22/text.png - ico/22x22/transform-scale.png - ico/22x22/two_pages.png - ico/22x22/view_fit_width.png - ico/22x22/view-fullscreen.png - ico/22x22/view-refresh.png - ico/22x22/view-restore.png - ico/22x22/window-new.png - ico/22x22/zoom-draw.png - ico/22x22/zoom-in.png - ico/22x22/zoom-out.png - ico/256x256/qelectrotech.png ico/256x256/qet.png - ico/32x32/image-x-eps.png - ico/32x32/printer.png - ico/32x32/qt.png - ico/diagram.png ico/splash.png titleblocks/default.titleblock - ico/48x48/user-away.png - ico/48x48/user-away-extended.png - ico/32x32/format-text-bold.png - ico/32x32/format-text-italic.png - ico/32x32/format-text-underline.png - ico/24x16/ar.png - ico/24x16/cs.png - ico/24x16/de.png - ico/24x16/es.png - ico/24x16/en.png - ico/24x16/catalonia.png - ico/24x16/fr.png - ico/24x16/hr.png - ico/24x16/pl.png - ico/24x16/pt.png - ico/24x16/ro.png - ico/24x16/ru.png - ico/24x16/sl.png - ico/24x16/gr.png - ico/24x16/it.png - ico/22x22/applications-development-translation.png - ico/48x48/view-pim-journal.png - ico/24x16/nl.png - ico/24x16/nl_BE.png - ico/22x22/autoconnect.png - ico/16x16/folio-new.png - ico/48x48/document-print-frame.png - ico/22x22/Actions-player-time-icon.png - ico/24x16/dk.png - ico/24x16/br.png - ico/22x22/grid.png - ico/16x16/diagram.png - ico/16x16/edit-clear-locationbar-rtl.png - ico/16x16/edit-download.png - ico/16x16/help-contents.png - ico/16x16/help-donate.png - ico/16x16/item-cancel.png - ico/16x16/item-copy.png - ico/16x16/item-move.png - ico/16x16/kdenlive-show-video.png - ico/16x16/object-rotate-right.png - ico/16x16/project-delete.png - ico/16x16/qt.png - ico/22x22/edit-clear-locationbar-rtl.png - ico/22x22/format-text-subscript.png - ico/22x22/format-text-superscript.png - ico/22x22/project-delete.png - ico/22x22/view-fit-window.png - ico/24x16/ad.png - ico/24x16/ae.png - ico/24x16/af.png - ico/24x16/ag.png - ico/24x16/ai.png - ico/24x16/al.png - ico/24x16/alderney.png - ico/24x16/am.png - ico/24x16/an.png - ico/24x16/ao.png - ico/24x16/aq.png - ico/24x16/as.png - ico/24x16/at.png - ico/24x16/au.png - ico/24x16/aw.png - ico/24x16/ax.png - ico/24x16/az.png - ico/24x16/azores.png - ico/24x16/ba.png - ico/24x16/bb.png - ico/24x16/bd.png - ico/24x16/bf.png - ico/24x16/bg.png - ico/24x16/bh.png - ico/24x16/bi.png - ico/24x16/bj.png - ico/24x16/bl.png - ico/24x16/bm.png - ico/24x16/bn.png - ico/24x16/bo.png - ico/24x16/bonaire.png - ico/24x16/british_antarctic_territory.png - ico/24x16/bs.png - ico/24x16/bt.png - ico/24x16/bv.png - ico/24x16/bw.png - ico/24x16/by.png - ico/24x16/bz.png - ico/24x16/ca.png - ico/24x16/cc.png - ico/24x16/cd.png - ico/24x16/cf.png - ico/24x16/cg.png - ico/24x16/ch.png - ico/24x16/ci.png - ico/24x16/ck.png - ico/24x16/cl.png - ico/24x16/cm.png - ico/24x16/cn.png - ico/24x16/co.png - ico/24x16/cr.png - ico/24x16/cu.png - ico/24x16/cv.png - ico/24x16/cx.png - ico/24x16/cy.png - ico/24x16/cz.png - ico/24x16/dj.png - ico/24x16/dm.png - ico/24x16/do.png - ico/24x16/dz.png - ico/24x16/ec.png - ico/24x16/ee.png - ico/24x16/eg.png - ico/24x16/eh.png - ico/24x16/eo.png - ico/24x16/er.png - ico/24x16/et.png - ico/24x16/eu.png - ico/24x16/fi.png - ico/24x16/fj.png - ico/24x16/fk.png - ico/24x16/fm.png - ico/24x16/fo.png - ico/24x16/ga.png - ico/24x16/gb.png - ico/24x16/gd.png - ico/24x16/ge.png - ico/24x16/gf.png - ico/24x16/gg.png - ico/24x16/gh.png - ico/24x16/gi.png - ico/24x16/gl.png - ico/24x16/gm.png - ico/24x16/gn.png - ico/24x16/gp.png - ico/24x16/gq.png - ico/24x16/gs.png - ico/24x16/gt.png - ico/24x16/gu.png - ico/24x16/gw.png - ico/24x16/gy.png - ico/24x16/herm.png - ico/24x16/hk.png - ico/24x16/hm.png - ico/24x16/hn.png - ico/24x16/ht.png - ico/24x16/hu.png - ico/24x16/id.png - ico/24x16/ie.png - ico/24x16/il.png - ico/24x16/im.png - ico/24x16/in.png - ico/24x16/io.png - ico/24x16/iq.png - ico/24x16/ir.png - ico/24x16/is.png - ico/24x16/je.png - ico/24x16/jm.png - ico/24x16/jo.png - ico/24x16/jp.png - ico/24x16/ke.png - ico/24x16/kg.png - ico/24x16/kh.png - ico/24x16/ki.png - ico/24x16/km.png - ico/24x16/kn.png - ico/24x16/kosovo.png - ico/24x16/kp.png - ico/24x16/kr.png - ico/24x16/kw.png - ico/24x16/ky.png - ico/24x16/kz.png - ico/24x16/la.png - ico/24x16/lb.png - ico/24x16/lc.png - ico/24x16/li.png - ico/24x16/lk.png - ico/24x16/lr.png - ico/24x16/ls.png - ico/24x16/lt.png - ico/24x16/lu.png - ico/24x16/lv.png - ico/24x16/ly.png - ico/24x16/ma.png - ico/24x16/madeira.png - ico/24x16/mc.png - ico/24x16/md.png - ico/24x16/me.png - ico/24x16/mf.png - ico/24x16/mg.png - ico/24x16/mh.png - ico/24x16/mk.png - ico/24x16/ml.png - ico/24x16/mm.png - ico/24x16/mn.png - ico/24x16/mo.png - ico/24x16/mp.png - ico/24x16/mq.png - ico/24x16/mr.png - ico/24x16/ms.png - ico/24x16/mt.png - ico/24x16/mu.png - ico/24x16/mv.png - ico/24x16/mw.png - ico/24x16/mx.png - ico/24x16/my.png - ico/24x16/mz.png - ico/24x16/na.png - ico/24x16/nc.png - ico/24x16/ne.png - ico/24x16/nf.png - ico/24x16/ng.png - ico/24x16/ni.png - ico/24x16/no.png - ico/24x16/np.png - ico/24x16/nr.png - ico/24x16/nu.png - ico/24x16/nz.png - ico/24x16/om.png - ico/24x16/pa.png - ico/24x16/pe.png - ico/24x16/pf.png - ico/24x16/pg.png - ico/24x16/ph.png - ico/24x16/pk.png - ico/24x16/pm.png - ico/24x16/pn.png - ico/24x16/pr.png - ico/24x16/ps.png - ico/24x16/pw.png - ico/24x16/py.png - ico/24x16/qa.png - ico/24x16/qc.png - ico/24x16/re.png - ico/24x16/readme.txt - ico/24x16/rs.png - ico/24x16/rw.png - ico/24x16/sa.png - ico/24x16/saba.png - ico/24x16/sark.png - ico/24x16/sb.png - ico/24x16/sc.png - ico/24x16/scotland.png - ico/24x16/sd.png - ico/24x16/se.png - ico/24x16/sg.png - ico/24x16/sh.png - ico/24x16/si.png - ico/24x16/sint_eustatius.png - ico/24x16/sint_maarten.png - ico/24x16/sj.png - ico/24x16/sk.png - ico/24x16/sm.png - ico/24x16/sn.png - ico/24x16/so.png - ico/24x16/sr.png - ico/24x16/st.png - ico/24x16/sv.png - ico/24x16/sy.png - ico/24x16/sz.png - ico/24x16/tc.png - ico/24x16/td.png - ico/24x16/tf.png - ico/24x16/tg.png - ico/24x16/th.png - ico/24x16/tj.png - ico/24x16/tk.png - ico/24x16/tl.png - ico/24x16/tm.png - ico/24x16/tn.png - ico/24x16/to.png - ico/24x16/tr.png - ico/24x16/tristan_da_cunha.png - ico/24x16/tt.png - ico/24x16/tv.png - ico/24x16/tw.png - ico/24x16/tz.png - ico/24x16/ua.png - ico/24x16/ug.png - ico/24x16/um.png - ico/24x16/us.png - ico/24x16/uy.png - ico/24x16/uz.png - ico/24x16/va.png - ico/24x16/vc.png - ico/24x16/ve.png - ico/24x16/vg.png - ico/24x16/vi.png - ico/24x16/vn.png - ico/24x16/vu.png - ico/24x16/wales.png - ico/24x16/wf.png - ico/24x16/ws.png - ico/24x16/ye.png - ico/24x16/yt.png - ico/24x16/za.png - ico/24x16/zm.png - ico/24x16/zw.png - ico/32x32/format-text-color.png - ico/32x32/insert-link.png - ico/breeze-icons/128x128/apps/qelectrotech.png - ico/breeze-icons/128x128/mimetypes/application-x-qet-element.png - ico/breeze-icons/128x128/mimetypes/application-x-qet-project.png - ico/breeze-icons/128x128/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/16x16/apps/qelectrotech.png + ico/flags/ar.png + ico/flags/cs.png + ico/flags/de.png + ico/flags/es.png + ico/flags/en.png + ico/flags/catalonia.png + ico/flags/fr.png + ico/flags/hr.png + ico/flags/pl.png + ico/flags/pt.png + ico/flags/ro.png + ico/flags/ru.png + ico/flags/sl.png + ico/flags/gr.png + ico/flags/it.png + ico/flags/nl.png + ico/flags/nl_BE.png + ico/flags/dk.png + ico/flags/br.png + ico/flags/ad.png + ico/flags/ae.png + ico/flags/af.png + ico/flags/ag.png + ico/flags/ai.png + ico/flags/al.png + ico/flags/alderney.png + ico/flags/am.png + ico/flags/an.png + ico/flags/ao.png + ico/flags/aq.png + ico/flags/as.png + ico/flags/at.png + ico/flags/au.png + ico/flags/aw.png + ico/flags/ax.png + ico/flags/az.png + ico/flags/azores.png + ico/flags/ba.png + ico/flags/bb.png + ico/flags/bd.png + ico/flags/bf.png + ico/flags/bg.png + ico/flags/bh.png + ico/flags/bi.png + ico/flags/bj.png + ico/flags/bl.png + ico/flags/bm.png + ico/flags/bn.png + ico/flags/bo.png + ico/flags/bonaire.png + ico/flags/british_antarctic_territory.png + ico/flags/bs.png + ico/flags/bt.png + ico/flags/bv.png + ico/flags/bw.png + ico/flags/by.png + ico/flags/bz.png + ico/flags/ca.png + ico/flags/cc.png + ico/flags/cd.png + ico/flags/cf.png + ico/flags/cg.png + ico/flags/ch.png + ico/flags/ci.png + ico/flags/ck.png + ico/flags/cl.png + ico/flags/cm.png + ico/flags/cn.png + ico/flags/co.png + ico/flags/cr.png + ico/flags/cu.png + ico/flags/cv.png + ico/flags/cx.png + ico/flags/cy.png + ico/flags/cz.png + ico/flags/dj.png + ico/flags/dm.png + ico/flags/do.png + ico/flags/dz.png + ico/flags/ec.png + ico/flags/ee.png + ico/flags/eg.png + ico/flags/eh.png + ico/flags/eo.png + ico/flags/er.png + ico/flags/et.png + ico/flags/eu.png + ico/flags/fi.png + ico/flags/fj.png + ico/flags/fk.png + ico/flags/fm.png + ico/flags/fo.png + ico/flags/ga.png + ico/flags/gb.png + ico/flags/gd.png + ico/flags/ge.png + ico/flags/gf.png + ico/flags/gg.png + ico/flags/gh.png + ico/flags/gi.png + ico/flags/gl.png + ico/flags/gm.png + ico/flags/gn.png + ico/flags/gp.png + ico/flags/gq.png + ico/flags/gs.png + ico/flags/gt.png + ico/flags/gu.png + ico/flags/gw.png + ico/flags/gy.png + ico/flags/herm.png + ico/flags/hk.png + ico/flags/hm.png + ico/flags/hn.png + ico/flags/ht.png + ico/flags/hu.png + ico/flags/id.png + ico/flags/ie.png + ico/flags/il.png + ico/flags/im.png + ico/flags/in.png + ico/flags/io.png + ico/flags/iq.png + ico/flags/ir.png + ico/flags/is.png + ico/flags/je.png + ico/flags/jm.png + ico/flags/jo.png + ico/flags/jp.png + ico/flags/ke.png + ico/flags/kg.png + ico/flags/kh.png + ico/flags/ki.png + ico/flags/km.png + ico/flags/kn.png + ico/flags/kosovo.png + ico/flags/kp.png + ico/flags/kr.png + ico/flags/kw.png + ico/flags/ky.png + ico/flags/kz.png + ico/flags/la.png + ico/flags/lb.png + ico/flags/lc.png + ico/flags/li.png + ico/flags/lk.png + ico/flags/lr.png + ico/flags/ls.png + ico/flags/lt.png + ico/flags/lu.png + ico/flags/lv.png + ico/flags/ly.png + ico/flags/ma.png + ico/flags/madeira.png + ico/flags/mc.png + ico/flags/md.png + ico/flags/me.png + ico/flags/mf.png + ico/flags/mg.png + ico/flags/mh.png + ico/flags/mk.png + ico/flags/ml.png + ico/flags/mm.png + ico/flags/mn.png + ico/flags/mo.png + ico/flags/mp.png + ico/flags/mq.png + ico/flags/mr.png + ico/flags/ms.png + ico/flags/mt.png + ico/flags/mu.png + ico/flags/mv.png + ico/flags/mw.png + ico/flags/mx.png + ico/flags/my.png + ico/flags/mz.png + ico/flags/na.png + ico/flags/nc.png + ico/flags/ne.png + ico/flags/nf.png + ico/flags/ng.png + ico/flags/ni.png + ico/flags/no.png + ico/flags/np.png + ico/flags/nr.png + ico/flags/nu.png + ico/flags/nz.png + ico/flags/om.png + ico/flags/pa.png + ico/flags/pe.png + ico/flags/pf.png + ico/flags/pg.png + ico/flags/ph.png + ico/flags/pk.png + ico/flags/pm.png + ico/flags/pn.png + ico/flags/pr.png + ico/flags/ps.png + ico/flags/pw.png + ico/flags/py.png + ico/flags/qa.png + ico/flags/qc.png + ico/flags/re.png + ico/flags/readme.txt + ico/flags/rs.png + ico/flags/rw.png + ico/flags/sa.png + ico/flags/saba.png + ico/flags/sark.png + ico/flags/sb.png + ico/flags/sc.png + ico/flags/scotland.png + ico/flags/sd.png + ico/flags/se.png + ico/flags/sg.png + ico/flags/sh.png + ico/flags/si.png + ico/flags/sint_eustatius.png + ico/flags/sint_maarten.png + ico/flags/sj.png + ico/flags/sk.png + ico/flags/sm.png + ico/flags/sn.png + ico/flags/so.png + ico/flags/sr.png + ico/flags/st.png + ico/flags/sv.png + ico/flags/sy.png + ico/flags/sz.png + ico/flags/tc.png + ico/flags/td.png + ico/flags/tf.png + ico/flags/tg.png + ico/flags/th.png + ico/flags/tj.png + ico/flags/tk.png + ico/flags/tl.png + ico/flags/tm.png + ico/flags/tn.png + ico/flags/to.png + ico/flags/tr.png + ico/flags/tristan_da_cunha.png + ico/flags/tt.png + ico/flags/tv.png + ico/flags/tw.png + ico/flags/tz.png + ico/flags/ua.png + ico/flags/ug.png + ico/flags/um.png + ico/flags/us.png + ico/flags/uy.png + ico/flags/uz.png + ico/flags/va.png + ico/flags/vc.png + ico/flags/ve.png + ico/flags/vg.png + ico/flags/vi.png + ico/flags/vn.png + ico/flags/vu.png + ico/flags/wales.png + ico/flags/wf.png + ico/flags/ws.png + ico/flags/ye.png + ico/flags/yt.png + ico/flags/za.png + ico/flags/zm.png + ico/flags/zw.png ico/breeze-icons/16x16/mimetypes/application-x-qet-element.png ico/breeze-icons/16x16/mimetypes/application-x-qet-project.png - ico/breeze-icons/16x16/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/22x22/apps/qelectrotech.png ico/breeze-icons/22x22/mimetypes/application-x-qet-element.png ico/breeze-icons/22x22/mimetypes/application-x-qet-project.png - ico/breeze-icons/22x22/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/256x256/apps/qelectrotech.png - ico/breeze-icons/256x256/mimetypes/application-x-qet-element.png - ico/breeze-icons/256x256/mimetypes/application-x-qet-project.png - ico/breeze-icons/256x256/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/32x32/apps/qelectrotech.png ico/breeze-icons/32x32/mimetypes/application-x-qet-element.png ico/breeze-icons/32x32/mimetypes/application-x-qet-project.png - ico/breeze-icons/32x32/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/48x48/apps/qelectrotech.png - ico/breeze-icons/48x48/mimetypes/application-x-qet-element.png - ico/breeze-icons/48x48/mimetypes/application-x-qet-project.png - ico/breeze-icons/48x48/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/64x64/apps/qelectrotech.png - ico/breeze-icons/64x64/mimetypes/application-x-qet-element.png - ico/breeze-icons/64x64/mimetypes/application-x-qet-project.png - ico/breeze-icons/64x64/mimetypes/application-x-qet-titleblock.png - ico/breeze-icons/scalable/apps/hidef/qelectrotech.svgz - ico/breeze-icons/scalable/apps/small/16x16/qelectrotech.svgz - ico/breeze-icons/scalable/apps/small/22x22/qelectrotech.svgz - ico/breeze-icons/scalable/apps/small/32x32/qelectrotech.svgz - ico/breeze-icons/scalable/apps/small/48x48/qelectrotech.svgz - ico/breeze-icons/scalable/apps/small/64x64/qelectrotech.svgz - ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-element.svgz - ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-project.svgz - ico/breeze-icons/scalable/mimetypes/hidef/application-x-qet-titleblock.svgz - ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-element.svgz - ico/breeze-icons/scalable/mimetypes/small/16x16/application-x-qet-project.svgz - ico/breeze-icons/scalable/mimetypes/small/22x22/application-x-qet-element.svgz - ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-element.svgz - ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-project.svgz - ico/breeze-icons/scalable/mimetypes/small/32x32/application-x-qet-titleblock.svgz - ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-element.svgz - ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-project.svgz - ico/breeze-icons/scalable/mimetypes/small/48x48/application-x-qet-titleblock.svgz - ico/breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg - ico/breeze-icons/scalable/apps/hidef/transform-crop.svg - ico/breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg - ico/breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg - ico/breeze-icons/scalable/apps/hidef/edit-opacity.svg - ico/generated/rect-to-polyline.svg - ico/generated/rect-to-bezier.svg - ico/generated/ellipse-to-bezier.svg - ico/16x16/object-group.png ico/mac_icon/elmt.icns ico/mac_icon/qelectrotech.icns ico/mac_icon/qet.icns @@ -502,170 +287,151 @@ ico/windows_icon/qelectrotech.ico ico/windows_icon/qelectrotech.rc ico/copyright - ico/16x16/folio-delete.png - ico/16x16/table-of-content.png - ico/16x16/folio-properties.png - ico/16x16/select.png - ico/16x16/grid.png - ico/16x16/move.png - ico/16x16/element.png - ico/16x16/folder-open.png - ico/16x16/folder-properties.png - ico/16x16/go-up-double.png - ico/16x16/go-down-double.png - ico/16x16/go-top.png - ico/16x16/go-bottom.png - ico/22x22/folder-open.png - ico/16x16/edit-select-invert.png - ico/16x16/edit-select-none.png - ico/16x16/transform-rotate.png - ico/16x16/window-close.svg - ico/16x16/conductor.png - ico/22x22/color/color-brown.png - ico/22x22/color/color-gray.png - ico/22x22/color/color-orange.png - ico/22x22/color/color-purple.png - ico/22x22/color/color-01-pink-01-pink.png - ico/22x22/color/color-01-pink-02-lightpink.png - ico/22x22/color/color-01-pink-03-hotpink.png - ico/22x22/color/color-01-pink-04-deeppink.png - ico/22x22/color/color-01-pink-05-palevioletred.png - ico/22x22/color/color-01-pink-06-mediumvioletred.png - ico/22x22/color/color-02-red-01-lightsalmon.png - ico/22x22/color/color-02-red-02-salmon.png - ico/22x22/color/color-02-red-03-darksalmon.png - ico/22x22/color/color-02-red-04-lightcoral.png - ico/22x22/color/color-02-red-05-indianred.png - ico/22x22/color/color-02-red-06-crimson.png - ico/22x22/color/color-02-red-07-firebrick.png - ico/22x22/color/color-02-red-08-darkred.png - ico/22x22/color/color-02-red-09-red.png - ico/22x22/color/color-03-orange-01-orangered.png - ico/22x22/color/color-03-orange-02-tomato.png - ico/22x22/color/color-03-orange-03-coral.png - ico/22x22/color/color-03-orange-04-darkorange.png - ico/22x22/color/color-03-orange-05-orange.png - ico/22x22/color/color-04-yellow-01-yellow.png - ico/22x22/color/color-04-yellow-02-lightyellow.png - ico/22x22/color/color-04-yellow-03-lemonchiffon.png - ico/22x22/color/color-04-yellow-04-lightgoldenrodyellow.png - ico/22x22/color/color-04-yellow-05-papayawhip.png - ico/22x22/color/color-04-yellow-06-moccasin.png - ico/22x22/color/color-04-yellow-07-peachpuff.png - ico/22x22/color/color-04-yellow-08-palegoldenrod.png - ico/22x22/color/color-04-yellow-09-khaki.png - ico/22x22/color/color-04-yellow-10-darkkhaki.png - ico/22x22/color/color-04-yellow-11-gold.png - ico/22x22/color/color-05-brown-01-cornsilk.png - ico/22x22/color/color-05-brown-02-blanchedalmond.png - ico/22x22/color/color-05-brown-03-bisque.png - ico/22x22/color/color-05-brown-04-navajowhite.png - ico/22x22/color/color-05-brown-05-wheat.png - ico/22x22/color/color-05-brown-06-burlywood.png - ico/22x22/color/color-05-brown-07-tan.png - ico/22x22/color/color-05-brown-08-rosybrown.png - ico/22x22/color/color-05-brown-09-sandybrown.png - ico/22x22/color/color-05-brown-10-goldenrod.png - ico/22x22/color/color-05-brown-11-darkgoldenrod.png - ico/22x22/color/color-05-brown-12-peru.png - ico/22x22/color/color-05-brown-13-chocolate.png - ico/22x22/color/color-05-brown-14-saddlebrown.png - ico/22x22/color/color-05-brown-15-sienna.png - ico/22x22/color/color-05-brown-16-brown.png - ico/22x22/color/color-05-brown-17-maroon.png - ico/22x22/color/color-06-green-01-darkolivegreen.png - ico/22x22/color/color-06-green-02-olive.png - ico/22x22/color/color-06-green-03-olivedrab.png - ico/22x22/color/color-06-green-04-yellowgreen.png - ico/22x22/color/color-06-green-05-limegreen.png - ico/22x22/color/color-06-green-06-lime.png - ico/22x22/color/color-06-green-07-lawngreen.png - ico/22x22/color/color-06-green-08-chartreuse.png - ico/22x22/color/color-06-green-09-greenyellow.png - ico/22x22/color/color-06-green-10-springgreen.png - ico/22x22/color/color-06-green-11-mediumspringgreen.png - ico/22x22/color/color-06-green-12-lightgreen.png - ico/22x22/color/color-06-green-13-palegreen.png - ico/22x22/color/color-06-green-14-darkseagreen.png - ico/22x22/color/color-06-green-15-mediumaquamarine.png - ico/22x22/color/color-06-green-16-mediumseagreen.png - ico/22x22/color/color-06-green-17-seagreen.png - ico/22x22/color/color-06-green-18-forestgreen.png - ico/22x22/color/color-06-green-19-green.png - ico/22x22/color/color-06-green-20-darkgreen.png - ico/22x22/color/color-07-cyan-01-aqua.png - ico/22x22/color/color-07-cyan-02-cyan.png - ico/22x22/color/color-07-cyan-03-lightcyan.png - ico/22x22/color/color-07-cyan-04-paleturquoise.png - ico/22x22/color/color-07-cyan-05-aquamarine.png - ico/22x22/color/color-07-cyan-06-turquoise.png - ico/22x22/color/color-07-cyan-07-mediumturquoise.png - ico/22x22/color/color-07-cyan-08-darkturquoise.png - ico/22x22/color/color-07-cyan-09-lightseagreen.png - ico/22x22/color/color-07-cyan-10-cadetblue.png - ico/22x22/color/color-07-cyan-11-darkcyan.png - ico/22x22/color/color-07-cyan-12-teal.png - ico/22x22/color/color-08-blue-01-lightsteelblue.png - ico/22x22/color/color-08-blue-02-powderblue.png - ico/22x22/color/color-08-blue-03-lightblue.png - ico/22x22/color/color-08-blue-04-skyblue.png - ico/22x22/color/color-08-blue-05-lightskyblue.png - ico/22x22/color/color-08-blue-06-deepskyblue.png - ico/22x22/color/color-08-blue-07-dodgerblue.png - ico/22x22/color/color-08-blue-08-cornflowerblue.png - ico/22x22/color/color-08-blue-09-steelblue.png - ico/22x22/color/color-08-blue-10-royalblue.png - ico/22x22/color/color-08-blue-11-blue.png - ico/22x22/color/color-08-blue-12-mediumblue.png - ico/22x22/color/color-08-blue-13-darkblue.png - ico/22x22/color/color-08-blue-14-navy.png - ico/22x22/color/color-08-blue-15-midnightblue.png - ico/22x22/color/color-09-purple-01-lavender.png - ico/22x22/color/color-09-purple-02-thistle.png - ico/22x22/color/color-09-purple-03-plum.png - ico/22x22/color/color-09-purple-04-violet.png - ico/22x22/color/color-09-purple-05-orchid.png - ico/22x22/color/color-09-purple-06-fuchsia.png - ico/22x22/color/color-09-purple-07-magenta.png - ico/22x22/color/color-09-purple-08-mediumorchid.png - ico/22x22/color/color-09-purple-09-mediumpurple.png - ico/22x22/color/color-09-purple-10-blueviolet.png - ico/22x22/color/color-09-purple-11-darkviolet.png - ico/22x22/color/color-09-purple-12-darkorchid.png - ico/22x22/color/color-09-purple-13-darkmagenta.png - ico/22x22/color/color-09-purple-14-purple.png - ico/22x22/color/color-09-purple-15-indigo.png - ico/22x22/color/color-09-purple-16-darkslateblue.png - ico/22x22/color/color-09-purple-17-slateblue.png - ico/22x22/color/color-09-purple-18-mediumslateblue.png - ico/22x22/color/color-10-white-01-white.png - ico/22x22/color/color-10-white-02-snow.png - ico/22x22/color/color-10-white-03-honeydew.png - ico/22x22/color/color-10-white-04-mintcream.png - ico/22x22/color/color-10-white-05-azure.png - ico/22x22/color/color-10-white-06-aliceblue.png - ico/22x22/color/color-10-white-07-ghostwhite.png - ico/22x22/color/color-10-white-08-whitesmoke.png - ico/22x22/color/color-10-white-09-seashell.png - ico/22x22/color/color-10-white-10-beige.png - ico/22x22/color/color-10-white-11-oldlace.png - ico/22x22/color/color-10-white-12-floralwhite.png - ico/22x22/color/color-10-white-13-ivory.png - ico/22x22/color/color-10-white-14-antiquewhite.png - ico/22x22/color/color-10-white-15-linen.png - ico/22x22/color/color-10-white-16-lavenderblush.png - ico/22x22/color/color-10-white-17-mistyrose.png - ico/22x22/color/color-11-gray-01-gainsboro.png - ico/22x22/color/color-11-gray-02-lightgray.png - ico/22x22/color/color-11-gray-03-silver.png - ico/22x22/color/color-11-gray-04-darkgray.png - ico/22x22/color/color-11-gray-05-gray.png - ico/22x22/color/color-11-gray-06-dimgray.png - ico/22x22/color/color-11-gray-07-lightslategray.png - ico/22x22/color/color-11-gray-08-slategray.png - ico/22x22/color/color-11-gray-09-darkslategray.png - ico/22x22/color/color-11-gray-10-black.png - ico/24x16/zh.png + ico/colors/color-brown.png + ico/colors/color-gray.png + ico/colors/color-orange.png + ico/colors/color-purple.png + ico/colors/color-01-pink-01-pink.png + ico/colors/color-01-pink-02-lightpink.png + ico/colors/color-01-pink-03-hotpink.png + ico/colors/color-01-pink-04-deeppink.png + ico/colors/color-01-pink-05-palevioletred.png + ico/colors/color-01-pink-06-mediumvioletred.png + ico/colors/color-02-red-01-lightsalmon.png + ico/colors/color-02-red-02-salmon.png + ico/colors/color-02-red-03-darksalmon.png + ico/colors/color-02-red-04-lightcoral.png + ico/colors/color-02-red-05-indianred.png + ico/colors/color-02-red-06-crimson.png + ico/colors/color-02-red-07-firebrick.png + ico/colors/color-02-red-08-darkred.png + ico/colors/color-02-red-09-red.png + ico/colors/color-03-orange-01-orangered.png + ico/colors/color-03-orange-02-tomato.png + ico/colors/color-03-orange-03-coral.png + ico/colors/color-03-orange-04-darkorange.png + ico/colors/color-03-orange-05-orange.png + ico/colors/color-04-yellow-01-yellow.png + ico/colors/color-04-yellow-02-lightyellow.png + ico/colors/color-04-yellow-03-lemonchiffon.png + ico/colors/color-04-yellow-04-lightgoldenrodyellow.png + ico/colors/color-04-yellow-05-papayawhip.png + ico/colors/color-04-yellow-06-moccasin.png + ico/colors/color-04-yellow-07-peachpuff.png + ico/colors/color-04-yellow-08-palegoldenrod.png + ico/colors/color-04-yellow-09-khaki.png + ico/colors/color-04-yellow-10-darkkhaki.png + ico/colors/color-04-yellow-11-gold.png + ico/colors/color-05-brown-01-cornsilk.png + ico/colors/color-05-brown-02-blanchedalmond.png + ico/colors/color-05-brown-03-bisque.png + ico/colors/color-05-brown-04-navajowhite.png + ico/colors/color-05-brown-05-wheat.png + ico/colors/color-05-brown-06-burlywood.png + ico/colors/color-05-brown-07-tan.png + ico/colors/color-05-brown-08-rosybrown.png + ico/colors/color-05-brown-09-sandybrown.png + ico/colors/color-05-brown-10-goldenrod.png + ico/colors/color-05-brown-11-darkgoldenrod.png + ico/colors/color-05-brown-12-peru.png + ico/colors/color-05-brown-13-chocolate.png + ico/colors/color-05-brown-14-saddlebrown.png + ico/colors/color-05-brown-15-sienna.png + ico/colors/color-05-brown-16-brown.png + ico/colors/color-05-brown-17-maroon.png + ico/colors/color-06-green-01-darkolivegreen.png + ico/colors/color-06-green-02-olive.png + ico/colors/color-06-green-03-olivedrab.png + ico/colors/color-06-green-04-yellowgreen.png + ico/colors/color-06-green-05-limegreen.png + ico/colors/color-06-green-06-lime.png + ico/colors/color-06-green-07-lawngreen.png + ico/colors/color-06-green-08-chartreuse.png + ico/colors/color-06-green-09-greenyellow.png + ico/colors/color-06-green-10-springgreen.png + ico/colors/color-06-green-11-mediumspringgreen.png + ico/colors/color-06-green-12-lightgreen.png + ico/colors/color-06-green-13-palegreen.png + ico/colors/color-06-green-14-darkseagreen.png + ico/colors/color-06-green-15-mediumaquamarine.png + ico/colors/color-06-green-16-mediumseagreen.png + ico/colors/color-06-green-17-seagreen.png + ico/colors/color-06-green-18-forestgreen.png + ico/colors/color-06-green-19-green.png + ico/colors/color-06-green-20-darkgreen.png + ico/colors/color-07-cyan-01-aqua.png + ico/colors/color-07-cyan-02-cyan.png + ico/colors/color-07-cyan-03-lightcyan.png + ico/colors/color-07-cyan-04-paleturquoise.png + ico/colors/color-07-cyan-05-aquamarine.png + ico/colors/color-07-cyan-06-turquoise.png + ico/colors/color-07-cyan-07-mediumturquoise.png + ico/colors/color-07-cyan-08-darkturquoise.png + ico/colors/color-07-cyan-09-lightseagreen.png + ico/colors/color-07-cyan-10-cadetblue.png + ico/colors/color-07-cyan-11-darkcyan.png + ico/colors/color-07-cyan-12-teal.png + ico/colors/color-08-blue-01-lightsteelblue.png + ico/colors/color-08-blue-02-powderblue.png + ico/colors/color-08-blue-03-lightblue.png + ico/colors/color-08-blue-04-skyblue.png + ico/colors/color-08-blue-05-lightskyblue.png + ico/colors/color-08-blue-06-deepskyblue.png + ico/colors/color-08-blue-07-dodgerblue.png + ico/colors/color-08-blue-08-cornflowerblue.png + ico/colors/color-08-blue-09-steelblue.png + ico/colors/color-08-blue-10-royalblue.png + ico/colors/color-08-blue-11-blue.png + ico/colors/color-08-blue-12-mediumblue.png + ico/colors/color-08-blue-13-darkblue.png + ico/colors/color-08-blue-14-navy.png + ico/colors/color-08-blue-15-midnightblue.png + ico/colors/color-09-purple-01-lavender.png + ico/colors/color-09-purple-02-thistle.png + ico/colors/color-09-purple-03-plum.png + ico/colors/color-09-purple-04-violet.png + ico/colors/color-09-purple-05-orchid.png + ico/colors/color-09-purple-06-fuchsia.png + ico/colors/color-09-purple-07-magenta.png + ico/colors/color-09-purple-08-mediumorchid.png + ico/colors/color-09-purple-09-mediumpurple.png + ico/colors/color-09-purple-10-blueviolet.png + ico/colors/color-09-purple-11-darkviolet.png + ico/colors/color-09-purple-12-darkorchid.png + ico/colors/color-09-purple-13-darkmagenta.png + ico/colors/color-09-purple-14-purple.png + ico/colors/color-09-purple-15-indigo.png + ico/colors/color-09-purple-16-darkslateblue.png + ico/colors/color-09-purple-17-slateblue.png + ico/colors/color-09-purple-18-mediumslateblue.png + ico/colors/color-10-white-01-white.png + ico/colors/color-10-white-02-snow.png + ico/colors/color-10-white-03-honeydew.png + ico/colors/color-10-white-04-mintcream.png + ico/colors/color-10-white-05-azure.png + ico/colors/color-10-white-06-aliceblue.png + ico/colors/color-10-white-07-ghostwhite.png + ico/colors/color-10-white-08-whitesmoke.png + ico/colors/color-10-white-09-seashell.png + ico/colors/color-10-white-10-beige.png + ico/colors/color-10-white-11-oldlace.png + ico/colors/color-10-white-12-floralwhite.png + ico/colors/color-10-white-13-ivory.png + ico/colors/color-10-white-14-antiquewhite.png + ico/colors/color-10-white-15-linen.png + ico/colors/color-10-white-16-lavenderblush.png + ico/colors/color-10-white-17-mistyrose.png + ico/colors/color-11-gray-01-gainsboro.png + ico/colors/color-11-gray-02-lightgray.png + ico/colors/color-11-gray-03-silver.png + ico/colors/color-11-gray-04-darkgray.png + ico/colors/color-11-gray-05-gray.png + ico/colors/color-11-gray-06-dimgray.png + ico/colors/color-11-gray-07-lightslategray.png + ico/colors/color-11-gray-08-slategray.png + ico/colors/color-11-gray-09-darkslategray.png + ico/colors/color-11-gray-10-black.png + ico/flags/zh.png diff --git a/sources/ElementsCollection/elementslocation.cpp b/sources/ElementsCollection/elementslocation.cpp index 7c34f923a..0e8a94c7a 100644 --- a/sources/ElementsCollection/elementslocation.cpp +++ b/sources/ElementsCollection/elementslocation.cpp @@ -709,12 +709,20 @@ pugi::xml_document ElementsLocation::pugiXml() const #endif if (!m_project) { + //Read through QFile, not pugi's load_file(): on Windows load_file() + //fails once the full path reaches MAX_PATH (260 characters), while + //QFile handles long paths. + QFile file(m_file_system_path); + if (!file.open(QIODevice::ReadOnly)) { + return docu; + } + const QByteArray data = file.readAll(); #ifndef Q_OS_LINUX - if (docu.load_file(m_file_system_path.toStdWString().c_str())) { + if (docu.load_buffer(data.constData(), data.size())) { docu.save(m_string_stream); } #else - docu.load_file(m_file_system_path.toStdWString().c_str()); + docu.load_buffer(data.constData(), data.size()); #endif } else diff --git a/sources/ElementsCollection/fileelementcollectionitem.cpp b/sources/ElementsCollection/fileelementcollectionitem.cpp index 7b9d3ea98..805c3fc27 100644 --- a/sources/ElementsCollection/fileelementcollectionitem.cpp +++ b/sources/ElementsCollection/fileelementcollectionitem.cpp @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -178,7 +179,12 @@ QString FileElementCollectionItem::localName() bool readable = false; QString str(fileSystemPath() % "/qet_directory"); pugi::xml_document docu; - if (docu.load_file(str.toStdWString().c_str())) + // QFile rather than pugi's load_file(), which fails on + // Windows once the full path reaches 260 characters. + QFile file(str); + const QByteArray data = file.open(QIODevice::ReadOnly) + ? file.readAll() : QByteArray(); + if (!data.isEmpty() && docu.load_buffer(data.constData(), data.size())) { if (QString(docu.document_element().name()) == "qet-directory") diff --git a/sources/ElementsCollection/xmlelementcollection.cpp b/sources/ElementsCollection/xmlelementcollection.cpp index 940988da6..d3bb9713a 100644 --- a/sources/ElementsCollection/xmlelementcollection.cpp +++ b/sources/ElementsCollection/xmlelementcollection.cpp @@ -157,6 +157,16 @@ QDomElement XmlElementCollection::root() const */ QDomElement XmlElementCollection::importCategory() const { + //Found by name: a project may hold other top-level categories, + //and before the "import" one (lmdg.qet has "k_elem" first). Every + //lookup of an imported element is under "import/", so filing it + //anywhere else made the next placement of the same symbol fail. + for (QDomElement category = root().firstChildElement("category") ; + !category.isNull() ; + category = category.nextSiblingElement("category")) { + if (category.attribute("name") == QLatin1String("import")) + return category; + } return root().firstChildElement("category"); } diff --git a/sources/NameList/ui/namelistwidget.ui b/sources/NameList/ui/namelistwidget.ui index a38dd046d..33fec9d97 100644 --- a/sources/NameList/ui/namelistwidget.ui +++ b/sources/NameList/ui/namelistwidget.ui @@ -36,8 +36,7 @@ Ajouter une ligne - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png + @@ -48,8 +47,7 @@ Copier dans le presse papier - - :/ico/16x16/edit-paste.png:/ico/16x16/edit-paste.png + diff --git a/sources/PropertiesEditor/PropertiesEditor.pri b/sources/PropertiesEditor/PropertiesEditor.pri deleted file mode 100644 index cb4088536..000000000 --- a/sources/PropertiesEditor/PropertiesEditor.pri +++ /dev/null @@ -1,11 +0,0 @@ -FORMS += \ - $$PWD/propertieseditordockwidget.ui - -HEADERS += \ - $$PWD/propertieseditordockwidget.h \ - $$PWD/propertieseditorwidget.h \ - $$PWD/propertieseditordialog.h - -SOURCES += \ - $$PWD/propertieseditordockwidget.cpp \ - $$PWD/propertieseditorwidget.cpp diff --git a/sources/QPropertyUndoCommand/QPropertyUndoCommand.pri b/sources/QPropertyUndoCommand/QPropertyUndoCommand.pri deleted file mode 100644 index 6f91dd24e..000000000 --- a/sources/QPropertyUndoCommand/QPropertyUndoCommand.pri +++ /dev/null @@ -1,5 +0,0 @@ -HEADERS += \ - $$PWD/qpropertyundocommand.h - -SOURCES += \ - $$PWD/qpropertyundocommand.cpp diff --git a/sources/QWidgetAnimation/QWidgetAnimation.pri b/sources/QWidgetAnimation/QWidgetAnimation.pri deleted file mode 100644 index 7072f1b6f..000000000 --- a/sources/QWidgetAnimation/QWidgetAnimation.pri +++ /dev/null @@ -1,5 +0,0 @@ -HEADERS += \ - $$PWD/qwidgetanimation.h - -SOURCES += \ - $$PWD/qwidgetanimation.cpp diff --git a/sources/QetGraphicsItemModeler/QetGraphicsItemModeler.pri b/sources/QetGraphicsItemModeler/QetGraphicsItemModeler.pri deleted file mode 100644 index 3e783a8be..000000000 --- a/sources/QetGraphicsItemModeler/QetGraphicsItemModeler.pri +++ /dev/null @@ -1,7 +0,0 @@ -HEADERS += \ - $$PWD/qetgraphicshandlerutility.h \ - $$PWD/qetgraphicshandleritem.h - -SOURCES += \ - $$PWD/qetgraphicshandlerutility.cpp \ - $$PWD/qetgraphicshandleritem.cpp diff --git a/sources/QetGraphicsItemModeler/textresizehandles.cpp b/sources/QetGraphicsItemModeler/textresizehandles.cpp new file mode 100644 index 000000000..53c90d77a --- /dev/null +++ b/sources/QetGraphicsItemModeler/textresizehandles.cpp @@ -0,0 +1,252 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "textresizehandles.h" + +#include "qetgraphicshandleritem.h" + +#include +#include +#include +#include +#include + +#include +#include + +/** + @brief TextResizeHandles::TextResizeHandles + @param text : the text to resize, becomes the parent of the handles. + The text may be in a scene or not yet. + @param handle_size : see QETUtils::graphicsHandlerSize() +*/ +TextResizeHandles::TextResizeHandles(QGraphicsTextItem *text, qreal handle_size) : + m_text(text) +{ + setFlag(QGraphicsItem::ItemHasNoContents); + setParentItem(text); + + for (int i = TextResize::TopLeft ; i <= TextResize::BottomLeft ; ++i) + { + auto *handle = new QetGraphicsHandlerItem(handle_size); + handle->setParentItem(this); + handle->setColor(Qt::darkGreen); + handle->setToolTip(tr("Glisser pour changer la largeur du texte, " + "double-cliquer pour une largeur automatique")); + handle->setCursor(i == TextResize::TopLeft || i == TextResize::BottomRight + ? Qt::SizeFDiagCursor : Qt::SizeBDiagCursor); + m_handles << handle; + } + installHandleFilters(); + + m_size_connection = connect(text->document()->documentLayout(), + &QAbstractTextDocumentLayout::documentSizeChanged, + this, &TextResizeHandles::updateHandlesPos); + updateHandlesPos(); +} + +TextResizeHandles::~TextResizeHandles() +{ + disconnect(m_size_connection); +} + +QRectF TextResizeHandles::boundingRect() const { + return QRectF(); +} + +/** + @return the handle at corner +*/ +QetGraphicsHandlerItem *TextResizeHandles::handle(TextResize::Corner corner) const { + return m_handles.at(corner); +} + +/** + @brief TextResizeHandles::updateHandlesPos + Put the handles at the corners of the box of the text. Called when the + size of the text changes; the owner calls it when the box changes in an + other way. + The box is boundingRect(), the box a user sees selected and resizes, + not the tighter frame of a framed text (qelectrotech#591). +*/ +void TextResizeHandles::updateHandlesPos() +{ + const QRectF rect = m_text->boundingRect(); + for (int i = TextResize::TopLeft ; i <= TextResize::BottomLeft ; ++i) + m_handles.at(i)->setPos(TextResize::cornerOf(rect, TextResize::Corner(i))); +} + +/** + @brief TextResizeHandles::itemChange + A scene drops the event filters of an item that leaves it, so the + handles stop reacting to the mouse when the text is removed from its + scene and added back (undoing a delete does that), or when they were + created before the text was in a scene. Install them again each time + these handles enter a scene. +*/ +QVariant TextResizeHandles::itemChange(GraphicsItemChange change, const QVariant &value) +{ + if (change == QGraphicsItem::ItemSceneHasChanged) + installHandleFilters(); + return QGraphicsObject::itemChange(change, value); +} + +/** + @brief TextResizeHandles::installHandleFilters + Filter the mouse events of the handles, when they are in a scene. +*/ +void TextResizeHandles::installHandleFilters() +{ + if (!scene()) + return; + for (QetGraphicsHandlerItem *handle : std::as_const(m_handles)) + if (handle->scene() == scene()) + handle->installSceneEventFilter(this); +} + +bool TextResizeHandles::sceneEventFilter(QGraphicsItem *watched, QEvent *event) +{ + const int index = m_handles.indexOf(static_cast(watched)); + if (index < 0) + return false; + + switch (event->type()) + { + case QEvent::GraphicsSceneMousePress: + { + auto *mouse_event = static_cast(event); + if (mouse_event->button() != Qt::LeftButton) + return false; + pressed(TextResize::Corner(index), mouse_event->scenePos()); + return true; + } + case QEvent::GraphicsSceneMouseMove: + if (m_dragging) + moved(static_cast(event)->scenePos()); + return true; + case QEvent::GraphicsSceneMouseRelease: + released(); + return true; + case QEvent::GraphicsSceneMouseDoubleClick: + resetToAutomaticWidth(); + return true; + default: + return false; + } +} + +void TextResizeHandles::pressed(TextResize::Corner corner, const QPointF &scene_pos) +{ + m_dragging = true; + m_press_scene = scene_pos; + m_dragged = corner; + m_old_width = currentWidth(); + m_old_pos = m_text->pos(); + m_press_inverse = m_text->sceneTransform().inverted(); + m_fixed_local = TextResize::cornerOf(m_text->boundingRect(), TextResize::opposite(corner)); + m_fixed_scene = m_text->mapToScene(m_fixed_local); + m_min_width = TextResize::minimumWidth(m_text->document()); +} + +void TextResizeHandles::moved(const QPointF &scene_pos) +{ + //A click without a move keeps an automatic width automatic + if (scene_pos == m_press_scene) + return; + + //Whole pixels, as in the width spin boxes + const qreal width = qMax(qreal(qRound(TextResize::widthForDrag(m_press_inverse, m_fixed_local, + scene_pos, m_dragged, 0))), + std::ceil(m_min_width)); + m_text->setProperty("textWidth", width); + TextResize::pinCorner(m_text, TextResize::opposite(m_dragged), m_fixed_scene); + updateHandlesPos(); +} + +void TextResizeHandles::released() +{ + if (!m_dragging) + return; + m_dragging = false; + + const qreal new_width = currentWidth(); + if (!qFuzzyCompare(m_old_width, new_width) || m_old_pos != m_text->pos()) + emit resizeFinished(m_old_width, new_width, m_old_pos, m_text->pos()); +} + +/** + @brief TextResizeHandles::resetToAutomaticWidth + Back to the automatic width (-1): the text keeps the point chosen by its + alignment in place, as it does for any other change of its width. +*/ +void TextResizeHandles::resetToAutomaticWidth() +{ + m_dragging = false; + + const qreal old_width = currentWidth(); + if (old_width < 0) + return; + + const QPointF old_pos = m_text->pos(); + m_text->setProperty("textWidth", qreal(-1)); + updateHandlesPos(); + emit resizeFinished(old_width, currentWidth(), old_pos, m_text->pos()); +} + +qreal TextResizeHandles::currentWidth() const { + return m_text->property("textWidth").toReal(); +} + + +/** + @brief TextResizeCommand::TextResizeCommand + @param text : a text with a "textWidth" property + @param old_width + @param new_width + @param old_pos + @param new_pos + @param parent +*/ +TextResizeCommand::TextResizeCommand(QGraphicsObject *text, + qreal old_width, qreal new_width, + const QPointF &old_pos, const QPointF &new_pos, + QUndoCommand *parent) : + QUndoCommand(parent), + m_text(text), + m_old_width(old_width), + m_new_width(new_width), + m_old_pos(old_pos), + m_new_pos(new_pos) +{ + setText(tr("Redimensionner un texte")); +} + +void TextResizeCommand::undo() { + apply(m_old_width, m_old_pos); +} + +void TextResizeCommand::redo() { + apply(m_new_width, m_new_pos); +} + +void TextResizeCommand::apply(qreal width, const QPointF &pos) +{ + if (!m_text) + return; + m_text->setProperty("textWidth", width); + m_text->setPos(pos); +} diff --git a/sources/QetGraphicsItemModeler/textresizehandles.h b/sources/QetGraphicsItemModeler/textresizehandles.h new file mode 100644 index 000000000..2f92ef905 --- /dev/null +++ b/sources/QetGraphicsItemModeler/textresizehandles.h @@ -0,0 +1,124 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef TEXTRESIZEHANDLES_H +#define TEXTRESIZEHANDLES_H + +#include "../textresize.h" + +#include +#include +#include +#include +#include +#include + +class QetGraphicsHandlerItem; +class QGraphicsTextItem; + +/** + @brief The TextResizeHandles class + Four corner handles to change the width of a text box with the mouse. + The opposite corner of the dragged one stays in place, the text wraps + to the new width and the height of the box follows the text. + Double-clicking a handle goes back to the automatic width. + + The text must have a qreal "textWidth" property (-1 = automatic width). + The handles are a child of the text, so they follow it when it, or its + symbol, is moved, rotated or zoomed (qelectrotech#1002). + + The width is changed live while dragging; the owner of the text makes + the change undoable when resizeFinished() is emitted, by pushing a + TextResizeCommand on its own undo stack. +*/ +class TextResizeHandles : public QGraphicsObject +{ + Q_OBJECT + + public: + TextResizeHandles(QGraphicsTextItem *text, qreal handle_size = 10); + ~TextResizeHandles() override; + + QRectF boundingRect() const override; + void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) override {} + + QetGraphicsHandlerItem *handle(TextResize::Corner corner) const; + void updateHandlesPos(); + + signals: + void resizeFinished(qreal old_width, qreal new_width, + QPointF old_pos, QPointF new_pos); + + protected: + bool sceneEventFilter(QGraphicsItem *watched, QEvent *event) override; + QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; + + private: + void installHandleFilters(); + void pressed(TextResize::Corner corner, const QPointF &scene_pos); + void moved(const QPointF &scene_pos); + void released(); + void resetToAutomaticWidth(); + qreal currentWidth() const; + + QGraphicsTextItem *m_text; + QVector m_handles; + QMetaObject::Connection m_size_connection; + + //The drag in progress + bool m_dragging = false; + TextResize::Corner m_dragged = TextResize::BottomRight; + QTransform m_press_inverse; + QPointF m_press_scene, + m_fixed_local, + m_fixed_scene, + m_old_pos; + qreal m_old_width = -1, + m_min_width = 0; +}; + +/** + @brief The TextResizeCommand class + Undo a width change made with TextResizeHandles: the width, then the + position, which keeps the opposite corner of the dragged one in place. + Both are set in the same order on undo and redo, because a text may + move itself when its width changes (to keep its alignment point). +*/ +class TextResizeCommand : public QUndoCommand +{ + Q_DECLARE_TR_FUNCTIONS(TextResizeCommand) + + public: + TextResizeCommand(QGraphicsObject *text, + qreal old_width, qreal new_width, + const QPointF &old_pos, const QPointF &new_pos, + QUndoCommand *parent = nullptr); + + void undo() override; + void redo() override; + + private: + void apply(qreal width, const QPointF &pos); + + QPointer m_text; + qreal m_old_width, + m_new_width; + QPointF m_old_pos, + m_new_pos; +}; + +#endif // TEXTRESIZEHANDLES_H diff --git a/sources/SearchAndReplace/ui/replaceconductordialog.cpp b/sources/SearchAndReplace/ui/replaceconductordialog.cpp index 9b8fd7017..627ab5d25 100644 --- a/sources/SearchAndReplace/ui/replaceconductordialog.cpp +++ b/sources/SearchAndReplace/ui/replaceconductordialog.cpp @@ -329,7 +329,8 @@ void ReplaceConductorDialog::on_m_update_preview_pb_clicked() void ReplaceConductorDialog::on_m_color_pb_clicked() { - QColor color = QColorDialog::getColor(m_properties.color, this); + QColor color = QColorDialog::getColor(m_properties.color, this, QString(), + QColorDialog::DontUseNativeDialog); if (color.isValid()) { setColorButton(color); } @@ -337,7 +338,8 @@ void ReplaceConductorDialog::on_m_color_pb_clicked() void ReplaceConductorDialog::on_m_color_2_pb_clicked() { - QColor color = QColorDialog::getColor(m_properties.m_color_2, this); + QColor color = QColorDialog::getColor(m_properties.m_color_2, this, QString(), + QColorDialog::DontUseNativeDialog); if (color.isValid()) { setColorButton2(color); } diff --git a/sources/SearchAndReplace/ui/replacefoliowidget.ui b/sources/SearchAndReplace/ui/replacefoliowidget.ui index b438180b9..a46499e16 100644 --- a/sources/SearchAndReplace/ui/replacefoliowidget.ui +++ b/sources/SearchAndReplace/ui/replacefoliowidget.ui @@ -180,8 +180,7 @@ - - :/ico/22x22/start.png:/ico/22x22/start.png + diff --git a/sources/SearchAndReplace/ui/searchandreplacewidget.ui b/sources/SearchAndReplace/ui/searchandreplacewidget.ui index dd45f6a26..0f02f9b97 100644 --- a/sources/SearchAndReplace/ui/searchandreplacewidget.ui +++ b/sources/SearchAndReplace/ui/searchandreplacewidget.ui @@ -106,8 +106,7 @@ - - :/ico/16x16/go-bottom.png:/ico/16x16/go-bottom.png + true @@ -123,8 +122,7 @@ - - :/ico/16x16/go-top.png:/ico/16x16/go-top.png + true @@ -140,8 +138,7 @@ - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + true @@ -341,8 +338,7 @@ - - :/ico/16x16/window-close.svg:/ico/16x16/window-close.svg + true diff --git a/sources/TerminalStrip/UndoCommand/groupterminalscommand.cpp b/sources/TerminalStrip/UndoCommand/groupterminalscommand.cpp index 0b674b9cf..0da26d103 100644 --- a/sources/TerminalStrip/UndoCommand/groupterminalscommand.cpp +++ b/sources/TerminalStrip/UndoCommand/groupterminalscommand.cpp @@ -34,7 +34,7 @@ GroupTerminalsCommand::GroupTerminalsCommand(TerminalStrip *strip, m_receiver(receiver_), m_to_group(to_group) { - setText("Grouper un ensemble de bornes"); + setText(QObject::tr("Grouper un ensemble de bornes")); } void GroupTerminalsCommand::undo() { @@ -56,7 +56,7 @@ UnGroupTerminalsCommand::UnGroupTerminalsCommand(TerminalStrip *strip, m_terminal_strip(strip) { setUp(to_ungroup); - setText("Dégrouper un ensemble de bornes"); + setText(QObject::tr("Dégrouper un ensemble de bornes")); } void UnGroupTerminalsCommand::undo() diff --git a/sources/TerminalStrip/ui/freeterminaleditor.ui b/sources/TerminalStrip/ui/freeterminaleditor.ui index 4f318c60e..b0432600f 100644 --- a/sources/TerminalStrip/ui/freeterminaleditor.ui +++ b/sources/TerminalStrip/ui/freeterminaleditor.ui @@ -84,8 +84,7 @@ - - :/ico/22x22/dialog-ok.png:/ico/22x22/dialog-ok.png + diff --git a/sources/TerminalStrip/ui/terminalstripeditor.ui b/sources/TerminalStrip/ui/terminalstripeditor.ui index ef65cdf9c..4b5020e08 100644 --- a/sources/TerminalStrip/ui/terminalstripeditor.ui +++ b/sources/TerminalStrip/ui/terminalstripeditor.ui @@ -63,8 +63,7 @@ - - :/ico/16x16/dialog-ok.png:/ico/16x16/dialog-ok.png + diff --git a/sources/TerminalStrip/ui/terminalstripeditorwindow.ui b/sources/TerminalStrip/ui/terminalstripeditorwindow.ui index 53b413b3b..3678c1a8b 100644 --- a/sources/TerminalStrip/ui/terminalstripeditorwindow.ui +++ b/sources/TerminalStrip/ui/terminalstripeditorwindow.ui @@ -54,8 +54,7 @@ - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png + Ajouter un bornier @@ -66,8 +65,7 @@ - - :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png + Supprimer le bornier @@ -78,8 +76,7 @@ - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + Recharger diff --git a/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp b/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp index 2611ee5b8..a4c3576a8 100644 --- a/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp +++ b/sources/TerminalStrip/ui/terminalstriptreedockwidget.cpp @@ -205,6 +205,7 @@ void TerminalStripTreeDockWidget::on_m_tree_view_currentItemChanged(QTreeWidgetI Q_UNUSED(previous) if (!current) { + m_current_is_free_terminal = false; setCurrentStrip(nullptr); return; } @@ -225,11 +226,12 @@ void TerminalStripTreeDockWidget::on_m_tree_view_currentItemChanged(QTreeWidgetI } } - if (strip_ != m_current_strip) { - setCurrentStrip(strip_); - } else if (current_is_free != m_current_is_free_terminal) { + //The flag must follow every selection change, or a reload of the tree + //(e.g. after moving a free terminal) leaves it stale and the next + //click on a free terminal shows nothing (#1306) + if (strip_ != m_current_strip || current_is_free != m_current_is_free_terminal) { m_current_is_free_terminal = current_is_free; - emit currentStripChanged(nullptr); + setCurrentStrip(strip_); } } diff --git a/sources/autoNum/assignvariables.cpp b/sources/autoNum/assignvariables.cpp index 890907c28..40563956c 100644 --- a/sources/autoNum/assignvariables.cpp +++ b/sources/autoNum/assignvariables.cpp @@ -304,6 +304,7 @@ namespace autonum str.replace("%{designation_auxiliary1}", dc.value("designation_auxiliary1").toString()); str.replace("%{manufacturer_auxiliary1}", dc.value("manufacturer_auxiliary1").toString()); str.replace("%{manufacturer_reference_auxiliary1}", dc.value("manufacturer_reference_auxiliary1").toString()); + str.replace("%{machine_manufacturer_reference_auxiliary1}", dc.value("machine_manufacturer_reference_auxiliary1").toString()); str.replace("%{supplier_auxiliary1}", dc.value("supplier_auxiliary1").toString()); str.replace("%{quantity_auxiliary1}", dc.value("quantity_auxiliary1").toString()); str.replace("%{unity_auxiliary1}", dc.value("unity_auxiliary1").toString()); @@ -313,6 +314,7 @@ namespace autonum str.replace("%{designation_auxiliary2}", dc.value("designation_auxiliary2").toString()); str.replace("%{manufacturer_auxiliary2}", dc.value("manufacturer_auxiliary2").toString()); str.replace("%{manufacturer_reference_auxiliary2}", dc.value("manufacturer_reference_auxiliary2").toString()); + str.replace("%{machine_manufacturer_reference_auxiliary2}", dc.value("machine_manufacturer_reference_auxiliary2").toString()); str.replace("%{supplier_auxiliary2}", dc.value("supplier_auxiliary2").toString()); str.replace("%{quantity_auxiliary2}", dc.value("quantity_auxiliary2").toString()); str.replace("%{unity_auxiliary2}", dc.value("unity_auxiliary2").toString()); @@ -323,6 +325,7 @@ namespace autonum str.replace("%{designation_auxiliary3}", dc.value("designation_auxiliary3").toString()); str.replace("%{manufacturer_auxiliary3}", dc.value("manufacturer_auxiliary3").toString()); str.replace("%{manufacturer_reference_auxiliary3}", dc.value("manufacturer_reference_auxiliary3").toString()); + str.replace("%{machine_manufacturer_reference_auxiliary3}", dc.value("machine_manufacturer_reference_auxiliary3").toString()); str.replace("%{supplier_auxiliary3}", dc.value("supplier_auxiliary3").toString()); str.replace("%{quantity_auxiliary3}", dc.value("quantity_auxiliary3").toString()); str.replace("%{unity_auxiliary3}", dc.value("unity_auxiliary3").toString()); @@ -333,6 +336,7 @@ namespace autonum str.replace("%{designation_auxiliary4}", dc.value("designation_auxiliary4").toString()); str.replace("%{manufacturer_auxiliary4}", dc.value("manufacturer_auxiliary4").toString()); str.replace("%{manufacturer_reference_auxiliary4}", dc.value("manufacturer_reference_auxiliary4").toString()); + str.replace("%{machine_manufacturer_reference_auxiliary4}", dc.value("machine_manufacturer_reference_auxiliary4").toString()); str.replace("%{supplier_auxiliary4}", dc.value("supplier_auxiliary4").toString()); str.replace("%{quantity_auxiliary4}", dc.value("quantity_auxiliary4").toString()); str.replace("%{unity_auxiliary4}", dc.value("unity_auxiliary4").toString()); @@ -478,7 +482,10 @@ namespace autonum m_seq_struct.wrap.size())) ); - for (int i=1; i<=max ; i++) + // Highest number first: "%sequ_1" is also the start of + // "%sequ_10", so replacing 1 before 10 would turn %sequ_10 + // into the first value followed by a "0". + for (int i=max; i>=1 ; i--) { if (m_assigned_label.contains("%sequ_" + QString::number(i)) && m_seq_struct.unit.size() >= i) { m_assigned_label.replace("%sequ_" + QString::number(i),m_seq_struct.unit.at(i-1)); diff --git a/sources/autoNum/autonumschemecommand.cpp b/sources/autoNum/autonumschemecommand.cpp new file mode 100644 index 000000000..db20f3ec8 --- /dev/null +++ b/sources/autoNum/autonumschemecommand.cpp @@ -0,0 +1,297 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "autonumschemecommand.h" + +#include "../diagram.h" +#include "../qetproject.h" + +#include + +AutoNumSchemeCommand::AutoNumSchemeCommand(QETProject *project, Kind kind) : + m_project(project), + m_kind(kind) +{} + +/// @return the titles of the schemes of @p kind, sorted +QStringList AutoNumSchemeCommand::titles(const QETProject *project, Kind kind) +{ + if (!project) { + return {}; + } + QStringList list = kind == Kind::Conductor ? project->conductorAutoNum().keys() + : project->folioAutoNum().keys(); + list.sort(Qt::CaseInsensitive); + return list; +} + +bool AutoNumSchemeCommand::contains(const QETProject *project, Kind kind, const QString &title) +{ + if (!project) { + return false; + } + return kind == Kind::Conductor ? project->conductorAutoNum().contains(title) + : project->folioAutoNum().contains(title); +} + +NumerotationContext AutoNumSchemeCommand::contextOf(const QETProject *project, Kind kind, const QString &title) +{ + if (!project) { + return NumerotationContext(); + } + return kind == Kind::Conductor ? project->conductorAutoNum(title) + : project->folioAutoNum(title); +} + +/** + @return the title of the scheme @p name clashes with, empty if none: + the same name, whatever the case or the white space + @param ignored_title : the scheme being renamed +*/ +QString AutoNumSchemeCommand::nameClash(const QETProject *project, Kind kind, + const QString &name, const QString &ignored_title) +{ + const QString wanted = QETProject::normalizedAutoNumName(name); + for (const QString &title : titles(project, kind)) { + if (title == ignored_title) { + continue; + } + if (QString::compare(QETProject::normalizedAutoNumName(title), wanted, + Qt::CaseInsensitive) == 0) { + return title; + } + } + return QString(); +} + +/// @return why @p name cannot be the name of a scheme, translated, empty if it can +QString AutoNumSchemeCommand::nameProblem(const QETProject *project, Kind kind, + const QString &name, const QString &ignored_title) +{ + if (QETProject::normalizedAutoNumName(name).isEmpty()) { + return tr("Le nom de la numérotation ne peut pas être vide."); + } + const QString clash = nameClash(project, kind, name, ignored_title); + if (!clash.isEmpty()) { + return tr("Une numérotation nommée « %1 » existe déjà.").arg(clash); + } + return QString(); +} + +/** + @return the folios which follow the scheme @p title + @param references : every folio which names it, for a folio numbering, + even if its number has been written into the folio field already (see + the class description) +*/ +QList AutoNumSchemeCommand::usersOf(const QETProject *project, Kind kind, + const QString &title, bool references) +{ + QList users; + if (!project || title.isEmpty()) { + return users; + } + for (Diagram *diagram : project->diagrams()) { + if (kind == Kind::Conductor) { + if (diagram->conductorsAutonumName() == title) { + users << diagram; + } + } else if (diagram->border_and_titleblock.autoPageNum() == title + && (references || diagram->border_and_titleblock.folio().contains(QLatin1String("%autonum")))) { + users << diagram; + } + } + return users; +} + +AutoNumSchemeCommand *AutoNumSchemeCommand::create(QETProject *project, Kind kind, + const QString &title, + const NumerotationContext &context, + bool make_current) +{ + if (!project || !nameProblem(project, kind, title).isEmpty()) { + return nullptr; + } + auto *cmd = new AutoNumSchemeCommand(project, kind); + cmd->m_after = Scheme{QETProject::normalizedAutoNumName(title), context}; + cmd->m_current_before = project->conductorCurrentAutoNum(); + cmd->m_current_after = (kind == Kind::Conductor && make_current) + ? cmd->m_after->title + : cmd->m_current_before; + cmd->setText(tr("Créer la numérotation %1").arg(cmd->m_after->title)); + return cmd; +} + +/** + Rename the scheme @p old_title to @p new_title and give it @p context. + @param make_current : for conductors, make it the scheme new conductors + take; otherwise it stays so if it was + @return nullptr if there is no such scheme, the new name is not + acceptable, or nothing changes +*/ +AutoNumSchemeCommand *AutoNumSchemeCommand::edit(QETProject *project, Kind kind, + const QString &old_title, + const QString &new_title, + const NumerotationContext &context, + bool make_current) +{ + if (!project || !contains(project, kind, old_title)) { + return nullptr; + } + if (!nameProblem(project, kind, new_title, old_title).isEmpty()) { + return nullptr; + } + + auto *cmd = new AutoNumSchemeCommand(project, kind); + cmd->m_before = Scheme{old_title, contextOf(project, kind, old_title)}; + cmd->m_after = Scheme{QETProject::normalizedAutoNumName(new_title), context}; + cmd->m_current_before = project->conductorCurrentAutoNum(); + cmd->m_current_after = kind == Kind::Conductor + ? ((make_current || cmd->m_current_before == old_title) + ? cmd->m_after->title : cmd->m_current_before) + : cmd->m_current_before; + if (cmd->m_before->title != cmd->m_after->title) { + cmd->m_users = [&] { + QList> list; + for (Diagram *d : usersOf(project, kind, old_title, true)) list << d; + return list; + }(); + } + + bool same_definition = cmd->m_before->context.size() == cmd->m_after->context.size(); + for (int i = 0 ; same_definition && i < cmd->m_before->context.size() ; ++i) { + same_definition = cmd->m_before->context[i] == cmd->m_after->context[i]; + } + if (cmd->m_before->title == cmd->m_after->title && same_definition + && cmd->m_current_before == cmd->m_current_after) { + delete cmd; + return nullptr; + } + if (cmd->m_before->title != cmd->m_after->title && same_definition) { + cmd->setText(tr("Renommer la numérotation %1 en %2") + .arg(cmd->m_before->title, cmd->m_after->title)); + } else { + cmd->setText(tr("Modifier la numérotation %1").arg(cmd->m_after->title)); + } + return cmd; +} + +/** + Remove the scheme @p title. + @return nullptr if there is no such scheme or a folio still follows it +*/ +AutoNumSchemeCommand *AutoNumSchemeCommand::remove(QETProject *project, Kind kind, + const QString &title) +{ + if (!project || !contains(project, kind, title)) { + return nullptr; + } + if (!usersOf(project, kind, title).isEmpty()) { + return nullptr; + } + auto *cmd = new AutoNumSchemeCommand(project, kind); + cmd->m_before = Scheme{title, contextOf(project, kind, title)}; + cmd->m_current_before = project->conductorCurrentAutoNum(); + cmd->m_current_after = (kind == Kind::Conductor && cmd->m_current_before == title) + ? QString() : cmd->m_current_before; + cmd->setText(tr("Supprimer la numérotation %1").arg(title)); + return cmd; +} + +/// Let the windows which list the schemes read them again +void AutoNumSchemeCommand::announce(bool added, bool removed) +{ + if (m_kind == Kind::Conductor) { + if (removed) m_project->conductorAutoNumRemoved(); + if (added) m_project->conductorAutoNumAdded(); + } else { + if (removed) m_project->folioAutoNumRemoved(); + if (added) m_project->folioAutoNumAdded(); + } +} + +/// Give the scheme @p from the title @p to, and the folios which follow it +void AutoNumSchemeCommand::rename(const QString &from, const QString &to) +{ + const NumerotationContext context = contextOf(m_project, m_kind, from); + if (m_kind == Kind::Conductor) { + m_project->removeConductorAutoNum(from); + m_project->addConductorAutoNum(to, context); + if (m_project->conductorCurrentAutoNum() == from) { + m_project->setCurrentConductorAutoNum(to); + } + for (Diagram *d : m_project->diagrams()) { + //The highest folio number given, kept by scheme title + for (auto *hash : {&d->m_cnd_unitfolio_max, &d->m_cnd_tenfolio_max, &d->m_cnd_hundredfolio_max}) { + if (hash->contains(from)) { + hash->insert(to, hash->take(from)); + } + } + } + } else { + m_project->removeFolioAutoNum(from); + m_project->addFolioAutoNum(to, context); + } + for (const QPointer &d : std::as_const(m_users)) { + if (!d) continue; + if (m_kind == Kind::Conductor) { + d->setConductorsAutonumName(to); + } else { + d->border_and_titleblock.setAutoPageNum(to); + } + } +} + +void AutoNumSchemeCommand::redo() +{ + if (!m_project) return; + + if (m_before && m_after && m_before->title != m_after->title) { + rename(m_before->title, m_after->title); + } else if (m_before && !m_after) { + if (m_kind == Kind::Conductor) m_project->removeConductorAutoNum(m_before->title); + else m_project->removeFolioAutoNum(m_before->title); + } + if (m_after) { + if (m_kind == Kind::Conductor) m_project->addConductorAutoNum(m_after->title, m_after->context); + else m_project->addFolioAutoNum(m_after->title, m_after->context); + } + if (m_kind == Kind::Conductor) { + m_project->setCurrentConductorAutoNum(m_current_after); + } + announce(m_after.has_value(), m_before.has_value() && (!m_after || m_after->title != m_before->title)); +} + +void AutoNumSchemeCommand::undo() +{ + if (!m_project) return; + + if (m_before && m_after && m_before->title != m_after->title) { + rename(m_after->title, m_before->title); + } else if (!m_before && m_after) { + if (m_kind == Kind::Conductor) m_project->removeConductorAutoNum(m_after->title); + else m_project->removeFolioAutoNum(m_after->title); + } + if (m_before) { + if (m_kind == Kind::Conductor) m_project->addConductorAutoNum(m_before->title, m_before->context); + else m_project->addFolioAutoNum(m_before->title, m_before->context); + } + if (m_kind == Kind::Conductor) { + m_project->setCurrentConductorAutoNum(m_current_before); + } + announce(m_before.has_value(), m_after.has_value() && (!m_before || m_after->title != m_before->title)); +} diff --git a/sources/autoNum/autonumschemecommand.h b/sources/autoNum/autonumschemecommand.h new file mode 100644 index 000000000..52167859f --- /dev/null +++ b/sources/autoNum/autonumschemecommand.h @@ -0,0 +1,111 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef AUTONUMSCHEMECOMMAND_H +#define AUTONUMSCHEMECOMMAND_H + +#include "numerotationcontext.h" + +#include +#include +#include +#include + +#include + +class Diagram; +class QETProject; + +/** + @brief The AutoNumSchemeCommand class + Undoable creation, edition (rename and/or new definition) and removal of + one conductor or folio numbering scheme of a project. + + A folio refers to the scheme it follows by its title, as the project file + has always had it (the title of the conductor numbering a folio reads, + the title of the folio numbering its title block follows). So a rename + moves those references with it, in the same undo step, and a scheme which + a folio still follows cannot be removed: the folio would be left reading + a numbering which does not exist. + + A folio numbering is applied once: the number is written into the folio + field of the title block, in place of %autonum, and the title block keeps + the name of the numbering it came from. So a folio really depends on a + folio numbering only while its folio field still holds %autonum, and + only then can the numbering not be removed; every title block which + names it has its name moved by a rename. + + Conductors keep the formula they were numbered with, and the numbers + folios show are worked out from the scheme when they are drawn: a new + definition changes what is numbered from then on, nothing is renumbered. + + Counter changes made by numbering something are not edits of the scheme + and do not come here. +*/ +class AutoNumSchemeCommand : public QUndoCommand +{ + Q_DECLARE_TR_FUNCTIONS(AutoNumSchemeCommand) + + public: + enum class Kind { Conductor, Folio }; + + struct Scheme + { + QString title; + NumerotationContext context; + }; + + static QStringList titles(const QETProject *project, Kind kind); + static bool contains(const QETProject *project, Kind kind, const QString &title); + static NumerotationContext contextOf(const QETProject *project, Kind kind, const QString &title); + static QString nameClash(const QETProject *project, Kind kind, + const QString &name, const QString &ignored_title = QString()); + static QString nameProblem(const QETProject *project, Kind kind, + const QString &name, const QString &ignored_title = QString()); + static QList usersOf(const QETProject *project, Kind kind, + const QString &title, bool references = false); + + static AutoNumSchemeCommand *create(QETProject *project, Kind kind, + const QString &title, + const NumerotationContext &context, + bool make_current = false); + static AutoNumSchemeCommand *edit(QETProject *project, Kind kind, + const QString &old_title, + const QString &new_title, + const NumerotationContext &context, + bool make_current = false); + static AutoNumSchemeCommand *remove(QETProject *project, Kind kind, + const QString &title); + + void undo() override; + void redo() override; + + private: + AutoNumSchemeCommand(QETProject *project, Kind kind); + void rename(const QString &from, const QString &to); + void announce(bool added, bool removed); + + QETProject *m_project = nullptr; + Kind m_kind; + std::optional m_before; + std::optional m_after; + QString m_current_before; + QString m_current_after; + QList> m_users; ///< the folios which follow the scheme being renamed +}; + +#endif // AUTONUMSCHEMECOMMAND_H diff --git a/sources/autoNum/elementautonumschemecommand.cpp b/sources/autoNum/elementautonumschemecommand.cpp new file mode 100644 index 000000000..11a4dd1a3 --- /dev/null +++ b/sources/autoNum/elementautonumschemecommand.cpp @@ -0,0 +1,1291 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "elementautonumschemecommand.h" + +#include "assignvariables.h" +#include "numerotationcontextcommands.h" +#include "../diagram.h" +#include "../qetgraphicsitem/element.h" +#include "../qetinformation.h" +#include "../qetproject.h" + +#include + +#include +#include + +namespace { +bool sameContext(const NumerotationContext &a, const NumerotationContext &b) +{ + if (a.size() != b.size()) return false; + for (int i = 0; i < a.size(); ++i) { + if (a[i] != b[i]) return false; + } + return true; +} +} // namespace + +ElementAutoNumSchemeCommand::ElementAutoNumSchemeCommand(QETProject *project) : + m_project(project) +{} + +/** + @brief ElementAutoNumSchemeCommand::nameProblem + @return why @p name cannot be the name of an element numbering scheme + of @p project, translated, or an empty string if it can + @param ignored_title : the scheme being renamed, if any +*/ +QString ElementAutoNumSchemeCommand::nameProblem(const QETProject *project, + const QString &name, + const QString &ignored_title) +{ + if (QETProject::normalizedAutoNumName(name).isEmpty()) { + return tr("Le nom de la numérotation ne peut pas être vide."); + } + if (!project) { + return QString(); + } + const QString clash = project->elementAutoNumNameClash(name, ignored_title); + if (!clash.isEmpty()) { + return tr("Une numérotation nommée « %1 » existe déjà.").arg(clash); + } + return QString(); +} + +/** + @brief ElementAutoNumSchemeCommand::sameSequentialParts + @return true if both formulas use the same sequential numbers + (%sequ_1, %seqtf_2...), so the numbers an element holds for one still + fit the other +*/ +bool ElementAutoNumSchemeCommand::sameSequentialParts(const QString &formula_a, + const QString &formula_b) +{ + static const QRegularExpression rx(QStringLiteral("%seq[a-z]+_\\d+")); + const auto tokens = [](const QString &formula) { + QStringList list; + auto it = rx.globalMatch(formula); + while (it.hasNext()) { + list << it.next().captured(0); + } + list.sort(); + list.removeDuplicates(); + return list; + }; + return tokens(formula_a) == tokens(formula_b); +} + +/** + @brief ElementAutoNumSchemeCommand::resetForRenumber + @return @p context with every number part set back to 1, the other + parts unchanged, to number elements again from the start +*/ +NumerotationContext ElementAutoNumSchemeCommand::resetForRenumber(const NumerotationContext &context) +{ + NumerotationContext out = context; + for (int i = 0; i < out.size(); ++i) { + const QStringList parts = out.itemAt(i); + if (parts.isEmpty()) continue; + if (out.keyIsNumber(parts.at(0))) { + out.replaceValue(i, QStringLiteral("1")); + } + } + return out; +} + +/** + @brief ElementAutoNumSchemeCommand::frozenFollowers + @return the elements with a frozen label which follow the element + numbering scheme @p title +*/ +QVector ElementAutoNumSchemeCommand::frozenFollowers( + const QETProject *project, + const QString &title) +{ + QVector list; + if (!project) { + return list; + } + const auto followers = project->elementsUsingElementAutoNum(title); + for (Element *el : followers) { + if (el->isFreezeLabel()) { + list << el; + } + } + return list; +} + +/** + @brief ElementAutoNumSchemeCommand::editBlockedBy + @return the elements with a frozen label which stop the element + numbering scheme @p title from being given the definition @p context: + none when its formula stays the same (a rename, a change of the + counter), otherwise every frozen follower +*/ +QVector ElementAutoNumSchemeCommand::editBlockedBy( + const QETProject *project, + const QString &title, + const NumerotationContext &context) +{ + if (!project || !project->elementAutoNum().contains(title)) { + return {}; + } + if (project->elementAutoNumFormula(title) + == autonum::numerotationContextToFormula(context)) { + return {}; + } + return frozenFollowers(project, title); +} + +/** + @brief ElementAutoNumSchemeCommand::renumberChanges + Number @p elements again, in folio and position order, with @p context + started from 1, and give them @p formula. + @param hash_key : key of the scheme in the folios' maxima of folio + sequential numbers (its title) + @param final_context : if not null, receives the context after the + last element, to store as the scheme's counter + @return one change per element +*/ +QVector ElementAutoNumSchemeCommand::renumberChanges( + const QString &hash_key, + const NumerotationContext &context, + QVector elements, + const QString &formula, + NumerotationContext *final_context, + bool from_start, + const QUuid &scheme_id, + const QSet &reserved) +{ + QVector changes; + std::sort(elements.begin(), elements.end(), + [](Element *a, Element *b){ return comparPos(a, b); }); + + NumerotationContext nc = from_start ? resetForRenumber(context) : context; + for (Element *el : std::as_const(elements)) + { + RenumberElementsCommand::ElementChange ch; + ch.element = el; + ch.old_infos = el->elementInformations(); + ch.old_seq = el->sequenceStruct(); + ch.old_frozen = el->isFreezeLabel(); + ch.new_frozen = ch.old_frozen; + + //The next number which does not give the element a label an + //element left as it is already has. A numbering whose number + //parts cannot move on (fixed text only) has nothing to skip + //to: it keeps its label. + autonum::sequentialNumbers new_seq; + QString label; + for (int attempt = 0 ; ; ++attempt) + { + new_seq = autonum::sequentialNumbers(); + autonum::setSequential(formula, new_seq, nc, el->diagram(), hash_key); + label = autonum::AssignVariables::formulaToLabel( + formula, new_seq, el->diagram(), el, nullptr); + if (label.isEmpty() || !reserved.contains(label) || attempt >= 100000) { + break; + } + NumerotationContextCommands skip(nc); + const NumerotationContext advanced = skip.next(); + if (sameContext(advanced, nc)) { + break; + } + nc = advanced; + } + + DiagramContext new_infos = ch.old_infos; + new_infos.addValue(QETInformation::ELMT_FORMULA, formula); + if (!scheme_id.isNull()) { + new_infos.addValue(QETInformation::ELMT_FORMULA_ID, + scheme_id.toString(), false); + } + new_infos.addValue(QETInformation::ELMT_LABEL, label); + ch.new_infos = new_infos; + ch.new_seq = new_seq; + changes << ch; + + NumerotationContextCommands ncc(nc); + nc = ncc.next(); + } + if (final_context) { + *final_context = nc; + } + return changes; +} + +/** + @brief ElementAutoNumSchemeCommand::reservedLabels + @return the labels the elements following the scheme @p title keep + while @p changing change: numbers an operation on @p changing must not + give again, or two elements would carry the same label +*/ +QSet ElementAutoNumSchemeCommand::reservedLabels( + const QETProject *project, + const QString &title, + const QVector &changing) +{ + QSet labels; + if (!project) { + return labels; + } + const QSet moving(changing.constBegin(), changing.constEnd()); + const auto followers = project->elementsUsingElementAutoNum(title); + for (const Element *el : followers) + { + if (moving.contains(el) + || el->linkType() == Element::Slave + || (el->linkType() & Element::AllReport)) { + continue; + } + const QString label = el->elementInformations().value(QETInformation::ELMT_LABEL).toString(); + if (!label.isEmpty()) { + labels << label; + } + } + return labels; +} + +/** + @brief ElementAutoNumSchemeCommand::renumber + Number again, from the first number, the elements following the + element numbering scheme @p title, or every scheme if @p title is + empty, in folio and position order. One undo step. + + An element whose label is frozen is left as it is, and its label is not + given to another element: the numbering goes past it. + @param frozen : if not null, receives the elements left as they are + because their label is frozen + @param text : caption of the undo step + @return the command, nullptr if there is nothing to number +*/ +RenumberElementsCommand *ElementAutoNumSchemeCommand::renumber( + QETProject *project, + const QString &title, + QVector *frozen, + const QString &text) +{ + if (frozen) frozen->clear(); + if (!project || project->isReadOnly()) { + return nullptr; + } + + QVector changes; + QHash old_ctx; + QHash new_ctx; + + QStringList titles = title.isEmpty() ? QStringList(project->elementAutoNum().keys()) + : QStringList{title}; + titles.sort(Qt::CaseInsensitive); + for (const QString &key : std::as_const(titles)) + { + if (!project->elementAutoNum().contains(key)) { + continue; + } + + QVector elements; + const auto followers = project->elementsUsingElementAutoNum(key); + for (Element *el : followers) + { + if (el->linkType() == Element::Slave || (el->linkType() & Element::AllReport)) { + continue; + } + if (el->isFreezeLabel()) { + if (frozen) *frozen << el; + continue; + } + elements << el; + } + if (elements.isEmpty()) { + continue; + } + + const NumerotationContext tmpl = project->elementAutoNum(key); + NumerotationContext final_ctx; + changes << renumberChanges(key, tmpl, elements, + autonum::numerotationContextToFormula(tmpl), + &final_ctx, true, QUuid(), + reservedLabels(project, key, elements)); + old_ctx.insert(key, tmpl); + new_ctx.insert(key, final_ctx); + } + if (changes.isEmpty()) { + return nullptr; + } + return new RenumberElementsCommand(project, changes, old_ctx, new_ctx, text); +} + +/** + @brief ElementAutoNumSchemeCommand::numberSupport + Giving an element a number by hand makes sense when the numbers of a + scheme are one sequence: a definition with exactly one number part, a + "unit", "ten" or "hundred" (a folio number, a cycle or letters would make + "which number is free" depend on more than one value). +*/ +ElementAutoNumSchemeCommand::NumberSupport ElementAutoNumSchemeCommand::numberSupport( + const NumerotationContext &context) +{ + NumberSupport support; + int numbers = 0; + for (int i = 0 ; i < context.size() ; ++i) + { + const QStringList part = context.itemAt(i); + const QString type = part.value(0); + if (type == QLatin1String("unit") || type == QLatin1String("ten") + || type == QLatin1String("hundred")) { + ++numbers; + support.partIndex = i; + support.type = type; + support.increase = std::max(1, part.value(2).toInt()); + } else if (type == QLatin1String("unitfolio") || type == QLatin1String("tenfolio") + || type == QLatin1String("hundredfolio") || type == QLatin1String("alpha") + || type == QLatin1String("wrap")) { + return NumberSupport(); + } + } + support.supported = numbers == 1; + if (!support.supported) { + return NumberSupport(); + } + return support; +} + +/// @return the number @p element was given by the scheme, if it knows it +std::optional ElementAutoNumSchemeCommand::numberOf(const NumberSupport &support, + const Element *element) +{ + if (!support.supported || !element) { + return std::nullopt; + } + const autonum::sequentialNumbers seq = element->sequenceStruct(); + const QStringList &list = support.type == QLatin1String("unit") ? seq.unit + : support.type == QLatin1String("ten") ? seq.ten + : seq.hundred; + bool ok = false; + const int number = list.value(0).toInt(&ok); + if (!ok) { + return std::nullopt; + } + return number; +} + +namespace { +/// The elements of @p project which follow the scheme @p title and are not slaves or reports +QVector numberedFollowers(const QETProject *project, const QString &title) +{ + QVector list; + const auto followers = project->elementsUsingElementAutoNum(title); + for (Element *el : followers) { + if (el->linkType() != Element::Slave && !(el->linkType() & Element::AllReport)) { + list << el; + } + } + return list; +} +} // namespace + +/** + @brief ElementAutoNumSchemeCommand::labelsHeldBesides + @return the labels the elements of @p project carry, @p element apart: + those a number given to @p element must not turn into +*/ +QSet ElementAutoNumSchemeCommand::labelsHeldBesides(const QETProject *project, + const Element *element) +{ + QSet labels; + if (!project) { + return labels; + } + for (Diagram *d : project->diagrams()) { + for (QGraphicsItem *item : d->items()) { + if (auto *el = qgraphicsitem_cast(item)) { + if (el != element) { + labels << el->elementInformations().value(QETInformation::ELMT_LABEL).toString(); + } + } + } + } + labels.remove(QString()); + return labels; +} + +/** + @brief ElementAutoNumSchemeCommand::counterConflict + Giving the numbering @p title the counter of @p proposed, with the same + formula it has, makes its next element meet numbers in use when elements + of the numbering have a number of at least that counter. Those numbers + are skipped when the element is placed, but the next number is not the + one asked for, which is worth telling. + @return what the counter would meet, nothing if the counter does not + change, the formula does, or the numbers are not a single sequence +*/ +std::optional ElementAutoNumSchemeCommand::counterConflict( + const QETProject *project, const QString &title, const NumerotationContext &proposed) +{ + if (!project || !project->elementAutoNum().contains(title)) { + return std::nullopt; + } + const NumerotationContext stored = project->elementAutoNum().value(title); + const NumberSupport support = numberSupport(stored); + if (!support.supported || proposed.size() != stored.size() + || autonum::numerotationContextToFormula(proposed) != autonum::numerotationContextToFormula(stored)) { + return std::nullopt; + } + const int counter = proposed.itemAt(support.partIndex).value(1).toInt(); + if (counter == stored.itemAt(support.partIndex).value(1).toInt()) { + return std::nullopt; + } + + CounterConflict conflict; + conflict.counter = counter; + for (const Element *el : numberedFollowers(project, title)) { + if (const auto number = numberOf(support, el)) { + if (*number >= counter) { + ++conflict.count; + conflict.highest = std::max(conflict.highest, *number); + } + } + } + if (!conflict.count) { + return std::nullopt; + } + return conflict; +} + +/** + @brief ElementAutoNumSchemeCommand::gapRanges + @return the numbers between the lowest and the highest which the elements + following the scheme @p title carry, that none of them carries: where an + element was deleted or given another number. Empty for a scheme whose + elements cannot be given a number by hand (see numberSupport()). +*/ +QList ElementAutoNumSchemeCommand::gapRanges( + const QETProject *project, const QString &title) +{ + QList ranges; + if (!project || !project->elementAutoNum().contains(title)) { + return ranges; + } + const NumberSupport support = numberSupport(project->elementAutoNum().value(title)); + if (!support.supported) { + return ranges; + } + QSet used; + for (const Element *el : numberedFollowers(project, title)) { + if (const auto number = numberOf(support, el)) { + used << *number; + } + } + if (used.size() < 2) { + return ranges; + } + const int low = *std::min_element(used.cbegin(), used.cend()); + const int high = *std::max_element(used.cbegin(), used.cend()); + for (int n = low + 1 ; n < high ; ++n) + { + if (used.contains(n)) { + continue; + } + if (!ranges.isEmpty() && ranges.last().to == n - 1) { + ranges.last().to = n; + } else { + ranges << GapRange{n, n}; + } + } + return ranges; +} + +/** + @brief ElementAutoNumSchemeCommand::labelForNumber + @return the label @p element would have with the number @p number of the + scheme @p title, empty if the scheme cannot give a number by hand +*/ +QString ElementAutoNumSchemeCommand::labelForNumber(const QETProject *project, + const QString &title, + Element *element, + int number) +{ + if (!project || !element || !element->diagram() || !project->elementAutoNum().contains(title)) { + return QString(); + } + NumerotationContext context = project->elementAutoNum().value(title); + const NumberSupport support = numberSupport(context); + if (!support.supported) { + return QString(); + } + context.replaceValue(support.partIndex, QString::number(number)); + const QString formula = autonum::numerotationContextToFormula(context); + autonum::sequentialNumbers seq; + autonum::setSequential(formula, seq, context, element->diagram(), title); + return autonum::AssignVariables::formulaToLabel(formula, seq, element->diagram(), element, nullptr); +} + +/** + @brief ElementAutoNumSchemeCommand::freeNumbers + @return the numbers @p element of the scheme @p title may be given by + hand, in order: from 1 to a few past the highest in use or the counter, + those no other element of the scheme carries and which would not give it + the label of any other element. At most @p limit. +*/ +QList ElementAutoNumSchemeCommand::freeNumbers(const QETProject *project, + const QString &title, + const Element *element, + int limit) +{ + QList numbers; + if (!project || !element || !project->elementAutoNum().contains(title)) { + return numbers; + } + const NumerotationContext context = project->elementAutoNum().value(title); + const NumberSupport support = numberSupport(context); + if (!support.supported) { + return numbers; + } + + QSet used; + int highest = context.itemAt(support.partIndex).value(1).toInt(); + for (const Element *el : numberedFollowers(project, title)) { + if (el == element) continue; + if (const auto number = numberOf(support, el)) { + used << *number; + highest = std::max(highest, *number); + } + } + + QSet labels; + for (Diagram *d : project->diagrams()) { + for (QGraphicsItem *item : d->items()) { + if (auto *el = qgraphicsitem_cast(item)) { + if (el != element) { + labels << el->elementInformations().value(QETInformation::ELMT_LABEL).toString(); + } + } + } + } + labels.remove(QString()); + + for (int n = 1 ; n <= highest + 10 && numbers.size() < limit ; ++n) + { + if (used.contains(n)) { + continue; + } + const QString label = labelForNumber(project, title, const_cast(element), n); + if (!label.isEmpty() && labels.contains(label)) { + continue; + } + numbers << n; + } + return numbers; +} + +/** + @brief ElementAutoNumSchemeCommand::assignNumber + Give @p element, which follows an element numbering scheme, the number + @p number of it, which must be free (see freeNumbers()): its label is the + formula worked out with that number and it keeps following the scheme. + When the scheme's counter is at or below @p number it moves to the next + number after it, so that the next element is not given the same label. + One undo step. + @param problem : if not null, receives why nothing is done, translated + @return the command, nullptr if @p number cannot be given +*/ +RenumberElementsCommand *ElementAutoNumSchemeCommand::assignNumber(QETProject *project, + Element *element, + int number, + QString *problem, + QUndoCommand *parent) +{ + const auto fail = [&](const QString &text) -> RenumberElementsCommand * { + if (problem) *problem = text; + return nullptr; + }; + if (!project || !element || !element->diagram()) { + return fail(tr("Cet élément n'est dans aucun folio.")); + } + const DiagramContext info = element->elementInformations(); + const QString title = project->elementAutoNumTitle( + QUuid(info.value(QETInformation::ELMT_FORMULA_ID).toString())); + if (title.isEmpty()) { + return fail(tr("Cet élément ne suit aucune numérotation.")); + } + const NumerotationContext context = project->elementAutoNum().value(title); + const NumberSupport support = numberSupport(context); + if (!support.supported) { + return fail(tr("La numérotation « %1 » n'a pas un seul numéro : on ne peut pas en choisir un à la main.").arg(title)); + } + if (number < 1) { + return fail(tr("Le numéro doit être au moins 1.")); + } + if (!freeNumbers(project, title, element, 100000).contains(number)) { + return fail(tr("Le numéro %1 n'est pas libre.").arg(number)); + } + + const QString formula = autonum::numerotationContextToFormula(context); + NumerotationContext at = context; + at.replaceValue(support.partIndex, QString::number(number)); + autonum::sequentialNumbers seq; + autonum::setSequential(formula, seq, at, element->diagram(), title); + + RenumberElementsCommand::ElementChange change; + change.element = element; + change.old_infos = info; + change.old_seq = element->sequenceStruct(); + change.old_frozen = element->isFreezeLabel(); + change.new_frozen = change.old_frozen; + change.new_infos = info; + change.new_infos.addValue(QETInformation::ELMT_FORMULA, formula); + change.new_infos.addValue(QETInformation::ELMT_FORMULA_ID, + project->elementAutoNumId(title).toString(), false); + change.new_infos.addValue(QETInformation::ELMT_LABEL, + autonum::AssignVariables::formulaToLabel( + formula, seq, element->diagram(), element, nullptr)); + change.new_seq = seq; + + NumerotationContext counter = context; + if (counter.itemAt(support.partIndex).value(1).toInt() <= number) { + counter.replaceValue(support.partIndex, QString::number(number + support.increase)); + } + return new RenumberElementsCommand(project, {change}, + {{title, context}}, {{title, counter}}, + tr("Attribuer le numéro %1").arg(number), parent); +} + +/** + @brief ElementAutoNumSchemeCommand::skipReason + @return why assign() would leave @p element alone, None if it would + give it the scheme @p title +*/ +ElementAutoNumSchemeCommand::Skipped ElementAutoNumSchemeCommand::skipReason( + const QETProject *project, + const QString &title, + const Element *element) +{ + if (!project || !element) { + return Skipped::Linked; + } + if (element->linkType() == Element::Slave + || (element->linkType() & Element::AllReport)) { + return Skipped::Linked; + } + const DiagramContext &info = element->elementInformations(); + const QString formula = info.value(QETInformation::ELMT_FORMULA).toString(); + const QUuid wanted = project->elementAutoNumId(title); + if (!formula.isEmpty()) { + if (!wanted.isNull() + && QUuid(info.value(QETInformation::ELMT_FORMULA_ID).toString()) == wanted) { + return Skipped::FollowsAlready; + } + return Skipped::OtherFormula; + } + if (element->isFreezeLabel()) { + return Skipped::Frozen; + } + return Skipped::None; +} + +/** + @brief ElementAutoNumSchemeCommand::assignPlan + Sort @p elements by what assign() would do with them. A frozen label + is told apart from a formula held already: both are left alone unless + the user agrees to replace them. +*/ +ElementAutoNumSchemeCommand::AssignPlan ElementAutoNumSchemeCommand::assignPlan( + const QETProject *project, + const QString &title, + const QVector &elements) +{ + AssignPlan plan; + for (Element *el : elements) + { + switch (skipReason(project, title, el)) { + case Skipped::None: + plan.todo << el; + break; + case Skipped::Frozen: + plan.frozen << el; + break; + case Skipped::OtherFormula: + plan.otherFormula << el; + break; + case Skipped::FollowsAlready: + ++plan.followsAlready; + break; + case Skipped::Linked: + ++plan.linked; + break; + } + } + return plan; +} + +/** + @brief ElementAutoNumSchemeCommand::numberElements + Give every one of @p elements (a slave or a report excepted) the + element numbering scheme @p title: its formula and the next number of + the scheme, in folio and position order, the scheme's counter moving + on. The numbering goes past the labels the other elements which follow + the scheme keep. One undo step. + @param freeze : what the frozen state of the elements becomes + @param parent : parent undo command, if the numbering is a part of one + @return the command, nullptr if there is nothing to number +*/ +RenumberElementsCommand *ElementAutoNumSchemeCommand::numberElements( + QETProject *project, + const QString &title, + const QVector &elements, + const QString &text, + FreezeRule freeze, + QUndoCommand *parent) +{ + if (!project || !project->elementAutoNum().contains(title)) { + return nullptr; + } + QVector todo; + for (Element *el : elements) { + if (el && el->linkType() != Element::Slave && !(el->linkType() & Element::AllReport)) { + todo << el; + } + } + if (todo.isEmpty()) { + return nullptr; + } + + const NumerotationContext context = project->elementAutoNum().value(title); + NumerotationContext final_context; + QVector changes = renumberChanges( + title, context, todo, + autonum::numerotationContextToFormula(context), + &final_context, false, project->elementAutoNumId(title), + reservedLabels(project, title, todo)); + for (auto &change : changes) { + change.new_frozen = freeze == FreezeRule::NewElementPolicy + && change.element && change.element->diagram() + && (change.element->diagram()->freezeNewElements() + || project->isFreezeNewElements()); + } + + return new RenumberElementsCommand( + project, changes, + {{title, context}}, {{title, final_context}}, + text, parent); +} + +/** + @brief ElementAutoNumSchemeCommand::assign + Make @p elements follow the element numbering scheme @p title: each + takes its formula and the next number of the scheme, in folio and + position order, and the scheme's counter moves on. One undo step. + + An element is left alone (see assignPlan()) when it follows the scheme + already, is a slave or a report, or when something would be lost: a + frozen label, or a formula it follows or holds already, unless + @p overwrite. An element with a label typed by hand and no formula is + given the scheme; its label is replaced by the number. + @param skipped : if not null, receives how many elements were left alone + @return the command, nullptr if there is nothing to give +*/ +RenumberElementsCommand *ElementAutoNumSchemeCommand::assign( + QETProject *project, + const QString &title, + const QVector &elements, + bool overwrite, + int *skipped, + QUndoCommand *parent) +{ + if (skipped) *skipped = 0; + if (!project || !project->elementAutoNum().contains(title)) { + return nullptr; + } + + const AssignPlan plan = assignPlan(project, title, elements); + QVector todo = plan.todo; + int left = plan.followsAlready + plan.linked; + if (overwrite) { + todo += plan.frozen; + todo += plan.otherFormula; + } else { + left += plan.frozen.size() + plan.otherFormula.size(); + } + if (skipped) *skipped = left; + if (todo.isEmpty()) { + return nullptr; + } + return numberElements(project, title, todo, + tr("Appliquer la numérotation %1").arg(title), + FreezeRule::Unfrozen, parent); +} + +/** + @brief ElementAutoNumSchemeCommand::schemeForFormula + @return the title of the element numbering scheme of @p project which + gives @p formula, empty if there is none. When several schemes have the + same formula (the same parts, other counters), the project's current one + if it is among them, otherwise the first by name: the label is worked + out afresh in either case, only the counter which goes on differs. +*/ +QString ElementAutoNumSchemeCommand::schemeForFormula(const QETProject *project, + const QString &formula) +{ + if (!project || formula.isEmpty()) { + return QString(); + } + QStringList matches; + const auto titles = project->elementAutoNum().keys(); + for (const QString &title : titles) { + if (project->elementAutoNumFormula(title) == formula) { + matches << title; + } + } + if (matches.isEmpty()) { + return QString(); + } + if (matches.contains(project->elementCurrentAutoNum())) { + return project->elementCurrentAutoNum(); + } + matches.sort(Qt::CaseInsensitive); + return matches.first(); +} + +/** + @brief ElementAutoNumSchemeCommand::followedScheme + @return the title of the scheme of @p project which an element with the + information @p info follows, empty if none. + + The id names it, but only counts when the scheme has the formula the + element has: an id which comes from another project (a copy of the + project edited since, two projects which both have a numbering of the + same name...) may name a scheme here which is not the same numbering. +*/ +QString ElementAutoNumSchemeCommand::followedScheme(const QETProject *project, + const DiagramContext &info) +{ + if (!project) { + return QString(); + } + const QString title = project->elementAutoNumTitle( + QUuid(info.value(QETInformation::ELMT_FORMULA_ID).toString())); + if (title.isEmpty() + || project->elementAutoNumFormula(title) != info.value(QETInformation::ELMT_FORMULA).toString()) { + return QString(); + } + return title; +} + +/** + @brief ElementAutoNumSchemeCommand::writeCopiedSchemes + Add to the copy @p root the definition of every element numbering scheme + of @p project which the @p copied elements follow, so that a paste into + another project, which knows nothing of it, can offer to import it. +*/ +void ElementAutoNumSchemeCommand::writeCopiedSchemes(QDomDocument &document, + QDomElement &root, + const QETProject *project, + const QVector &copied) +{ + if (!project) { + return; + } + QSet done; + QDomElement list; + for (const Element *el : copied) + { + const QUuid id(el->elementInformations().value(QETInformation::ELMT_FORMULA_ID).toString()); + const QString title = project->elementAutoNumTitle(id); + if (title.isEmpty() || done.contains(id)) { + continue; + } + done << id; + if (list.isNull()) { + list = document.createElement(QStringLiteral("copied_element_autonums")); + root.appendChild(list); + } + NumerotationContext context = project->elementAutoNum().value(title); + QDomElement scheme = context.toXml(document, QStringLiteral("element_autonum")); + scheme.setAttribute(QStringLiteral("title"), title); + scheme.setAttribute(QStringLiteral("id"), id.toString()); + scheme.setAttribute(QStringLiteral("formula"), autonum::numerotationContextToFormula(context)); + list.appendChild(scheme); + } +} + +/// @return the numbering schemes a copy carries (see writeCopiedSchemes()) +QList ElementAutoNumSchemeCommand::copiedSchemes( + const QDomElement &root) +{ + QList schemes; + const QDomElement list = root.firstChildElement(QStringLiteral("copied_element_autonums")); + for (QDomElement e = list.firstChildElement(QStringLiteral("element_autonum")); + !e.isNull(); + e = e.nextSiblingElement(QStringLiteral("element_autonum"))) + { + Scheme scheme; + scheme.title = e.attribute(QStringLiteral("title")); + scheme.id = QUuid(e.attribute(QStringLiteral("id"))); + scheme.context.fromXml(e); + if (!scheme.title.isEmpty() && !scheme.id.isNull() && !scheme.context.isEmpty()) { + schemes << scheme; + } + } + return schemes; +} + +/** + @brief ElementAutoNumSchemeCommand::missingForPaste + @return those of the @p copied schemes which the @p pasted elements + follow and which @p project has no use for: it has neither their id nor + a scheme with their formula (see schemeForFormula()), so the pasted + elements would follow no numbering. Slaves and reports follow none. +*/ +QList ElementAutoNumSchemeCommand::missingForPaste( + const QETProject *project, + const QList &copied, + const QList &pasted) +{ + QList missing; + if (!project) { + return missing; + } + QSet followed; + for (const Element *el : pasted) { + if (el->linkType() == Element::Slave || (el->linkType() & Element::AllReport)) { + continue; + } + followed << QUuid(el->elementInformations().value(QETInformation::ELMT_FORMULA_ID).toString()); + } + for (const Scheme &scheme : copied) + { + const QString formula = autonum::numerotationContextToFormula(scheme.context); + const QString by_id = project->elementAutoNumTitle(scheme.id); + //Present: under its id with the same formula, or under another id + //(another name, other project) with the same formula + const bool present = (!by_id.isEmpty() && project->elementAutoNumFormula(by_id) == formula) + || !schemeForFormula(project, formula).isEmpty(); + if (!followed.contains(scheme.id) || present) { + continue; + } + missing << scheme; + } + return missing; +} + +/** + @brief ElementAutoNumSchemeCommand::pastedSchemes + @return the element numbering schemes of @p project which freshly + pasted @p elements follow, by title, each with its elements. + + An element follows a scheme when its formula_id names one, or, when + it names none (the element comes from another project, or from a file + written before the ids), when one has its formula (see + schemeForFormula()). A slave or a report follows none: it takes its + label from its master. +*/ +QMap> ElementAutoNumSchemeCommand::pastedSchemes( + const QETProject *project, + const QList &elements) +{ + QMap> schemes; + if (!project || project->elementAutoNum().isEmpty()) { + return schemes; + } + + for (Element *el : elements) + { + if (!el || el->linkType() == Element::Slave || (el->linkType() & Element::AllReport)) { + continue; + } + const DiagramContext &info = el->elementInformations(); + const QString formula = info.value(QETInformation::ELMT_FORMULA).toString(); + if (formula.isEmpty()) { + continue; + } + QString title = followedScheme(project, info); + if (title.isEmpty()) { + title = schemeForFormula(project, formula); + } + if (!title.isEmpty()) { + schemes[title] << el; + } + } + return schemes; +} + +/** + @brief ElementAutoNumSchemeCommand::linkPasted + Make the formula_id of pasted @p elements name a scheme of @p project, + as QETProject does for the elements of a file it loads: an id which + names one with the element's formula is kept (see followedScheme()); + otherwise the scheme with the element's formula (see schemeForFormula()), + else none. Labels are not touched. +*/ +void ElementAutoNumSchemeCommand::linkPasted(const QETProject *project, + const QList &elements) +{ + if (!project) { + return; + } + for (Element *el : elements) + { + if (!el) continue; + const DiagramContext &info = el->elementInformations(); + const QString formula = info.value(QETInformation::ELMT_FORMULA).toString(); + if (formula.isEmpty()) { + if (info.contains(QETInformation::ELMT_FORMULA_ID)) { + el->setFormulaSchemeId(QUuid()); + } + continue; + } + if (!followedScheme(project, info).isEmpty()) { + continue; + } + const QString title = schemeForFormula(project, formula); + el->setFormulaSchemeId(title.isEmpty() ? QUuid() : project->elementAutoNumId(title)); + } +} + +/** + @brief ElementAutoNumSchemeCommand::numberPasted + Number the pasted elements of @p schemes (see pastedSchemes()) the way + elements placed one after the other are: each scheme gives its next + numbers, in folio and position order, and its counter moves on. One + numbering command per scheme, children of @p parent, which runs them + with its own redo(), so that undoing the paste gives the numbers back. + @return how many elements are numbered +*/ +int ElementAutoNumSchemeCommand::numberPasted( + QETProject *project, + const QMap> &schemes, + QUndoCommand *parent) +{ + int count = 0; + for (auto it = schemes.constBegin() ; it != schemes.constEnd() ; ++it) + { + if (numberElements(project, it.key(), it.value(), + tr("Numéroter les éléments collés (%1)").arg(it.key()), + FreezeRule::NewElementPolicy, parent)) { + count += it.value().size(); + } + } + return count; +} + +/** + @brief ElementAutoNumSchemeCommand::create + A new element numbering scheme. + @param id : its uuid; a new one if null or already used + @param make_current : make it the scheme given to new elements + @return nullptr if @p title is not an acceptable name +*/ +ElementAutoNumSchemeCommand *ElementAutoNumSchemeCommand::create( + QETProject *project, + const QString &title, + const NumerotationContext &context, + const QUuid &id, + bool make_current) +{ + if (!project || !nameProblem(project, title).isEmpty()) { + return nullptr; + } + + auto *cmd = new ElementAutoNumSchemeCommand(project); + Scheme after; + after.title = QETProject::normalizedAutoNumName(title); + after.id = (id.isNull() || !project->elementAutoNumTitle(id).isEmpty()) + ? QUuid::createUuid() + : id; + after.context = context; + cmd->m_after = after; + cmd->m_current_before = project->elementCurrentAutoNum(); + cmd->m_current_after = make_current ? after.title : cmd->m_current_before; + cmd->setText(tr("Créer la numérotation d'éléments %1").arg(after.title)); + return cmd; +} + +/** + @brief ElementAutoNumSchemeCommand::edit + Rename the element numbering scheme @p old_title to @p new_title and + give it @p context. The elements following it follow it still (see + the class description). + @param make_current : make it the scheme given to new elements; if + false, it stays so if it was + @return nullptr if there is no scheme @p old_title, @p new_title is not + an acceptable name, an element with a frozen label follows the scheme + and its formula would change (see editBlockedBy()), or nothing changes +*/ +ElementAutoNumSchemeCommand *ElementAutoNumSchemeCommand::edit( + QETProject *project, + const QString &old_title, + const QString &new_title, + const NumerotationContext &context, + bool make_current) +{ + if (!project || !project->elementAutoNum().contains(old_title)) { + return nullptr; + } + if (!nameProblem(project, new_title, old_title).isEmpty()) { + return nullptr; + } + if (!editBlockedBy(project, old_title, context).isEmpty()) { + return nullptr; + } + + Scheme before; + before.title = old_title; + before.id = project->elementAutoNumId(old_title); + before.context = project->elementAutoNum(old_title); + + Scheme after; + after.title = QETProject::normalizedAutoNumName(new_title); + after.id = before.id; + after.context = context; + + auto *cmd = new ElementAutoNumSchemeCommand(project); + cmd->m_before = before; + cmd->m_current_before = project->elementCurrentAutoNum(); + cmd->m_current_after = (make_current || cmd->m_current_before == old_title) + ? after.title + : cmd->m_current_before; + + const QString old_formula = autonum::numerotationContextToFormula(before.context); + const QString new_formula = autonum::numerotationContextToFormula(after.context); + if (old_formula != new_formula) + { + QVector elements; + const auto followers = project->elementsUsingElementAutoNum(old_title); + for (Element *el : followers) + { + if (el->linkType() == Element::Slave || (el->linkType() & Element::AllReport)) { + continue; + } + elements << el; + } + if (sameSequentialParts(old_formula, new_formula)) + { + for (Element *el : elements) + { + RenumberElementsCommand::ElementChange ch; + ch.element = el; + ch.old_infos = el->elementInformations(); + ch.old_seq = el->sequenceStruct(); + ch.new_seq = ch.old_seq; + ch.old_frozen = el->isFreezeLabel(); + ch.new_frozen = ch.old_frozen; + + autonum::sequentialNumbers seq = ch.old_seq; + ch.new_infos = ch.old_infos; + ch.new_infos.addValue(QETInformation::ELMT_FORMULA, new_formula); + ch.new_infos.addValue(QETInformation::ELMT_LABEL, + autonum::AssignVariables::formulaToLabel( + new_formula, seq, el->diagram(), el, nullptr)); + cmd->m_changes << ch; + } + } + else if (!elements.isEmpty()) + { + cmd->m_changes = renumberChanges(old_title, after.context, + elements, new_formula, + &after.context, true, QUuid(), + reservedLabels(project, old_title, elements)); + } + } + cmd->m_after = after; + + const bool renamed = before.title != after.title; + const bool redefined = !sameContext(before.context, after.context); + if (!renamed && !redefined && cmd->m_changes.isEmpty() + && cmd->m_current_before == cmd->m_current_after) { + delete cmd; + return nullptr; + } + + if (renamed && !redefined) { + cmd->setText(tr("Renommer la numérotation d'éléments %1 en %2") + .arg(before.title, after.title)); + } else { + cmd->setText(tr("Modifier la numérotation d'éléments %1").arg(after.title)); + } + return cmd; +} + +/** + @brief ElementAutoNumSchemeCommand::remove + Remove the element numbering scheme @p title. + @return nullptr if there is no such scheme or elements still follow + it: removing it would leave them with a formula nothing defines +*/ +ElementAutoNumSchemeCommand *ElementAutoNumSchemeCommand::remove( + QETProject *project, + const QString &title) +{ + if (!project || !project->elementAutoNum().contains(title)) { + return nullptr; + } + if (!project->elementsUsingElementAutoNum(title).isEmpty()) { + return nullptr; + } + + auto *cmd = new ElementAutoNumSchemeCommand(project); + Scheme before; + before.title = title; + before.id = project->elementAutoNumId(title); + before.context = project->elementAutoNum(title); + cmd->m_before = before; + cmd->m_current_before = project->elementCurrentAutoNum(); + cmd->m_current_after = cmd->m_current_before == title + ? QString() + : cmd->m_current_before; + cmd->setText(tr("Supprimer la numérotation d'éléments %1").arg(title)); + return cmd; +} + +void ElementAutoNumSchemeCommand::redo() +{ + if (!m_project) return; + + if (m_before && m_after) { + m_project->renameElementAutoNum(m_before->title, m_after->title); + } else if (m_before) { + m_project->removeElementAutoNum(m_before->title); + } + if (m_after) { + m_project->addElementAutoNum(m_after->title, m_after->context, m_after->id); + } + m_project->setCurrrentElementAutonum(m_current_after); + + for (const auto &change : std::as_const(m_changes)) { + RenumberElementsCommand::applyChange(change, true); + } +} + +void ElementAutoNumSchemeCommand::undo() +{ + if (!m_project) return; + + for (const auto &change : std::as_const(m_changes)) { + RenumberElementsCommand::applyChange(change, false); + } + + if (m_before && m_after) { + m_project->renameElementAutoNum(m_after->title, m_before->title); + } else if (m_after) { + m_project->removeElementAutoNum(m_after->title); + } + if (m_before) { + m_project->addElementAutoNum(m_before->title, m_before->context, m_before->id); + } + m_project->setCurrrentElementAutonum(m_current_before); +} diff --git a/sources/autoNum/elementautonumschemecommand.h b/sources/autoNum/elementautonumschemecommand.h new file mode 100644 index 000000000..c0a69838c --- /dev/null +++ b/sources/autoNum/elementautonumschemecommand.h @@ -0,0 +1,244 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef ELEMENTAUTONUMSCHEMECOMMAND_H +#define ELEMENTAUTONUMSCHEMECOMMAND_H + +#include "numerotationcontext.h" +#include "renumberelementscommand.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +class Element; +class QETProject; + +/** + @brief The ElementAutoNumSchemeCommand class + Undoable creation, edition (rename and/or new definition) and removal + of one element numbering scheme of a project, together with what it + does to the elements following the scheme. + + Elements follow a scheme by its uuid (QETInformation::ELMT_FORMULA_ID), + so a rename touches no element. A new definition with a different + formula rewrites the formula of every element following the scheme: + when its sequential parts are the same (only the fixed text or the + folio parts changed), each element keeps its numbers; otherwise the + elements are numbered again, in folio and position order, as + QETProject::renumberElementsBySchemeTitle() does. + + A scheme whose formula would change cannot be edited while an element + with a frozen label follows it: that element would keep a label and a + formula the scheme no longer defines (see editBlockedBy(); edit() + refuses). A rename, or a change of the counter, touches no formula and + is allowed. renumber() leaves a frozen element exactly as it is, + label, formula and numbers, and does not give its label to another + element: the numbering goes past it (see reservedLabels()). + + Counter changes made by placing elements are not edits of the scheme: + they stay with SetAutoNumContextCommand. + + Build one with create(), edit() or remove(); each returns nullptr when + the change is refused or changes nothing. Show changedElementCount() + to the user before pushing it when it is not zero. +*/ +class ElementAutoNumSchemeCommand : public QUndoCommand +{ + Q_DECLARE_TR_FUNCTIONS(ElementAutoNumSchemeCommand) + + public: + struct Scheme + { + QString title; + QUuid id; + NumerotationContext context; + }; + + static ElementAutoNumSchemeCommand *create( + QETProject *project, + const QString &title, + const NumerotationContext &context, + const QUuid &id = QUuid(), + bool make_current = true); + static ElementAutoNumSchemeCommand *edit( + QETProject *project, + const QString &old_title, + const QString &new_title, + const NumerotationContext &context, + bool make_current = true); + static ElementAutoNumSchemeCommand *remove( + QETProject *project, + const QString &title); + + static QString nameProblem(const QETProject *project, + const QString &name, + const QString &ignored_title = QString()); + static bool sameSequentialParts(const QString &formula_a, + const QString &formula_b); + static NumerotationContext resetForRenumber(const NumerotationContext &context); + static QVector renumberChanges( + const QString &hash_key, + const NumerotationContext &context, + QVector elements, + const QString &formula, + NumerotationContext *final_context, + bool from_start = true, + const QUuid &scheme_id = QUuid(), + const QSet &reserved = QSet()); + static QSet reservedLabels(const QETProject *project, + const QString &title, + const QVector &changing); + static RenumberElementsCommand *renumber(QETProject *project, + const QString &title, + QVector *frozen, + const QString &text); + static QVector frozenFollowers(const QETProject *project, + const QString &title); + static QVector editBlockedBy(const QETProject *project, + const QString &title, + const NumerotationContext &context); + + /// Why assign() leaves an element as it is + enum class Skipped { + None, + FollowsAlready, ///< already follows this scheme + Frozen, ///< its label is frozen + OtherFormula, ///< follows another scheme or has a formula of its own + Linked ///< slave or report: takes its label from its master + }; + static Skipped skipReason(const QETProject *project, + const QString &title, + const Element *element); + /// What assign() would do with each of the given elements + struct AssignPlan + { + QVector todo; ///< given the scheme + QVector frozen; ///< a frozen label: left alone unless overwrite + QVector otherFormula; ///< follow or hold another formula: left alone unless overwrite + int followsAlready = 0; ///< follow this scheme already + int linked = 0; ///< slave or report: take their label from their master + }; + static AssignPlan assignPlan(const QETProject *project, + const QString &title, + const QVector &elements); + static RenumberElementsCommand *assign( + QETProject *project, + const QString &title, + const QVector &elements, + bool overwrite, + int *skipped = nullptr, + QUndoCommand *parent = nullptr); + + /// What a numbered element's frozen state becomes + enum class FreezeRule { + Unfrozen, ///< free: the user asked for this numbering + NewElementPolicy ///< as an element just placed: frozen if the folio or project freezes new ones + }; + static RenumberElementsCommand *numberElements( + QETProject *project, + const QString &title, + const QVector &elements, + const QString &text, + FreezeRule freeze = FreezeRule::Unfrozen, + QUndoCommand *parent = nullptr); + + static QString schemeForFormula(const QETProject *project, const QString &formula); + static QString followedScheme(const QETProject *project, const DiagramContext &info); + static void writeCopiedSchemes(QDomDocument &document, + QDomElement &root, + const QETProject *project, + const QVector &copied); + static QList copiedSchemes(const QDomElement &root); + static QList missingForPaste(const QETProject *project, + const QList &copied, + const QList &pasted); + /// How the elements of a scheme are numbered by hand (see numberSupport()) + struct NumberSupport + { + bool supported = false; + int partIndex = -1; ///< the one number part of the definition + QString type; ///< "unit", "ten" or "hundred" + int increase = 1; + }; + struct GapRange + { + int from = 0; + int to = 0; + }; + /// A counter which would meet numbers already in use + struct CounterConflict + { + int counter = 0; ///< the next number it would hand out + int highest = 0; ///< the highest number in use + int count = 0; ///< how many elements have a number of at least counter + }; + static std::optional counterConflict(const QETProject *project, + const QString &title, + const NumerotationContext &proposed); + static QSet labelsHeldBesides(const QETProject *project, const Element *element); + static NumberSupport numberSupport(const NumerotationContext &context); + static std::optional numberOf(const NumberSupport &support, const Element *element); + static QList gapRanges(const QETProject *project, const QString &title); + static QList freeNumbers(const QETProject *project, const QString &title, + const Element *element, int limit = 500); + static QString labelForNumber(const QETProject *project, const QString &title, + Element *element, int number); + static RenumberElementsCommand *assignNumber(QETProject *project, + Element *element, + int number, + QString *problem = nullptr, + QUndoCommand *parent = nullptr); + + static QMap> pastedSchemes( + const QETProject *project, + const QList &elements); + static void linkPasted(const QETProject *project, + const QList &elements); + static int numberPasted(QETProject *project, + const QMap> &schemes, + QUndoCommand *parent); + + /// Elements whose label and formula change + int changedElementCount() const {return m_changes.size();} + const QVector &changes() const {return m_changes;} + std::optional before() const {return m_before;} + std::optional after() const {return m_after;} + + void undo() override; + void redo() override; + + private: + explicit ElementAutoNumSchemeCommand(QETProject *project); + + QETProject *m_project = nullptr; + std::optional m_before; + std::optional m_after; + QString m_current_before; + QString m_current_after; + QVector m_changes; +}; + +#endif // ELEMENTAUTONUMSCHEMECOMMAND_H diff --git a/sources/autoNum/renumberelementscommand.cpp b/sources/autoNum/renumberelementscommand.cpp index 27f2c5912..66c436e14 100644 --- a/sources/autoNum/renumberelementscommand.cpp +++ b/sources/autoNum/renumberelementscommand.cpp @@ -26,8 +26,9 @@ RenumberElementsCommand::RenumberElementsCommand( QVector changes, QHash old_ctx, QHash new_ctx, - const QString &text) - : QUndoCommand(text) + const QString &text, + QUndoCommand *parent) + : QUndoCommand(text, parent) , project_(project) , changes_(std::move(changes)) , old_ctx_(std::move(old_ctx)) @@ -61,18 +62,23 @@ void RenumberElementsCommand::apply(bool use_new) // Apply per-element changes for (const ElementChange &c : changes_) { - if (!c.element) continue; - - const bool frozen = use_new ? c.new_frozen : c.old_frozen; - const auto &infos = use_new ? c.new_infos : c.old_infos; - const auto &seq = use_new ? c.new_seq : c.old_seq; - - // Temporarily unfreeze so that label/infos update correctly. - const bool was_frozen = c.element->isFreezeLabel(); - if (was_frozen) c.element->freezeLabel(false); - - c.element->rSequenceStruct() = seq; - c.element->setElementInformations(infos); - c.element->freezeLabel(frozen); + applyChange(c, use_new); } } + +void RenumberElementsCommand::applyChange(const ElementChange &c, bool use_new) +{ + if (!c.element) return; + + const bool frozen = use_new ? c.new_frozen : c.old_frozen; + const auto &infos = use_new ? c.new_infos : c.old_infos; + const auto &seq = use_new ? c.new_seq : c.old_seq; + + // Temporarily unfreeze so that label/infos update correctly. + const bool was_frozen = c.element->isFreezeLabel(); + if (was_frozen) c.element->freezeLabel(false); + + c.element->rSequenceStruct() = seq; + c.element->setElementInformations(infos); + c.element->freezeLabel(frozen); +} diff --git a/sources/autoNum/renumberelementscommand.h b/sources/autoNum/renumberelementscommand.h index 4c3d1c871..cf3bff21e 100644 --- a/sources/autoNum/renumberelementscommand.h +++ b/sources/autoNum/renumberelementscommand.h @@ -51,11 +51,17 @@ public: QVector changes, QHash old_ctx, QHash new_ctx, - const QString &text); + const QString &text, + QUndoCommand *parent = nullptr); + + const QVector &changes() const { return changes_; } void undo() override; void redo() override; + /// Apply one change's old (@p use_new false) or new state. + static void applyChange(const ElementChange &change, bool use_new); + private: void apply(bool use_new); diff --git a/sources/autoNum/ui/autonumberingdockwidget.cpp b/sources/autoNum/ui/autonumberingdockwidget.cpp index 39f0aa985..61450f7ac 100644 --- a/sources/autoNum/ui/autonumberingdockwidget.cpp +++ b/sources/autoNum/ui/autonumberingdockwidget.cpp @@ -19,6 +19,11 @@ #include "../../diagram.h" #include "../../diagramview.h" +#include "../../qetgraphicsitem/element.h" +#include "../../qeticons.h" +#include "../elementautonumschemecommand.h" +#include "counterwarning.h" +#include "renumberpreviewdialog.h" #include "../../qetapp.h" #include "../../shortcutmanager.h" #include "../../titleblockproperties.h" @@ -29,7 +34,10 @@ #include "../../undocommand/changetitleblockcommand.h" #include +#include #include +#include +#include #include #include @@ -43,9 +51,127 @@ AutoNumberingDockWidget::AutoNumberingDockWidget(QWidget *parent) : ui(new Ui::AutoNumberingDockWidget) { ui->setupUi(this); + + //The element row gets a button to the left of its reset button + //which gives the numbering shown to the selected elements + QPushButton *reset = ui->m_element_reset_start_pb; + ui->gridLayout->removeWidget(reset); + auto *actions = new QWidget(this); + auto *actions_layout = new QHBoxLayout(actions); + actions_layout->setContentsMargins(0, 0, 0, 0); + actions_layout->setSpacing(2); + m_element_apply_pb = new QPushButton(QET::Icons::DialogOk, QString(), actions); + m_element_apply_pb->setObjectName(QStringLiteral("m_element_apply_pb")); + m_element_apply_pb->setMaximumWidth(24); + m_element_apply_pb->setToolTip(tr("Appliquer cette numérotation aux éléments sélectionnés")); + reset->setParent(actions); + actions_layout->addWidget(m_element_apply_pb); + actions_layout->addWidget(reset); + ui->gridLayout->addWidget(actions, 3, 2); + connect(m_element_apply_pb, &QPushButton::clicked, + this, &AutoNumberingDockWidget::applyElementSchemeToSelection); + connect(ui->m_element_cb, qOverload(&QComboBox::currentIndexChanged), + this, &AutoNumberingDockWidget::updateApplyEnabled); + m_element_apply_pb->setEnabled(false); + this->setDisabled(true); } +/** + @brief AutoNumberingDockWidget::applyElementSchemeToSelection + Give the element numbering shown in the list to the elements selected + in the current folio: each takes its formula and the next number, in + folio and position order, and the counter moves on. + + What would change is shown first. An element which holds another + numbering, or whose label is frozen, is left as it is, unless the user + asks to replace them too (a frozen one is then given back). One undo + step. +*/ +void AutoNumberingDockWidget::applyElementSchemeToSelection() +{ + if (!m_project || m_project->isReadOnly()) { + return; + } + const QString caption = tr("Appliquer la numérotation"); + const QString title = ui->m_element_cb->currentText(); + DiagramView *view = m_project_view ? m_project_view->currentDiagram() : nullptr; + Diagram *diagram = view ? view->diagram() : nullptr; + if (!diagram || !m_project->elementAutoNum().contains(title)) { + QMessageBox::information(this, caption, + tr("Choisissez une numérotation d'éléments du projet.")); + return; + } + + QVector selected; + const auto items = diagram->selectedItems(); + for (QGraphicsItem *item : items) { + if (auto *el = qgraphicsitem_cast(item)) { + selected << el; + } + } + if (selected.isEmpty()) { + QMessageBox::information(this, caption, + tr("Sélectionnez d'abord des éléments dans le folio.")); + return; + } + + const auto plan = ElementAutoNumSchemeCommand::assignPlan(m_project, title, selected); + QVector left; + for (Element *el : plan.frozen) { + left.append({el, tr("(figé)")}); + } + for (Element *el : plan.otherFormula) { + left.append({el, tr("(autre numérotation)")}); + } + const int replaceable = static_cast(left.size()); + + auto *cmd = ElementAutoNumSchemeCommand::assign(m_project, title, selected, false); + if (!cmd && !replaceable) { + QMessageBox::information( + this, caption, + tr("Rien à appliquer : les éléments sélectionnés suivent déjà " + "la numérotation « %1 », ou prennent leur nom d'un autre élément.").arg(title)); + return; + } + + const QString intro = cmd + ? tr("%n élément(s) vont recevoir la numérotation « %1 », dans l'ordre des folios " + "et des positions.", "", static_cast(plan.todo.size())).arg(title) + : tr("Aucun élément ne peut recevoir la numérotation « %1 » sans remplacer " + "ce qu'il a.").arg(title); + const auto answer = RenumberPreviewDialog::ask( + this, caption, intro, + cmd ? cmd->changes() : QVector(), + left, + replaceable + ? tr("Remplacer aussi les %n élément(s) laissés comme ils sont", "", replaceable) + : QString()); + + if (answer == RenumberPreviewDialog::Answer::Cancel) { + delete cmd; + return; + } + int applied = cmd ? static_cast(cmd->changes().size()) : 0; + if (answer == RenumberPreviewDialog::Answer::GoAndReplace) { + delete cmd; + cmd = ElementAutoNumSchemeCommand::assign(m_project, title, selected, true); + applied = cmd ? static_cast(cmd->changes().size()) : 0; + } + if (cmd) { + m_project->undoStack()->push(cmd); + } + + const int not_given = static_cast(selected.size()) - applied; + if (not_given > 0) { + QMessageBox::information( + this, caption, + tr("%n élément(s) numérotés.", "", applied) + + QLatin1Char('\n') + + tr("%n élément(s) sélectionnés sont restés comme ils sont.", "", not_given)); + } +} + /** @brief AutoNumberingDockWidget::~AutoNumberingDockWidget Destructor @@ -117,6 +243,8 @@ void AutoNumberingDockWidget::setProject(QETProject *project, disconnect(m_project, &QETProject::conductorAutoNumRemoved, this, &AutoNumberingDockWidget::conductorAutoNumChanged); disconnect(m_project, &QETProject::conductorAutoNumAdded, this, &AutoNumberingDockWidget::conductorAutoNumChanged); disconnect(m_project_view, &ProjectView::diagramActivated, this, &AutoNumberingDockWidget::setConductorActive); + disconnect(m_project_view, &ProjectView::diagramActivated, this, &AutoNumberingDockWidget::followSelectionOf); + followSelectionOf(nullptr); //Element Signals disconnect(m_project, &QETProject::elementAutoNumRemoved, this, &AutoNumberingDockWidget::elementAutoNumChanged); @@ -142,6 +270,8 @@ void AutoNumberingDockWidget::setProject(QETProject *project, connect(m_project, &QETProject::conductorAutoNumRemoved, this, &AutoNumberingDockWidget::conductorAutoNumChanged); connect(m_project, &QETProject::conductorAutoNumAdded, this, &AutoNumberingDockWidget::conductorAutoNumChanged); connect(m_project_view, &ProjectView::diagramActivated, this, &AutoNumberingDockWidget::setConductorActive); + connect(m_project_view, &ProjectView::diagramActivated, this, &AutoNumberingDockWidget::followSelectionOf); + followSelectionOf(m_project_view->currentDiagram()); //Element Signals connect(m_project, &QETProject::elementAutoNumRemoved, this, &AutoNumberingDockWidget::elementAutoNumChanged); @@ -207,6 +337,56 @@ void AutoNumberingDockWidget::setContext() this->setActive(); } +/** + @brief AutoNumberingDockWidget::followSelectionOf + Enable the apply button only while elements are selected in the folio + shown: it gives a numbering to the selected elements, and with none + selected there is nothing for it to do. + @param view : the folio now shown, nullptr for none +*/ +void AutoNumberingDockWidget::followSelectionOf(DiagramView *view) +{ + Diagram *diagram = view ? view->diagram() : nullptr; + if (m_selection_diagram) { + disconnect(m_selection_diagram, &QGraphicsScene::selectionChanged, + this, &AutoNumberingDockWidget::updateApplyEnabled); + } + m_selection_diagram = diagram; + if (m_selection_diagram) { + connect(m_selection_diagram, &QGraphicsScene::selectionChanged, + this, &AutoNumberingDockWidget::updateApplyEnabled); + } + updateApplyEnabled(); +} + +/** + @brief AutoNumberingDockWidget::updateApplyEnabled + The apply button needs a numbering to give and elements selected. +*/ +void AutoNumberingDockWidget::updateApplyEnabled() +{ + if (!m_element_apply_pb) { + return; + } + bool elements_selected = false; + if (m_selection_diagram) { + const auto items = m_selection_diagram->selectedItems(); + for (QGraphicsItem *item : items) { + if (qgraphicsitem_cast(item)) { + elements_selected = true; + break; + } + } + } + m_element_apply_pb->setEnabled( + elements_selected && m_project && !m_project->isReadOnly() + && ui->m_element_cb->count() > 0); + m_element_apply_pb->setToolTip( + elements_selected + ? tr("Appliquer cette numérotation aux éléments sélectionnés") + : tr("Sélectionnez d'abord des éléments dans le folio")); +} + /** @brief AutoNumberingDockWidget::setConductorActive @param dv: activated diagramview @@ -539,6 +719,12 @@ void AutoNumberingDockWidget::applyValueField(QComboBox *combo_box, QLineEdit *l } context.replaceValue(index, typed); + //An element counter put back on numbers in use: ask first + if (category == AutoNumCategory::Element + && !CounterWarning::confirm(this, m_project, combo_box->currentText(), context)) { + refreshRow(category); + return; + } storeContext(combo_box, category, context); refreshRow(category); } @@ -684,6 +870,12 @@ void AutoNumberingDockWidget::resetAutoNum(QComboBox *combo_box, AutoNumCategory context.replaceValue(i, QStringLiteral("a")); } + //Back to the first number, over numbers in use: ask first + if (category == AutoNumCategory::Element + && !CounterWarning::confirm(this, m_project, combo_box->currentText(), context)) { + return; + } + storeContext(combo_box, category, context); refreshRow(category); } diff --git a/sources/autoNum/ui/autonumberingdockwidget.h b/sources/autoNum/ui/autonumberingdockwidget.h index 8472439bf..e0ac49eb0 100644 --- a/sources/autoNum/ui/autonumberingdockwidget.h +++ b/sources/autoNum/ui/autonumberingdockwidget.h @@ -22,9 +22,11 @@ #include "../../qetproject.h" #include +#include class QComboBox; class QLineEdit; +class QPushButton; class QSpinBox; namespace Ui { @@ -58,6 +60,9 @@ class AutoNumberingDockWidget : public QDockWidget void refreshValueFields(); void on_m_configure_pb_clicked(); + void applyElementSchemeToSelection(); + void updateApplyEnabled(); + void followSelectionOf(DiagramView *view); void on_m_conductor_reset_start_pb_clicked(); void on_m_element_reset_start_pb_clicked(); @@ -126,6 +131,8 @@ class AutoNumberingDockWidget : public QDockWidget /// this replaces refreshValueField() at each of them. void refreshRow(AutoNumCategory category); + QPushButton *m_element_apply_pb = nullptr; + QPointer m_selection_diagram; ///< the folio whose selection enables the apply button Ui::AutoNumberingDockWidget *ui; QETProject* m_project = nullptr; ProjectView* m_project_view = nullptr; diff --git a/sources/autoNum/ui/autonumberingdockwidget.ui b/sources/autoNum/ui/autonumberingdockwidget.ui index b0bcc6e61..e2fd474ef 100644 --- a/sources/autoNum/ui/autonumberingdockwidget.ui +++ b/sources/autoNum/ui/autonumberingdockwidget.ui @@ -73,8 +73,7 @@ - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + @@ -161,8 +160,7 @@ - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + @@ -238,8 +236,7 @@ - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + @@ -319,8 +316,7 @@ Configurer - - :/ico/16x16/configure.png:/ico/16x16/configure.png + diff --git a/sources/autoNum/ui/autonumberingmanagementw.cpp b/sources/autoNum/ui/autonumberingmanagementw.cpp index 4e6499548..c50926c9a 100644 --- a/sources/autoNum/ui/autonumberingmanagementw.cpp +++ b/sources/autoNum/ui/autonumberingmanagementw.cpp @@ -16,8 +16,11 @@ along with QElectroTech. If not, see . */ #include "autonumberingmanagementw.h" +#include "../elementautonumschemecommand.h" +#include "renumberpreviewdialog.h" #include "../../diagram.h" +#include "../../qetgraphicsitem/element.h" #include "../../qetproject.h" #include "../numerotationcontextcommands.h" #include "formulaautonumberingw.h" @@ -122,7 +125,42 @@ void AutoNumberingManagementW::on_m_renumber_elements_pb_clicked() RenumberElementsDialog dlg(titles, this); if (dlg.exec() != QDialog::Accepted) return; - project_->renumberElementsBySchemeTitle(dlg.selectedSchemeTitle()); + const QString title = dlg.selectedSchemeTitle(); + QVector frozen; + auto *cmd = ElementAutoNumSchemeCommand::renumber( + project_, title, &frozen, + title.isEmpty() ? tr("Renuméroter les éléments") + : tr("Renuméroter les éléments (%1)").arg(title)); + if (!cmd) + { + QMessageBox::information( + this, tr("Renuméroter les éléments"), + frozen.isEmpty() + ? tr("Aucun élément ne suit cette numérotation.") + : tr("Les %n élément(s) qui suivent cette numérotation ont un nom " + "figé : rien n'est renuméroté.", "", frozen.size())); + return; + } + + const int renumbered = static_cast(cmd->changes().size()); + const int changed = RenumberPreviewDialog::changedLabelCount(cmd->changes()); + if (!RenumberPreviewDialog::confirm( + this, tr("Renuméroter les éléments"), + tr("%n élément(s) vont être renumérotés, à partir du premier numéro, " + "dans l'ordre des folios et des positions.", "", renumbered), + cmd->changes(), frozen)) { + delete cmd; + return; + } + project_->undoStack()->push(cmd); + + QString summary = tr("%n élément(s) renumérotés, dont %1 avec un nouveau nom.", "", renumbered) + .arg(changed); + if (!frozen.isEmpty()) { + summary += QLatin1Char('\n') + tr("%n élément(s) au nom figé n'ont pas été touchés, " + "et leur numéro n'a pas été redonné.", "", frozen.size()); + } + QMessageBox::information(this, tr("Renuméroter les éléments"), summary); } /** diff --git a/sources/autoNum/ui/counterwarning.cpp b/sources/autoNum/ui/counterwarning.cpp new file mode 100644 index 000000000..caa8ba9be --- /dev/null +++ b/sources/autoNum/ui/counterwarning.cpp @@ -0,0 +1,50 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "counterwarning.h" + +#include "../elementautonumschemecommand.h" +#include "../../qetmessagebox.h" + +/** + @brief CounterWarning::confirm + @param title : the element numbering + @param proposed : its definition, with the counter to give it + @return true if the counter meets no number in use, or the user goes + on; false if the user gives up (and, with nobody to ask, always) +*/ +bool CounterWarning::confirm(QWidget *parent, + const QETProject *project, + const QString &title, + const NumerotationContext &proposed) +{ + const auto conflict = ElementAutoNumSchemeCommand::counterConflict(project, title, proposed); + if (!conflict) { + return true; + } + const auto answer = QET::QetMessageBox::question( + parent, + tr("Compteur de la numérotation"), + tr("Le prochain numéro serait %1, mais %n élément(s) de la numérotation « %2 » " + "ont déjà un numéro égal ou supérieur (jusqu'à %3).", "", conflict->count) + .arg(conflict->counter).arg(title).arg(conflict->highest) + + tr("\nLes nouveaux éléments sauteront les numéros déjà pris : ils ne recevront " + "pas forcément les numéros à partir de %1.\n\nContinuer ?").arg(conflict->counter), + QMessageBox::Yes | QMessageBox::Cancel, + QMessageBox::Cancel); + return answer == QMessageBox::Yes; +} diff --git a/sources/autoNum/ui/counterwarning.h b/sources/autoNum/ui/counterwarning.h new file mode 100644 index 000000000..58f5dbced --- /dev/null +++ b/sources/autoNum/ui/counterwarning.h @@ -0,0 +1,46 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef COUNTERWARNING_H +#define COUNTERWARNING_H + +#include "../numerotationcontext.h" + +#include + +class QETProject; +class QWidget; + +/** + @brief The CounterWarning class + Asks before the counter of an element numbering is set to a number which + elements of it have already: the next elements skip the numbers in use, + so the next number is not the one asked for. The user may go on or give + up. +*/ +class CounterWarning +{ + Q_DECLARE_TR_FUNCTIONS(CounterWarning) + + public: + static bool confirm(QWidget *parent, + const QETProject *project, + const QString &title, + const NumerotationContext &proposed); +}; + +#endif // COUNTERWARNING_H diff --git a/sources/autoNum/ui/pastenumberingimport.cpp b/sources/autoNum/ui/pastenumberingimport.cpp new file mode 100644 index 000000000..f9decbffa --- /dev/null +++ b/sources/autoNum/ui/pastenumberingimport.cpp @@ -0,0 +1,116 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "pastenumberingimport.h" + +#include "../../diagram.h" +#include "../../diagramcommands.h" +#include "../../qetmessagebox.h" +#include "../../qetproject.h" + +#include + +/// @return the numberings a copy carries, which pasted elements follow +QList PasteNumberingImport::copiedBy(const QDomDocument &clipboard) +{ + return ElementAutoNumSchemeCommand::copiedSchemes(clipboard.documentElement()); +} + +/** + @brief PasteNumberingImport::push + Push the paste of @p content on the undo stack of @p diagram, after + asking whether to import the numberings of @p copied which the pasted + elements follow and the project does not have. + @param parent : parent of the question + @param copied : the numberings the copy carries + @param extra : commands the copy brings beside the paste itself + (the cable lines of a fragment, for example); they are pushed inside + the same macro, so one Ctrl+Z undoes all of it at once. +*/ +void PasteNumberingImport::push(QWidget *parent, + Diagram *diagram, + const DiagramContent &content, + const QList &copied, + const QList &extra) +{ + QETProject *project = diagram->project(); + auto *paste = new PasteDiagramCommand(diagram, content); + + //The paste and the commands beside it are one step: only the + //macros really need more than the single push. + const auto push_all = [&]() { + if (extra.isEmpty()) { + diagram->undoStack().push(paste); + return; + } + diagram->undoStack().beginMacro(paste->text()); + diagram->undoStack().push(paste); + for (QUndoCommand *cmd : extra) { + diagram->undoStack().push(cmd); + } + diagram->undoStack().endMacro(); + }; + + QList missing; + if (project && !copied.isEmpty() + && QSettings().value("diagramcommands/autonumber-pasted-elements", true).toBool()) { + missing = ElementAutoNumSchemeCommand::missingForPaste(project, copied, content.m_elements); + } + if (missing.isEmpty()) { + push_all(); + return; + } + + QStringList names; + for (const auto &scheme : std::as_const(missing)) { + names << QStringLiteral("« %1 »").arg(scheme.title); + } + const auto answer = QET::QetMessageBox::question( + parent, + tr("Numérotation absente de ce projet"), + tr("Les éléments collés suivent %n numérotation(s) qui n'existe(nt) pas dans ce projet : %1.\n\n" + "Les importer ? Les éléments recevront alors les prochains numéros, à partir de 1. " + "Sinon ils seront collés sans numérotation.", "", static_cast(missing.size())) + .arg(names.join(QStringLiteral(", "))), + QMessageBox::Yes | QMessageBox::No, + QMessageBox::Yes); + if (answer != QMessageBox::Yes) { + push_all(); + return; + } + + diagram->undoStack().beginMacro(paste->text()); + for (const auto &scheme : std::as_const(missing)) + { + //Under its own name, or one which is free here + QString title = scheme.title; + for (int n = 2 ; !project->elementAutoNumNameClash(title).isEmpty() ; ++n) { + title = QStringLiteral("%1 (%2)").arg(scheme.title).arg(n); + } + if (auto *cmd = ElementAutoNumSchemeCommand::create( + project, title, + ElementAutoNumSchemeCommand::resetForRenumber(scheme.context), + scheme.id, false)) { + diagram->undoStack().push(cmd); + } + } + diagram->undoStack().push(paste); + for (QUndoCommand *cmd : extra) { + diagram->undoStack().push(cmd); + } + diagram->undoStack().endMacro(); +} diff --git a/sources/autoNum/ui/pastenumberingimport.h b/sources/autoNum/ui/pastenumberingimport.h new file mode 100644 index 000000000..8e03c3b0d --- /dev/null +++ b/sources/autoNum/ui/pastenumberingimport.h @@ -0,0 +1,64 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef PASTENUMBERINGIMPORT_H +#define PASTENUMBERINGIMPORT_H + +#include "../elementautonumschemecommand.h" +#include "../../diagramcontent.h" + +#include +#include +#include + +class Diagram; +class QWidget; + +/** + @brief The PasteNumberingImport class + Pastes elements copied from another project, which may follow element + numberings this project does not have. + + Such an element would be left with a formula which names no numbering + here, and with a label nothing explains. So the user is asked, once + for all the numberings missing, whether to import them. Imported, they + number the pasted elements from their first number (a number of the other + project means nothing here); not imported, the elements are pasted + without a numbering. + + The import and the paste are one undo step. + + A paste which brings more than itself (the cable lines of the copy, + for instance, which are no part of a DiagramContent) hands those + commands over through @p extra: they are pushed inside the very + same macro, so one Ctrl+Z still takes the whole of it back. +*/ +class PasteNumberingImport +{ + Q_DECLARE_TR_FUNCTIONS(PasteNumberingImport) + + public: + static void push(QWidget *parent, + Diagram *diagram, + const DiagramContent &content, + const QList &copied, + const QList &extra = QList()); + + static QList copiedBy(const QDomDocument &clipboard); +}; + +#endif // PASTENUMBERINGIMPORT_H diff --git a/sources/autoNum/ui/renumberpreviewdialog.cpp b/sources/autoNum/ui/renumberpreviewdialog.cpp new file mode 100644 index 000000000..9d7105960 --- /dev/null +++ b/sources/autoNum/ui/renumberpreviewdialog.cpp @@ -0,0 +1,187 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "renumberpreviewdialog.h" + +#include "../../diagram.h" +#include "../../qetgraphicsitem/element.h" +#include "../../qetinformation.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { +QString labelOf(const DiagramContext &info) +{ + return info.value(QETInformation::ELMT_LABEL).toString(); +} + +QString folioOf(const Element *element) +{ + return element && element->diagram() + ? QString::number(element->diagram()->folioIndex() + 1) + : QString(); +} +} // namespace + +/** + @brief RenumberPreviewDialog::changedLabelCount + @return how many of @p changes give their element another label +*/ +int RenumberPreviewDialog::changedLabelCount( + const QVector &changes) +{ + int count = 0; + for (const auto &change : changes) { + if (labelOf(change.old_infos) != labelOf(change.new_infos)) { + ++count; + } + } + return count; +} + +/** + @brief RenumberPreviewDialog::ask + @param intro : text above the list + @param changes : what the operation would do to elements + @param left_alone : the elements it leaves as they are, each with the + reason shown in place of its new name + @param replace_text : when not empty, a third button of that text + which goes on and also replaces the elements left alone + @return what the user chose +*/ +RenumberPreviewDialog::Answer RenumberPreviewDialog::ask( + QWidget *parent, + const QString &title, + const QString &intro, + const QVector &changes, + const QVector &left_alone, + const QString &replace_text) +{ + QDialog dialog(parent); + dialog.setWindowTitle(title); + dialog.resize(640, 460); + auto *layout = new QVBoxLayout(&dialog); + + const int changed = changedLabelCount(changes); + QString text = intro; + if (changes.size() > changed) { + text += QLatin1Char('\n') + tr("%n élément(s) gardent le nom qu'ils ont.", "", changes.size() - changed); + } + if (!left_alone.isEmpty()) { + text += QLatin1Char('\n') + tr("%n élément(s) restent comme ils sont.", "", left_alone.size()); + } + auto *intro_label = new QLabel(text, &dialog); + intro_label->setWordWrap(true); + layout->addWidget(intro_label); + + auto *table = new QTableWidget(&dialog); + table->setColumnCount(4); + table->setHorizontalHeaderLabels({tr("Folio"), tr("Élément"), tr("Nom actuel"), tr("Nouveau nom")}); + table->setEditTriggers(QAbstractItemView::NoEditTriggers); + table->setSelectionBehavior(QAbstractItemView::SelectRows); + table->verticalHeader()->setVisible(false); + table->horizontalHeader()->setStretchLastSection(true); + table->setAlternatingRowColors(true); + + const auto add_row = [table](const QStringList &cells, bool grey) { + const int row = table->rowCount(); + table->insertRow(row); + for (int column = 0 ; column < cells.size() ; ++column) { + auto *item = new QTableWidgetItem(cells.at(column)); + if (grey) { + QFont font = item->font(); + font.setItalic(true); + item->setFont(font); + item->setForeground(QBrush(Qt::gray)); + } + table->setItem(row, column, item); + } + }; + + for (const auto &change : changes) { + const QString before = labelOf(change.old_infos); + const QString after = labelOf(change.new_infos); + if (before != after) { + add_row({folioOf(change.element), + change.element ? change.element->name() : QString(), + before, after}, false); + } + } + for (const LeftAlone &left : left_alone) { + if (left.element) { + add_row({folioOf(left.element), left.element->name(), + labelOf(left.element->elementInformations()), left.note}, true); + } + } + table->resizeColumnsToContents(); + layout->addWidget(table, 1); + + //With no label to change, OK would do nothing: only Cancel (and, where + //there is one, the button which replaces what is left alone) is offered + const bool something_to_do = !changes.isEmpty(); + auto *buttons = new QDialogButtonBox( + something_to_do ? (QDialogButtonBox::Ok | QDialogButtonBox::Cancel) + : QDialogButtonBox::Cancel, &dialog); + Answer answer = Answer::Cancel; + QPushButton *replace = nullptr; + if (!replace_text.isEmpty()) { + replace = buttons->addButton(replace_text, QDialogButtonBox::ActionRole); + } + QObject::connect(buttons, &QDialogButtonBox::accepted, &dialog, &QDialog::accept); + QObject::connect(buttons, &QDialogButtonBox::rejected, &dialog, &QDialog::reject); + if (replace) { + QObject::connect(replace, &QPushButton::clicked, &dialog, [&]() { + answer = Answer::GoAndReplace; + dialog.accept(); + }); + } + layout->addWidget(buttons); + + if (dialog.exec() == QDialog::Accepted && answer != Answer::GoAndReplace) { + answer = Answer::Go; + } + return answer; +} + +/** + @brief RenumberPreviewDialog::confirm + @param intro : text above the list + @param changes : what the operation would do to elements + @param frozen : the elements it leaves as they are, a frozen label + @return true if the user agrees to go on +*/ +bool RenumberPreviewDialog::confirm( + QWidget *parent, + const QString &title, + const QString &intro, + const QVector &changes, + const QVector &frozen) +{ + QVector left; + for (Element *el : frozen) { + left.append({el, tr("(figé)")}); + } + return ask(parent, title, intro, changes, left) == Answer::Go; +} diff --git a/sources/autoNum/ui/renumberpreviewdialog.h b/sources/autoNum/ui/renumberpreviewdialog.h new file mode 100644 index 000000000..5107d605b --- /dev/null +++ b/sources/autoNum/ui/renumberpreviewdialog.h @@ -0,0 +1,68 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef RENUMBERPREVIEWDIALOG_H +#define RENUMBERPREVIEWDIALOG_H + +#include "../renumberelementscommand.h" + +#include +#include + +class Element; +class QWidget; + +/** + @brief The RenumberPreviewDialog class + Shows what a numbering operation is about to do to the labels of + elements -- each changed element with its label now and the one it + would get -- and the elements with a frozen label it leaves as they are, + and asks to go on or not. Nothing is changed by the dialog itself. +*/ +class RenumberPreviewDialog +{ + Q_DECLARE_TR_FUNCTIONS(RenumberPreviewDialog) + + public: + /// An element an operation leaves as it is, and why + struct LeftAlone + { + Element *element = nullptr; + QString note; + }; + enum class Answer { Cancel, Go, GoAndReplace }; + + static Answer ask( + QWidget *parent, + const QString &title, + const QString &intro, + const QVector &changes, + const QVector &left_alone, + const QString &replace_text = QString()); + + static bool confirm( + QWidget *parent, + const QString &title, + const QString &intro, + const QVector &changes, + const QVector &frozen); + + static int changedLabelCount( + const QVector &changes); +}; + +#endif // RENUMBERPREVIEWDIALOG_H diff --git a/sources/autoNum/ui/selectautonumw.cpp b/sources/autoNum/ui/selectautonumw.cpp index a3930a20c..1f6c7a0bd 100644 --- a/sources/autoNum/ui/selectautonumw.cpp +++ b/sources/autoNum/ui/selectautonumw.cpp @@ -18,14 +18,17 @@ #include "selectautonumw.h" #include "../assignvariables.h" -#include "../numerotationcontextcommands.h" #include "formulaautonumberingw.h" #include "numparteditorw.h" #include "ui_formulaautonumberingw.h" #include "ui_selectautonumw.h" +#include "../../qeticons.h" + +#include #include #include +#include /** @brief SelectAutonumW::SelectAutonumW @@ -40,6 +43,24 @@ SelectAutonumW::SelectAutonumW(int type, QWidget *parent) : { ui->setupUi(this); ui->m_comboBox->lineEdit()->setClearButtonEnabled(true); + + //The add button goes under the last part, at the left; each part + //has its own remove and move buttons at its right. The one remove + //button above the parts, which could only remove the last one, is + //not needed any more. + ui->remove_button->hide(); + ui->horizontalLayout->removeWidget(ui->add_button); + m_add_row = new QWidget(this); + auto *add_layout = new QHBoxLayout(m_add_row); + add_layout->setContentsMargins(0, 0, 0, 0); + ui->add_button->setParent(m_add_row); + add_layout->addWidget(ui->add_button); + add_layout->addStretch(); + ui->editor_layout->addWidget(m_add_row); + ui->buttonBox->button(QDialogButtonBox::Reset)->setText(tr("Annuler")); + ui->buttonBox->button(QDialogButtonBox::Reset)->setToolTip( + tr("Revenir à la définition enregistrée")); + if (m_edited_type == 0) { m_feaw = new FormulaAutonumberingW(); @@ -104,35 +125,132 @@ void SelectAutonumW::setContext(const NumerotationContext &context) { m_context = context; - qDeleteAll(num_part_list_); - num_part_list_.clear(); + clearPartRows(); if (m_context.size() == 0) { //@context contain nothing, build a default numPartEditor - on_add_button_clicked(); + insertPartRow(new NumPartEditorW(m_edited_type, this)); } else { for (int i=0; i editor_layout -> addWidget(part); + insertPartRow(new NumPartEditorW(m_context, i, m_edited_type, this)); } } - num_part_list_.size() == 1 ? - ui -> remove_button -> setDisabled(true): - ui -> remove_button -> setEnabled (true); - + updatePartButtons(); applyEnable(false); //Everything the rule held before is read now, so nothing of it //is left to write: what is on show is what there is. m_dirty = false; } +/** + @brief SelectAutonumW::insertPartRow + Show @p part as the last part of the definition, with the buttons which + remove it and move it up or down at its right. +*/ +void SelectAutonumW::insertPartRow(NumPartEditorW *part) +{ + connect(part, &NumPartEditorW::changed, this, [this]() { + m_dirty = true; + applyEnable(); + emit contextEdited(); + }); + + PartRow r; + r.part = part; + r.row = new QWidget(this); + auto *layout = new QHBoxLayout(r.row); + layout->setContentsMargins(0, 0, 0, 0); + layout->setSpacing(2); + part->setParent(r.row); + layout->addWidget(part, 1); + + const auto make_button = [&](const QIcon &icon, const QString &tip) { + auto *button = new QToolButton(r.row); + button->setIcon(icon); + button->setToolTip(tip); + button->setAutoRaise(true); + layout->addWidget(button); + return button; + }; + r.up = make_button(QET::Icons::GoUp, tr("Monter cette variable")); + r.down = make_button(QET::Icons::GoDown, tr("Descendre cette variable")); + r.remove = make_button(QET::Icons::EditDelete, tr("Supprimer cette variable")); + QWidget *row = r.row; + connect(r.up, &QToolButton::clicked, this, [this, row]() { movePartRow(row, -1); }); + connect(r.down, &QToolButton::clicked, this, [this, row]() { movePartRow(row, +1); }); + connect(r.remove, &QToolButton::clicked, this, [this, row]() { removePartRow(row); }); + + m_rows << r; + num_part_list_ << part; + //Before the add button, which stays under the last part + ui->editor_layout->insertWidget(ui->editor_layout->count() - 1, r.row); + updatePartButtons(); +} + +/// Take away every part of the definition shown +void SelectAutonumW::clearPartRows() +{ + for (const PartRow &r : std::as_const(m_rows)) { + delete r.row; //with the part, which it holds + } + m_rows.clear(); + num_part_list_.clear(); +} + +/** + @brief SelectAutonumW::updatePartButtons + The first part cannot move up, the last cannot move down, and the only + one cannot be removed: those buttons are greyed out. +*/ +void SelectAutonumW::updatePartButtons() +{ + for (int i = 0 ; i < m_rows.size() ; ++i) { + m_rows.at(i).up->setEnabled(i > 0); + m_rows.at(i).down->setEnabled(i < m_rows.size() - 1); + m_rows.at(i).remove->setEnabled(m_rows.size() > 1); + } +} + +/// Remove the part shown in @p row; the definition keeps at least one +void SelectAutonumW::removePartRow(QWidget *row) +{ + if (m_rows.size() <= 1) { + return; + } + for (int i = 0 ; i < m_rows.size() ; ++i) { + if (m_rows.at(i).row == row) { + const PartRow r = m_rows.takeAt(i); + num_part_list_.removeAll(r.part); + delete r.row; //with the part, which it holds + break; + } + } + updatePartButtons(); + applyEnable(); +} + +/// Move the part shown in @p row up (-1) or down (+1) +void SelectAutonumW::movePartRow(QWidget *row, int step) +{ + for (int i = 0 ; i < m_rows.size() ; ++i) { + if (m_rows.at(i).row != row) { + continue; + } + const int to = i + step; + if (to < 0 || to >= m_rows.size()) { + return; + } + m_rows.swapItemsAt(i, to); + num_part_list_.swapItemsAt(i, to); + ui->editor_layout->removeWidget(row); + ui->editor_layout->insertWidget(1 + to, row); //after the header of the columns + break; + } + updatePartButtons(); + applyEnable(); +} + /** @brief SelectAutonumW::toNumContext @return the content to num_part_list to NumerotationContext @@ -151,17 +269,10 @@ NumerotationContext SelectAutonumW::toNumContext() const */ void SelectAutonumW::on_add_button_clicked() { - applyEnable(false); + insertPartRow(new NumPartEditorW(m_edited_type, this)); m_dirty = true; - NumPartEditorW *part = new NumPartEditorW(m_edited_type, this); - connect(part, &NumPartEditorW::changed, this, [this]() { - m_dirty = true; - applyEnable(); - emit contextEdited(); - }); - num_part_list_ << part; - ui -> editor_layout -> addWidget(part); ui -> remove_button -> setEnabled(true); + applyEnable(); emit contextEdited(); } @@ -174,9 +285,7 @@ void SelectAutonumW::on_remove_button_clicked() //remove if @num_part_list contains more than one item if (num_part_list_.size() > 1) { m_dirty = true; - NumPartEditorW *part = num_part_list_.takeLast(); - // deliberately not disconnecting as not possible to resolve with lambda and will happen automatically when the object "part" is destroyed. - delete part; + removePartRow(m_rows.last().row); if (num_part_list_.size() == 1) { ui -> remove_button -> setDisabled(true); } @@ -409,6 +518,8 @@ void SelectAutonumW::on_buttonBox_clicked(QAbstractButton *button) */ void SelectAutonumW::applyEnable(bool b) { + //Apply and Cancel both stand for a change: grey until there is one + ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(b); if (b){ bool valid= true; foreach (NumPartEditorW *npe, num_part_list_) @@ -448,28 +559,6 @@ void SelectAutonumW::contextToFormula() } } -/** - @brief SelectAutonumW::on_m_next_pb_clicked - Increase NumerotationContext -*/ -void SelectAutonumW::on_m_next_pb_clicked() -{ - NumerotationContextCommands ncc (toNumContext()); - setContext(ncc.next()); - applyEnable(true); -} - -/** - @brief SelectAutonumW::on_m_previous_pb_clicked - Decrease NumerotationContext -*/ -void SelectAutonumW::on_m_previous_pb_clicked() -{ - NumerotationContextCommands ncc (toNumContext()); - setContext(ncc.previous()); - applyEnable(true); -} - void SelectAutonumW::on_m_comboBox_currentTextChanged(const QString &arg1) { Q_UNUSED(arg1); @@ -480,3 +569,29 @@ void SelectAutonumW::on_m_remove_pb_clicked() { emit removeClicked(); } + +/** + @brief SelectAutonumW::setExplicitNaming + Make the list of numberings a plain choice: no typing a name into it + (an easy way to create a numbering by accident, or one with an empty + name), but a button to create a numbering and one to rename the shown + one, which emit newClicked() and renameClicked() for the owner to ask + for the name. +*/ +void SelectAutonumW::setExplicitNaming() +{ + ui->m_comboBox->setEditable(false); + auto *row = ui->horizontalLayout_2; + const int index = row->indexOf(ui->m_remove_pb); + + auto *new_pb = new QPushButton(QET::Icons::Add, QString(), this); + new_pb->setToolTip(tr("Nouvelle numérotation…")); + connect(new_pb, &QPushButton::clicked, this, &SelectAutonumW::newClicked); + + auto *rename_pb = new QPushButton(QET::Icons::EditRename, QString(), this); + rename_pb->setToolTip(tr("Renommer la numérotation…")); + connect(rename_pb, &QPushButton::clicked, this, &SelectAutonumW::renameClicked); + + row->insertWidget(index, rename_pb); + row->insertWidget(index, new_pb); +} diff --git a/sources/autoNum/ui/selectautonumw.h b/sources/autoNum/ui/selectautonumw.h index f93502f2e..b43c47fa2 100644 --- a/sources/autoNum/ui/selectautonumw.h +++ b/sources/autoNum/ui/selectautonumw.h @@ -28,6 +28,8 @@ class QAbstractButton; class FormulaAutonumberingW; class QComboBox; class QPushButton; +class QToolButton; +class QHBoxLayout; namespace Ui { class SelectAutonumW; @@ -89,6 +91,7 @@ class SelectAutonumW : public QWidget @param can_remove true when a rule is really there */ void setRuleRemovable(bool can_remove); + void setExplicitNaming(); signals: void applyPressed(); @@ -101,6 +104,9 @@ class SelectAutonumW : public QWidget write now. */ void contextEdited(); + /// Only with setExplicitNaming() + void newClicked(); + void renameClicked(); //SLOT private slots: @@ -108,16 +114,30 @@ class SelectAutonumW : public QWidget void on_remove_button_clicked(); void on_buttonBox_clicked(QAbstractButton *); void applyEnable (bool = true); - void on_m_next_pb_clicked(); - void on_m_previous_pb_clicked(); void on_m_comboBox_currentTextChanged(const QString &arg1); //ATTRIBUTES void on_m_remove_pb_clicked(); - + private: + /// A part of the definition, with the buttons at its right + struct PartRow + { + QWidget *row = nullptr; + NumPartEditorW *part = nullptr; + QToolButton *up = nullptr; + QToolButton *down = nullptr; + QToolButton *remove = nullptr; + }; + void insertPartRow(NumPartEditorW *part); + void removePartRow(QWidget *row); + void movePartRow(QWidget *row, int step); + void updatePartButtons(); + void clearPartRows(); Ui::SelectAutonumW *ui; QList num_part_list_; + QList m_rows; + QWidget *m_add_row = nullptr; ///< holds the add button, under the last part NumerotationContext m_context; FormulaAutonumberingW *m_feaw; FormulaAutonumberingW *m_fcaw; diff --git a/sources/autoNum/ui/selectautonumw.ui b/sources/autoNum/ui/selectautonumw.ui index 8da8d2e70..2c0ebd63b 100644 --- a/sources/autoNum/ui/selectautonumw.ui +++ b/sources/autoNum/ui/selectautonumw.ui @@ -63,8 +63,7 @@ - - :/ico/16x16/edit-delete.png:/ico/16x16/edit-delete.png + @@ -136,8 +135,7 @@ - - :/ico/22x22/list-remove.png:/ico/22x22/list-remove.png + false @@ -153,42 +151,13 @@ - - :/ico/22x22/list-add.png:/ico/22x22/list-add.png + false - - - - Précédent - - - - - - - :/ico/16x16/arrow-left.png:/ico/16x16/arrow-left.png - - - - - - - Suivant - - - - - - - :/ico/16x16/arrow-right.png:/ico/16x16/arrow-right.png - - - @@ -232,6 +201,9 @@ + + Pour un numéro : le prochain numéro attribué. Pour un texte : le texte fixe. + Valeur diff --git a/sources/bomexport.cpp b/sources/bomexport.cpp index bcb96ae18..768dd78c0 100644 --- a/sources/bomexport.cpp +++ b/sources/bomexport.cpp @@ -58,7 +58,32 @@ QStringList BomExport::defaultColumns() }; } -QString BomExport::defaultQuery() +/** + @brief BomExport::junctionFilter + @return a condition true for every row that is not a junction: a + terminal-type element with no label and no part data. Some users draw + the dots and bends where wires branch as their own terminal-type + symbols, and each one became an empty row of the parts list (#1178). + A terminal block with a label or a part number is kept. +*/ +QString BomExport::junctionFilter() +{ + return QStringLiteral("NOT (element_type = 'terminal' " + "AND IFNULL(label, '') = '' " + "AND IFNULL(designation, '') = '' " + "AND IFNULL(manufacturer, '') = '' " + "AND IFNULL(manufacturer_reference, '') = '')"); +} + +/** + @brief BomExport::defaultQuery + @param include_slaves : false leaves out the contact blocks (slave + elements), which otherwise appear as rows of their own + @param include_junctions : false leaves out the junctions, see + junctionFilter() + @return the query of the parts list +*/ +QString BomExport::defaultQuery(bool include_slaves, bool include_junctions) { //Slaves and terminals are included because both are routinely //separately orderable hardware. A circuit breaker can carry ten or @@ -78,11 +103,16 @@ QString BomExport::defaultQuery() //and the conductor definition stay out because they are not hardware. // //See discussion #847. + const QString types = include_slaves + ? QStringLiteral("'simple', 'master', 'slave', 'terminal'") + : QStringLiteral("'simple', 'master', 'terminal'"); + const QString junctions = include_junctions + ? QString() + : QStringLiteral(" AND ") + junctionFilter(); return QStringLiteral("SELECT %1 FROM element_nomenclature_view " - "WHERE element_type IN " - "('simple', 'master', 'slave', 'terminal') " + "WHERE element_type IN (%2)%3 " "ORDER BY diagram_position, position, label") - .arg(defaultColumns().join(QStringLiteral(", "))); + .arg(defaultColumns().join(QStringLiteral(", ")), types, junctions); } QByteArray BomExport::toCsv(QSqlQuery &query, const QStringList &headers, diff --git a/sources/bomexport.h b/sources/bomexport.h index a2944960f..a12ba5789 100644 --- a/sources/bomexport.h +++ b/sources/bomexport.h @@ -27,7 +27,9 @@ class QSqlQuery; namespace BomExport { QStringList defaultColumns(); - QString defaultQuery(); + QString defaultQuery(bool include_slaves = true, + bool include_junctions = true); + QString junctionFilter(); /// One CSV record: every field quoted, ';' between them, '\n' /// after -- the format every CSV export of this program writes. /// Public so a list which is not read from the project database diff --git a/sources/borderproperties.cpp b/sources/borderproperties.cpp index b1812032c..b9ab708bd 100644 --- a/sources/borderproperties.cpp +++ b/sources/borderproperties.cpp @@ -117,9 +117,15 @@ void BorderProperties::toXml(QDomElement &e) const */ void BorderProperties::fromXml(QDomElement &e) { if (e.hasAttribute("cols")) columns_count = e.attribute("cols").toInt(); - if (e.hasAttribute("colsize")) columns_width = e.attribute("colsize").toInt(); if (e.hasAttribute("rows")) rows_count = e.attribute("rows").toInt(); - if (e.hasAttribute("rowsize")) rows_height = e.attribute("rowsize").toInt(); + // The sizes are decimals (toXml() writes them with %1), read as + // BorderTitleBlock::borderFromXml() does; an unreadable value is + // left as it was. + bool ok; + qreal size = e.attribute("colsize").toDouble(&ok); + if (ok && qIsFinite(size)) columns_width = size; + size = e.attribute("rowsize").toDouble(&ok); + if (ok && qIsFinite(size)) rows_height = size; if (e.hasAttribute("displaycols")) display_columns = e.attribute("displaycols") == "true"; if (e.hasAttribute("displayrows")) display_rows = e.attribute("displayrows") == "true"; } diff --git a/sources/bordertitleblock.cpp b/sources/bordertitleblock.cpp index f63877eb4..6ab3e0171 100644 --- a/sources/bordertitleblock.cpp +++ b/sources/bordertitleblock.cpp @@ -708,13 +708,26 @@ void BorderTitleBlock::drawDxf( // render the titleblock, using the TitleBlockTemplate object if (display_titleblock_) { Createdxf::layer = DxfExport::Layer::TitleBlock; - //qp -> translate(titleblock_rect_.topLeft()); - QRectF rect = titleBlockRect(); + //Laid out horizontally, then turned like the QPainter in + //draw(): a quarter turn counter-clockwise around its top + //left, which for a title block at the right is the bottom + //right of the diagram (issue #1339). + QRectF rect = titleBlockRectForQPainter(); + QTransform dxf_transform; + if (m_edge != Qt::BottomEdge) + { + const QPointF pivot(rect.left() * Createdxf::xScale, + Createdxf::sheetHeight + - rect.top() * Createdxf::yScale); + dxf_transform.translate(pivot.x(), pivot.y()); + dxf_transform.rotate(90); + dxf_transform.translate(-pivot.x(), -pivot.y()); + } m_titleblock_template_renderer -> renderDxf(rect, rect.width(), file_path, - color); - //qp -> translate(-titleblock_rect_.topLeft()); + color, + dxf_transform); } // Transform back to QET scale diff --git a/sources/bordertitleblock.h b/sources/bordertitleblock.h index 4065bf488..8a57d3d9c 100644 --- a/sources/bordertitleblock.h +++ b/sources/bordertitleblock.h @@ -133,6 +133,8 @@ class BorderTitleBlock : public QObject return (additional_fields_); } /// @return the value of the title block QString autoPageNum() const { return(btb_auto_page_num_); } + /// The title of the folio numbering this folio follows, nothing else changes + void setAutoPageNum(const QString &title) { btb_auto_page_num_ = title; } /// @return the value of the total number of folios int folioTotal() const { return(folio_total_);} @@ -252,38 +254,40 @@ class BorderTitleBlock : public QObject QString btb_indexrev_; ///< titleblock index rev QString btb_final_folio_; ///< titleblock final folio QString btb_auto_page_num_; ///< titleblock auto page num - int folio_index_; ///< titleblock index - int folio_total_; ///< titleblock total + int folio_index_ = 0; ///< titleblock index + int folio_total_ = 0; ///< titleblock total QString btb_filename_; ///< titleblock filename QString btb_version_; ///< titleblock version /// titleblock additional fields DiagramContext additional_fields_; - Qt::Edge m_edge; ///< titleblock edge + Qt::Edge m_edge = Qt::BottomEdge; ///< titleblock edge QString m_next_folio_num; ///< titleblock next folio num QString m_previous_folio_num; ///< titleblock previous folio num // border dimensions (rows and columns) // columns: number and dimensions - int columns_count_; ///< columns count - qreal columns_width_; ///< columns width - qreal columns_header_height_; ///< columns header height + int columns_count_ = 0; ///< columns count + qreal columns_width_ = 0; ///< columns width + qreal columns_header_height_ = 0; ///< columns header height // rows: number and dimensions - int rows_count_; ///< rows count - qreal rows_height_; ///< rows height - qreal rows_header_width_; ///< rows header width + int rows_count_ = 0; ///< rows count + qreal rows_height_ = 0; ///< rows height + qreal rows_header_width_ = 0; ///< rows header width // title block dimensions - qreal titleblock_height_; + qreal titleblock_height_ = 0; // rectangles used for drawing operations QRectF diagram_rect_; - // display options - bool display_titleblock_; - bool display_columns_; - bool display_rows_; - bool display_border_; + // display options. Initialised here because the constructor sets + // them through importBorder() and importTitleBlock(), whose setters + // compare the new value with the old one before storing it. + bool display_titleblock_ = false; + bool display_columns_ = false; + bool display_rows_ = false; + bool display_border_ = false; TitleBlockTemplateRenderer *m_titleblock_template_renderer; }; #endif diff --git a/sources/cli_export.cpp b/sources/cli_export.cpp index c8734cac8..fb2d94869 100644 --- a/sources/cli_export.cpp +++ b/sources/cli_export.cpp @@ -43,6 +43,7 @@ #include #include #include +#include #include #include #include @@ -59,6 +60,7 @@ #include #include #include +#include #include namespace { @@ -147,6 +149,23 @@ void renderDiagram(Diagram *diagram, QPainter &painter, const QRectF &target, diagram->setDrawTerminalNames(was_drawing_terminal_names); } +/// The time SOURCE_DATE_EPOCH names, in seconds since 1970 UTC, or an +/// invalid QDateTime when it is unset. A value that is not a whole number of +/// seconds is reported and ignored. +QDateTime sourceDateEpoch() +{ + const QByteArray value = qgetenv("SOURCE_DATE_EPOCH"); + if (value.isEmpty()) + return {}; + bool ok = false; + const qlonglong seconds = value.toLongLong(&ok); + if (!ok || seconds < 0) { + err << "SOURCE_DATE_EPOCH '" << value << "' is not a number of seconds; ignored.\n"; + return {}; + } + return QDateTime::fromSecsSinceEpoch(seconds, QTimeZone::utc()); +} + int exportPdf(QETProject &project, const QString &output, bool showTerminals = false) { @@ -166,16 +185,37 @@ int exportPdf(QETProject &project, const QString &output, writer.setCreator("QElectroTech"); writer.setResolution(96); + // SOURCE_DATE_EPOCH (reproducible-builds.org) asks for the same file + // from the same input: the time it names instead of now, and a document + // id from what the PDF shows instead of a random one. Qt has no setter + // for the dates, and the content is not known yet, so both are + // rewritten once the file is written; Qt writes a fixed id until then. + // The id does not come from the project file, whose uuids are new each + // time a project is generated again from the same data. Before Qt 6.8 + // there is no document id to set: it is only written for PDF/A. + const QDateTime sourceDate = sourceDateEpoch(); +#if QT_VERSION >= QT_VERSION_CHECK(6, 8, 0) + if (sourceDate.isValid()) + writer.setDocumentId(PdfLinks::placeholderDocumentId()); +#endif + QPainter painter; bool first = true; for (Diagram *diagram : diagrams) { const QRect r = diagramRect(diagram); // Match the page to the diagram (in points: 1px @ 96dpi = 0.75pt). - const QPageSize page(QSizeF(r.width() * 72.0 / 96.0, - r.height() * 72.0 / 96.0), - QPageSize::Point); - writer.setPageSize(page); - writer.setPageMargins(QMarginsF(0, 0, 0, 0)); + // QPageSize rounds a size within 3 pt of a standard sheet to the + // sheet, but knows the sheets upright only (bar Ledger), so a wide + // folio is matched upright and turned: otherwise an A3 landscape + // folio became a 1190 x 841 pt page while an A3 portrait one was + // 842 x 1191, the sheet. + QSizeF points(r.width() * 72.0 / 96.0, r.height() * 72.0 / 96.0); + const bool wide = points.width() > points.height(); + if (wide) points.transpose(); + writer.setPageLayout(QPageLayout(QPageSize(points, QPageSize::Point), + wide ? QPageLayout::Landscape + : QPageLayout::Portrait, + QMarginsF(0, 0, 0, 0))); if (first) { if (!painter.begin(&writer)) { @@ -233,6 +273,10 @@ int exportPdf(QETProject &project, const QString &output, // the cross-references jump inside the document in any PDF viewer. PdfLinks::convertUriToGoTo(output); PdfLinks::removeUnusedPdfxNamespace(output); + if (sourceDate.isValid()) { + PdfLinks::setDocumentDate(output, sourceDate); + PdfLinks::setDocumentIdFromContent(output); + } out << "Exported " << diagrams.size() << " page(s) -> " << output << "\n"; return 0; @@ -287,7 +331,8 @@ int exportImages(QETProject &project, const QString &format, /// One DXF file per diagram, written by the same code as the export dialog /// (DxfExport) with the dialog's default options -- the export settings of /// the preferences -- so both give the same file. -int exportDxf(QETProject &project, const QString &out_dir, bool showTerminals) +int exportDxf(QETProject &project, const QString &out_dir, bool showTerminals, + bool dxfBlocks, bool dxfAttributes) { const QList diagrams = project.diagrams(); if (diagrams.isEmpty()) { @@ -300,6 +345,10 @@ int exportDxf(QETProject &project, const QString &out_dir, bool showTerminals) properties.format = QStringLiteral("DXF"); if (showTerminals) properties.draw_terminals = true; + if (dxfBlocks || dxfAttributes) + properties.dxf_blocks = true; + if (dxfAttributes) + properties.dxf_attributes = true; int index = 0; bool has_images = false; @@ -364,10 +413,12 @@ int exportCsv(QETProject &project, const QString &format, const QString &output) /// Bill of materials from the same project database and default query as the /// GUI nomenclature export. -int exportBom(QETProject &project, const QString &output) +int exportBom(QETProject &project, const QString &output, + bool includeSlaves, bool includeJunctions) { project.dataBase()->updateDB(); - QSqlQuery query = project.dataBase()->newQuery(BomExport::defaultQuery()); + QSqlQuery query = project.dataBase()->newQuery( + BomExport::defaultQuery(includeSlaves, includeJunctions)); if (!query.exec()) { err << "BOM query failed: " << query.lastError().text() << "\n"; return 1; @@ -620,6 +671,12 @@ QHash folioIndex(QETProject &project) /// From-to wiring list: one row per conductor, each endpoint resolved to its /// element label and terminal name. /// +/// Most symbols leave their terminals unnamed, so each end also carries the +/// terminal's index -- the one the scripting API's addConductor() takes, +/// empty for two terminals at one point -- and its uuid, the one the project +/// file names the terminal by. These come last, after the columns the list +/// has always had, so a reader of those is not disturbed. +/// /// Reads wiring_list_view out of the project database. --export-cables produces /// the same logical list from the document XML instead, and the two are meant /// to agree: running both and diffing them is a direct check that the database @@ -632,7 +689,8 @@ int exportWiring(QETProject &project, const QString &output) static const QStringList columns { "wire_number", "from_element_label", "from_terminal", - "to_element_label", "to_terminal", "diagram_position", "conductor_uuid" + "to_element_label", "to_terminal", "diagram_position", "conductor_uuid", + "from_terminal_index", "from_terminal_uuid", "to_terminal_index", "to_terminal_uuid" }; QSqlQuery query = project.dataBase()->newQuery( @@ -929,6 +987,11 @@ int run(const QStringList &args) // collected below. QStringList filtered = args; const bool showTerminals = filtered.removeAll("--show-terminals") > 0; + const bool dxfBlocks = filtered.removeAll("--dxf-blocks") > 0; + const bool dxfAttributes = filtered.removeAll("--dxf-attributes") > 0; + // --no-slaves and --no-junctions leave rows out of --export-bom. + const bool includeSlaves = filtered.removeAll("--no-slaves") == 0; + const bool includeJunctions = filtered.removeAll("--no-junctions") == 0; QString flag; QStringList rest; @@ -982,11 +1045,11 @@ int run(const QStringList &args) if (format == "pdf") return exportPdf(project, output, showTerminals); if (format == "dxf") - return exportDxf(project, output, showTerminals); + return exportDxf(project, output, showTerminals, dxfBlocks, dxfAttributes); if (format == "cables" || format == "wires") return exportCsv(project, format, output); if (format == "bom") - return exportBom(project, output); + return exportBom(project, output, includeSlaves, includeJunctions); if (format == "wiring") return exportWiring(project, output); if (format == "nets") diff --git a/sources/cli_export.h b/sources/cli_export.h index 8ad1b1d12..efb3ad59e 100644 --- a/sources/cli_export.h +++ b/sources/cli_export.h @@ -45,10 +45,10 @@ namespace CLIExport { qelectrotech --export-pdf [--show-terminals] qelectrotech --export-png [--show-terminals] qelectrotech --export-svg [--show-terminals] - qelectrotech --export-dxf [--show-terminals] + qelectrotech --export-dxf [--show-terminals] [--dxf-blocks] [--dxf-attributes] qelectrotech --export-cables qelectrotech --export-wires - qelectrotech --export-bom + qelectrotech --export-bom [--no-slaves] [--no-junctions] qelectrotech --export-wiring qelectrotech --export-nets qelectrotech --export-links @@ -66,9 +66,19 @@ namespace CLIExport { does; off by default, matching the GUI export dialog's default. For DXF, draws the terminal markers. Has no effect on the list export modes. + --dxf-blocks: write each symbol as a DXF block, placed with one + INSERT per use, so a CAD program selects it as one object. + --dxf-attributes: as --dxf-blocks, and a symbol's texts (its label, + function...) are attributes of its INSERT. LibreCAD does not + show attributes. cables: wiring list (one row per conductor) as CSV. wires: list of distinct wire numbers as CSV. bom: bill of materials (one row per element) as CSV. + --no-slaves: leave the contact blocks (slave elements) out of the + bill of materials. + --no-junctions: leave the junctions out of the bill of materials: + terminal-type elements with no label, designation, + manufacturer or manufacturer reference. wiring: from-to wiring list (one row per conductor) as CSV, read from the project database. Same logical list as `cables`, which reads the document XML instead; the two are meant to agree, diff --git a/sources/conductormultiedit.h b/sources/conductormultiedit.h new file mode 100644 index 000000000..e234feae6 --- /dev/null +++ b/sources/conductormultiedit.h @@ -0,0 +1,213 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef CONDUCTORMULTIEDIT_H +#define CONDUCTORMULTIEDIT_H + +#include "QPropertyUndoCommand/qpropertyundocommand.h" +#include "conductorproperties.h" + +#include +#include +#include +#include + +#include + +/** + @brief ConductorMultiEdit + The rules for editing several conductors at once in the Selection + properties panel (#500). They are templates over the conductor type so + they can be tested without a diagram: T needs properties(), a + "properties" Q_PROPERTY, and relatedPotentialConductors() returning + QSet. +*/ +namespace ConductorMultiEdit +{ + /** + @brief sortByPosition + Sort top to bottom, then left to right, so the panel shows the same + "first" conductor whatever order the scene lists the selection in. + @param list : the conductors + @param pos_of : callable giving a conductor's position + */ + template + void sortByPosition(QList &list, PosOf pos_of) + { + std::stable_sort(list.begin(), list.end(), [&pos_of](T *a, T *b) { + const QPointF pa = pos_of(a); + const QPointF pb = pos_of(b); + if (pa.y() != pb.y()) + return pa.y() < pb.y(); + return pa.x() < pb.x(); + }); + } + + /** + @brief targets + @param selected : the edited conductors + @param apply_all : true to add every conductor of their potentials + @return each conductor an edit reaches, once + */ + template + QList targets(const QList &selected, bool apply_all) + { + QList list; + QSet seen; + for (T *conductor : selected) + { + //Already reached through an earlier conductor's potential: + //its own potential is the same one. + if (!conductor || seen.contains(conductor)) + continue; + seen.insert(conductor); + list << conductor; + if (!apply_all) + continue; + const QSet potential = conductor->relatedPotentialConductors(); + for (T *other : potential) + { + if (!seen.contains(other)) + { + seen.insert(other); + list << other; + } + } + } + return list; + } + + /** + @brief undo + @param targets : the conductors to change, see targets() + @param shown : the properties as the panel showed them + @param edited : the properties after the user's edit + @return one undo step giving each target the fields that differ + between shown and edited, or nullptr if no conductor changes + */ + template + QUndoCommand *undo(const QList &targets, + const ConductorProperties &shown, + const ConductorProperties &edited) + { + if (edited == shown) + return nullptr; + + auto *undo = new QUndoCommand(); + int changed = 0; + for (T *conductor : targets) + { + const ConductorProperties old_properties = conductor->properties(); + ConductorProperties properties = old_properties; + properties.applyChanges(shown, edited); + if (properties == old_properties) + continue; + + QVariant old_value, new_value; + old_value.setValue(old_properties); + new_value.setValue(properties); + new QPropertyUndoCommand(conductor, "properties", old_value, new_value, undo); + ++changed; + } + + if (!changed) + { + delete undo; + return nullptr; + } + undo->setText(changed == 1 + ? QCoreApplication::translate("ConductorPropertiesEditorWidget", + "Modifier les propriétés d'un conducteur", "undo caption") + : QCoreApplication::translate("ConductorPropertiesEditorWidget", + "Modifier les propriétés de plusieurs conducteurs", "undo caption")); + return undo; + } + + /// The fields a user types in. When the selected conductors do not + /// agree on one, the panel shows it blank. + enum TextField { + Text, Formula, Function, TensionProtocol, + WireColor, WireSection, Cable, Bus + }; + + inline QList textFields() + { + return {Text, Formula, Function, TensionProtocol, + WireColor, WireSection, Cable, Bus}; + } + + inline QString &textField(ConductorProperties &p, TextField field) + { + switch (field) + { + case Text: return p.text; + case Formula: return p.m_formula; + case Function: return p.m_function; + case TensionProtocol: return p.m_tension_protocol; + case WireColor: return p.m_wire_color; + case WireSection: return p.m_wire_section; + case Cable: return p.m_cable; + case Bus: break; + } + return p.m_bus; + } + + /** + @brief mixedTextFields + @return the text fields whose value is not the same in all of list + */ + inline QList mixedTextFields(QList list) + { + QList mixed; + if (list.size() < 2) + return mixed; + for (TextField field : textFields()) + { + const QString first = textField(list.first(), field); + for (ConductorProperties &p : list) + { + if (textField(p, field) != first) + { + mixed << field; + break; + } + } + } + return mixed; + } + + /** + @brief shown + @return what the panel shows for list: the first conductor's + properties, with the mixed text fields blank. Typing any value + in a blank field, even the first conductor's, then differs from + what was shown, so it is applied to every conductor. + */ + inline ConductorProperties shown(const QList &list, + const QList &mixed) + { + if (list.isEmpty()) + return ConductorProperties(); + ConductorProperties p = list.first(); + for (TextField field : mixed) + textField(p, field).clear(); + return p; + } +} + +#endif // CONDUCTORMULTIEDIT_H diff --git a/sources/conductorprofile.h b/sources/conductorprofile.h index 2697e60b0..1b4ceb273 100644 --- a/sources/conductorprofile.h +++ b/sources/conductorprofile.h @@ -38,10 +38,12 @@ class ConductorProfile { public: /// Segments composing the conductor QList segments; - /// Orientation of the start terminal - Qet::Orientation beginOrientation; + /// Orientation of the start terminal. Initialised because the default + /// constructor leaves it as is, and the copy constructor and operator= + /// then read it from such a profile. + Qet::Orientation beginOrientation = Qet::North; /// Orientation of the end terminal. - Qet::Orientation endOrientation; + Qet::Orientation endOrientation = Qet::North; // methods public: diff --git a/sources/conductorproperties.cpp b/sources/conductorproperties.cpp index 1d62c2c4a..f65a2a340 100644 --- a/sources/conductorproperties.cpp +++ b/sources/conductorproperties.cpp @@ -447,7 +447,10 @@ void ConductorProperties::fromSettings(QSettings &settings, const QString &prefi m_wire_color = settings.value(prefix + "conductor_color", "").toString(); m_wire_section = settings.value(prefix + "conductor_section", "").toString(); text_size = settings.value(prefix + "textsize", "7").toInt(); - cond_size = settings.value(prefix + "size", "1").toInt(); + // Saved with QString::number(cond_size): a decimal such as 1.4, + // which toInt() would read as 0. + cond_size = settings.value(prefix + "size", "1").toDouble(); + if (!qIsFinite(cond_size) || cond_size <= 0) cond_size = 1; m_show_text = settings.value(prefix + "displaytext", true).toBool(); m_one_text_per_folio = settings.value(prefix + "onetextperfolio", false).toBool(); verti_rotate_text = settings.value((prefix + "vertirotatetext"), "270").toDouble(); diff --git a/sources/conductorrouter.cpp b/sources/conductorrouter.cpp new file mode 100644 index 000000000..4bf2474e2 --- /dev/null +++ b/sources/conductorrouter.cpp @@ -0,0 +1,433 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +// SPDX-License-Identifier: GPL-2.0-or-later +#include "conductorrouter.h" + +#include +#include +#include +#include +#include + +namespace { + +using ConductorRouter::Direction; + +constexpr qreal eps = 1e-6; + ///Larger than any folio needs: a 2000 x 2000 grid +constexpr int max_nodes = 4000000; + + ///What each thing costs, in scene units of length. A bend is worth + ///three grid steps of extra wire, so the search prefers a slightly + ///longer route to a more crooked one, as a person drawing would. +constexpr qreal bend_steps = 3.0; + ///Running along another wire costs this much more per unit of length +constexpr qreal along_factor = 3.0; + ///Each crossing of another wire costs two grid steps +constexpr qreal cross_steps = 2.0; + +QPointF step(Direction d) +{ + switch (d) { + case Direction::North: return {0, -1}; + case Direction::East: return {1, 0}; + case Direction::South: return {0, 1}; + case Direction::West: return {-1, 0}; + } + return {0, 0}; +} + +Direction opposite(Direction d) +{ + return static_cast((static_cast(d) + 2) % 4); +} + +bool strictlyInside(const QPointF &p, const QRectF &r) +{ + return p.x() > r.left() + eps && p.x() < r.right() - eps + && p.y() > r.top() + eps && p.y() < r.bottom() - eps; +} + +bool insideAny(const QPointF &p, const QList &rects) +{ + for (const QRectF &r : rects) + if (strictlyInside(p, r)) return true; + return false; +} + + ///A wire segment, kept as the fixed coordinate and the range along the + ///other axis +struct Span { qreal at, from, to; }; + + ///One grid step out of a terminal in its direction, snapped to the + ///grid the way Conductor::extendTerminal() snaps it +QPointF firstStep(const QPointF &dock, Direction d, qreal grid) +{ + const QPointF s = step(d); + QPointF p = dock; + if (s.x() != 0) + p.setX(std::round((dock.x() + s.x() * grid) / grid) * grid); + else + p.setY(std::round((dock.y() + s.y() * grid) / grid) * grid); + return p; +} + + ///Whether the horizontal or vertical segment from @p a to @p b runs + ///through the inside of @p rect; along its edge does not count. +bool crossesInside(const QPointF &a, const QPointF &b, const QRectF &rect) +{ + const QRectF seg = QRectF(a, b).normalized(); + if (seg.width() < eps) + return seg.left() > rect.left() + eps && seg.left() < rect.right() - eps + && std::min(seg.bottom(), rect.bottom()) - std::max(seg.top(), rect.top()) > eps; + return seg.top() > rect.top() + eps && seg.top() < rect.bottom() - eps + && std::min(seg.right(), rect.right()) - std::max(seg.left(), rect.left()) > eps; +} + + ///The first point of a route after a terminal: firstStep(), then on + ///until it is clear of every obstacle -- of the terminal's own symbol + ///above all. + ///When the terminal's own symbol is known, never through another + ///symbol, only through the margin around it: a terminal pointing + ///straight into one has no exit, where walking on through it would + ///give a route that crosses that symbol and loops back. @p others are + ///the other symbols, without their margin. +bool exitPoint(const QPointF &dock, Direction d, const ConductorRouter::Request &r, + const QList &obstacles, const QList &others, + bool own_known, QPointF &out) +{ + const QPointF s = step(d); + QPointF from = dock, p = firstStep(dock, d, r.grid); + for (int i = 0; i < 200; ++i) { + if (own_known) + for (const QRectF &o : others) + if (crossesInside(from, p, o)) return false; + if (!insideAny(p, obstacles)) { + out = p; + return true; + } + from = p; + p += s * r.grid; + } + return false; +} + + ///Sorted, without duplicates: the grid lines inside [low, high], plus + ///the extra coordinates (the two exit points, which need not be on the + ///grid when a terminal is not) +QVector axis(qreal low, qreal high, qreal grid, std::initializer_list extra) +{ + QVector v; + for (qreal c = std::ceil(low / grid) * grid; c <= high + eps; c += grid) + v << c; + for (qreal c : extra) v << c; + std::sort(v.begin(), v.end()); + v.erase(std::unique(v.begin(), v.end(), + [](qreal a, qreal b) { return std::abs(a - b) < eps; }), + v.end()); + return v; +} + +int indexOf(const QVector &v, qreal c) +{ + auto it = std::lower_bound(v.begin(), v.end(), c - eps); + return (it != v.end() && std::abs(*it - c) < eps) ? int(it - v.begin()) : -1; +} + + ///[first, last) of the sorted v: the values strictly between low and high +std::pair openRange(const QVector &v, qreal low, qreal high) +{ + const int first = int(std::upper_bound(v.begin(), v.end(), low) - v.begin()); + const int last = int(std::lower_bound(v.begin(), v.end(), high) - v.begin()); + return {first, std::max(first, last)}; +} + + ///The cost of every edge along one axis, or infinity where an obstacle + ///blocks it. Edge (k, i) runs from pos[i] to pos[i + 1] at the fixed + ///coordinate lines[k], and is stored at [k * pos.size() + i]; + ///horizontal says which axis pos is. Each obstacle and wire visits only + ///the edges it can touch, so the cost grows with the folio, not with + ///the folio times everything drawn on it. +std::vector edgeCosts(bool horizontal, + const QVector &pos, const QVector &lines, + const QList &obstacles, + const QVector &along, const QVector &across, + qreal grid) +{ + const int np = pos.size(), nl = lines.size(); + std::vector cost(size_t(np) * nl, std::numeric_limits::infinity()); + for (int k = 0; k < nl; ++k) + for (int i = 0; i + 1 < np; ++i) + cost[size_t(k) * np + i] = pos[i + 1] - pos[i]; + + // The edges i that can overlap (low, high): pos[i + 1] > low and + // pos[i] < high. The exact test is applied to each one found. + const auto edges = [&](qreal low, qreal high) { + const int first = int(std::upper_bound(pos.begin(), pos.end(), low) - pos.begin()) - 1; + const int last = int(std::lower_bound(pos.begin(), pos.end(), high) - pos.begin()); + return std::pair{std::max(0, first), std::min(np - 1, last)}; + }; + + for (const QRectF &r : obstacles) { + const qreal lo = horizontal ? r.left() : r.top(); + const qreal hi = horizontal ? r.right() : r.bottom(); + const qreal flo = horizontal ? r.top() : r.left(); + const qreal fhi = horizontal ? r.bottom(): r.right(); + const auto [k0, k1] = openRange(lines, flo, fhi); + const auto [i0, i1] = edges(lo, hi); + for (int k = k0; k < k1; ++k) { + if (!(lines[k] > flo + eps && lines[k] < fhi - eps)) continue; + for (int i = i0; i < i1; ++i) + if (std::min(pos[i + 1], hi) - std::max(pos[i], lo) > eps) + cost[size_t(k) * np + i] = std::numeric_limits::infinity(); + } + } + for (const Span &s : along) { + const int k0 = int(std::lower_bound(lines.begin(), lines.end(), s.at - 0.5) - lines.begin()); + const auto [i0, i1] = edges(s.from, s.to); + for (int k = k0; k < nl && lines[k] <= s.at + 0.5; ++k) { + if (std::abs(s.at - lines[k]) > 0.5) continue; + for (int i = i0; i < i1; ++i) { + const qreal overlap = std::min(pos[i + 1], s.to) - std::max(pos[i], s.from); + if (overlap > eps) cost[size_t(k) * np + i] += overlap * along_factor; + } + } + } + for (const Span &s : across) { + // Half-open (a, b], so a crossing on a grid node is counted + // once, by the edge that ends on it; and only through the + // other wire's interior, not at its end, which is a junction. + const auto [k0, k1] = openRange(lines, s.from, s.to); + const auto [i0, i1] = edges(s.at - 1.0, s.at + 1.0); + for (int k = k0; k < k1; ++k) { + if (!(lines[k] > s.from + 0.5 && lines[k] < s.to - 0.5)) continue; + for (int i = i0; i < i1; ++i) + if (s.at > pos[i] + eps && s.at <= pos[i + 1] + eps) + cost[size_t(k) * np + i] += cross_steps * grid; + } + } + return cost; +} + +} // namespace + +ConductorRouter::Result ConductorRouter::route(const Request &r) +{ + Result result; + if (r.grid <= 0) { + result.error = QStringLiteral("the grid step must be positive"); + return result; + } + + const QRectF own1 = r.start_symbol.normalized(), own2 = r.end_symbol.normalized(); + QList obstacles, others, other_symbols; + for (const QRectF &o : r.obstacles) { + const QRectF n = o.normalized(); + const bool own = (own1.isValid() && n == own1) || (own2.isValid() && n == own2); + // A symbol drawn around a terminal's own one is a frame the + // wire starts or ends inside: crossing its edge is the way in + // or out, and its inside is the place to route. + if (!own && ((own1.isValid() && n.contains(own1)) + || (own2.isValid() && n.contains(own2)))) + continue; + const QRectF padded = n.adjusted(-r.margin, -r.margin, r.margin, r.margin); + obstacles << padded; + if (!own) { + others << padded; + other_symbols << n; + } + } + + // Two terminals facing each other on one line, with nothing + // between them: the straight line, even when they are too close + // for each to step out a grid square first. With room, it keeps + // the step out of each terminal, as the search does (see the + // corners below); without, the point between them gives the path + // the three points a conductor's path needs. + const QPointF s = step(r.start_direction); + const QPointF ahead = r.end - r.start; + if (r.end_direction == opposite(r.start_direction) + && std::abs(s.x() != 0 ? ahead.y() : ahead.x()) < eps + && ahead.x() * s.x() + ahead.y() * s.y() > eps) { + bool clear = true; + for (const QRectF &o : others) + if (crossesInside(r.start, r.end, o)) { clear = false; break; } + // nor along another wire, which the search would avoid + const bool vertical = s.x() == 0; + const qreal line = vertical ? r.start.x() : r.start.y(); + const qreal lo = vertical ? std::min(r.start.y(), r.end.y()) : std::min(r.start.x(), r.end.x()); + const qreal hi = vertical ? std::max(r.start.y(), r.end.y()) : std::max(r.start.x(), r.end.x()); + for (const QVector &w : r.wires) { + for (int i = 0; clear && i + 1 < w.size(); ++i) { + const QPointF a = w.at(i), b = w.at(i + 1); + const qreal a_at = vertical ? a.x() : a.y(), b_at = vertical ? b.x() : b.y(); + if (std::abs(a_at - line) > 0.5 || std::abs(b_at - line) > 0.5) continue; + const qreal a_on = vertical ? a.y() : a.x(), b_on = vertical ? b.y() : b.x(); + if (std::min(hi, std::max(a_on, b_on)) - std::max(lo, std::min(a_on, b_on)) > eps) + clear = false; + } + } + if (clear) { + const QPointF e1 = firstStep(r.start, r.start_direction, r.grid); + const QPointF e2 = firstStep(r.end, r.end_direction, r.grid); + const QPointF gap = e2 - e1; + result.points << r.start; + if (gap.x() * s.x() + gap.y() * s.y() > eps) + result.points << e1 << e2; + else if (std::abs(gap.x()) < eps && std::abs(gap.y()) < eps) + result.points << e1; + else + result.points << (r.start + r.end) / 2; + result.points << r.end; + return result; + } + } + + QPointF s1, s2; + if (!exitPoint(r.start, r.start_direction, r, obstacles, other_symbols, own1.isValid(), s1) + || !exitPoint(r.end, r.end_direction, r, obstacles, other_symbols, own2.isValid(), s2)) { + result.error = QStringLiteral("a terminal points straight into another symbol, " + "or has no way out of the symbols around it"); + return result; + } + + // The area searched: everything involved, with room to go round + // it, kept on the folio when there is one. + QRectF box = QRectF(s1, s2).normalized(); + for (const QRectF &o : obstacles) box = box.united(o); + box.adjust(-3 * r.grid, -3 * r.grid, 3 * r.grid, 3 * r.grid); + if (r.bounds.isValid()) box = box.intersected(r.bounds); + box = box.united(QRectF(s1, s2).normalized()); + + const QVector xs = axis(box.left(), box.right(), r.grid, {s1.x(), s2.x()}); + const QVector ys = axis(box.top(), box.bottom(), r.grid, {s1.y(), s2.y()}); + const int nx = xs.size(), ny = ys.size(); + if (qint64(nx) * ny > max_nodes) { + result.error = QStringLiteral("the area to search is too large"); + return result; + } + + QVector horizontal_wires, vertical_wires; + for (const QVector &w : r.wires) { + for (int i = 0; i + 1 < w.size(); ++i) { + const QPointF a = w.at(i), b = w.at(i + 1); + if (std::abs(a.y() - b.y()) < 0.5 && std::abs(a.x() - b.x()) > eps) + horizontal_wires << Span{a.y(), std::min(a.x(), b.x()), std::max(a.x(), b.x())}; + else if (std::abs(a.x() - b.x()) < 0.5 && std::abs(a.y() - b.y()) > eps) + vertical_wires << Span{a.x(), std::min(a.y(), b.y()), std::max(a.y(), b.y())}; + } + } + + // The cost of the edge from each node to the next one east, + // h_cost[j * nx + i], and south, v_cost[i * ny + j]; infinity + // where blocked or none. + const qreal inf = std::numeric_limits::infinity(); + const std::vector h_cost = edgeCosts(true, xs, ys, obstacles, + horizontal_wires, vertical_wires, r.grid); + const std::vector v_cost = edgeCosts(false, ys, xs, obstacles, + vertical_wires, horizontal_wires, r.grid); + + const int start_node = indexOf(ys, s1.y()) * nx + indexOf(xs, s1.x()); + const int goal_node = indexOf(ys, s2.y()) * nx + indexOf(xs, s2.x()); + const qreal bend = bend_steps * r.grid; + // The wire arrives at the second terminal moving opposite to the + // way it points. + const Direction arrival = opposite(r.end_direction); + + // Dijkstra over (node, direction of travel): the direction is what + // lets a bend be charged for. + const size_t states = size_t(nx) * ny * 4; + std::vector dist(states, inf); + std::vector previous(states, -1); + using Entry = std::pair; + std::priority_queue, std::greater> queue; + const int first = start_node * 4 + int(r.start_direction); + dist[size_t(first)] = 0; + queue.push({0, first}); + + qreal best = inf; + int best_state = -1; + while (!queue.empty()) { + const auto [cost, state] = queue.top(); + queue.pop(); + if (cost > dist[size_t(state)] || cost >= best) { + if (cost >= best) break; + continue; + } + const int node = state / 4; + const Direction d = static_cast(state % 4); + if (node == goal_node && d != r.end_direction) { + const qreal total = cost + (d == arrival ? 0 : bend); + if (total < best) { best = total; best_state = state; } + } + const int i = node % nx, j = node / nx; + for (int k = 0; k < 4; ++k) { + const Direction nd = static_cast(k); + if (nd == opposite(d)) continue; + int ni = i, nj = j; + qreal edge = inf; + switch (nd) { + case Direction::East: if (i + 1 < nx) { ni = i + 1; edge = h_cost[size_t(j) * nx + i]; } break; + case Direction::West: if (i > 0) { ni = i - 1; edge = h_cost[size_t(j) * nx + ni]; } break; + case Direction::South: if (j + 1 < ny) { nj = j + 1; edge = v_cost[size_t(i) * ny + j]; } break; + case Direction::North: if (j > 0) { nj = j - 1; edge = v_cost[size_t(i) * ny + nj]; } break; + } + if (edge == inf) continue; + const qreal next_cost = cost + edge + (nd == d ? 0 : bend); + const int next = (nj * nx + ni) * 4 + k; + if (next_cost < dist[size_t(next)]) { + dist[size_t(next)] = next_cost; + previous[size_t(next)] = state; + queue.push({next_cost, next}); + } + } + } + + if (best_state < 0) { + result.error = QStringLiteral("no path around the symbols was found"); + return result; + } + + QList chain; + for (int s = best_state; s >= 0; s = previous[size_t(s)]) { + const int node = s / 4; + chain.prepend(QPointF(xs[node % nx], ys[node / nx])); + } + + // Keep only the corners. The two exit points stay even when + // straight on, as Conductor::generateConductorPath() keeps them: + // the segment from a terminal to its exit point is the one the + // application holds fixed when a wire is edited by hand. + QList corners; + for (int k = 0; k < chain.size(); ++k) { + const QPointF p = chain.at(k); + if (k > 0 && k + 1 < chain.size()) { + const QPointF a = chain.at(k - 1), b = chain.at(k + 1); + const bool straight = (std::abs(a.x() - p.x()) < eps && std::abs(b.x() - p.x()) < eps) + || (std::abs(a.y() - p.y()) < eps && std::abs(b.y() - p.y()) < eps); + if (straight) continue; + } + corners << p; + } + + result.points << r.start; + for (const QPointF &p : corners) + if (result.points.last() != p) result.points << p; + if (result.points.last() != r.end) result.points << r.end; + return result; +} diff --git a/sources/conductorrouter.h b/sources/conductorrouter.h new file mode 100644 index 000000000..d8bc1ac42 --- /dev/null +++ b/sources/conductorrouter.h @@ -0,0 +1,83 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef CONDUCTORROUTER_H +#define CONDUCTORROUTER_H + +#include +#include +#include +#include +#include + +/** + @brief The ConductorRouter namespace + Finds a path for a conductor that goes around obstacles -- the bounding + rectangles of the symbols on the folio -- instead of the default two or + three straight segments, which run through whatever lies between the two + terminals. Kept free of any QGraphicsItem so the geometry can be tested + on its own. + + The path is made of horizontal and vertical segments only, like every + conductor. It leaves each terminal in the terminal's own direction, + runs on the folio grid, and is the cheapest one found by a search that + charges for length, for every bend, and for running along or crossing + the wires already drawn. +*/ +namespace ConductorRouter +{ + ///The direction a terminal points, outward from its symbol. + ///Same order as Qet::Orientation. + enum class Direction { North, East, South, West }; + + struct Request + { + QPointF start; ///< the first terminal's docking point + Direction start_direction = Direction::North; + QPointF end; ///< the second terminal's docking point + Direction end_direction = Direction::North; + ///Areas no segment may cross. A margin is added to each. + QList obstacles; + ///Each terminal's own symbol, when known, as it appears in + ///obstacles. A route steps out of it first and never walks + ///through another symbol to get out; an obstacle drawn around + ///it (a cabinet made as one element) is left out. + QRectF start_symbol; + QRectF end_symbol; + ///The other wires on the folio, each as its list of points. + ///Running along one or crossing one costs extra. + QList> wires; + ///The route stays inside this, when it is valid (the folio). + QRectF bounds; + qreal grid = 10.0; + ///Added around each obstacle, so a route keeps clear of it + qreal margin = 5.0; + }; + + struct Result + { + ///From start to end, both included; empty if none was found + QList points; + ///Why there is no route, when points is empty + QString error; + }; + + Result route(const Request &request); +} + +#endif // CONDUCTORROUTER_H diff --git a/sources/createdxf.cpp b/sources/createdxf.cpp index 5135274ee..36c42fbf3 100644 --- a/sources/createdxf.cpp +++ b/sources/createdxf.cpp @@ -22,6 +22,9 @@ #include #include "dxfexport.h" +#include +#include + const double Createdxf::sheetWidth = 4000; const double Createdxf::sheetHeight = 2700; @@ -65,7 +68,16 @@ Createdxf::~Createdxf() /* Header section of every DXF file. @param layers : the layers the entities will be written on, declared in the LAYER table beside layer "0", which every DXF has. */ -void Createdxf::dxfBegin (const QString& fileName, const QStringList &layers) +/** + @brief Createdxf::dxfBegin + Write the header, the tables with @a layers, and the BLOCKS section, + then open the ENTITIES section. @a writeBlocks, if given, is called + inside the BLOCKS section to write the block definitions + (dxfBlockBegin(), the entities, dxfBlockEnd()): a block has to be + defined before any entity, so before anything is drawn. +*/ +void Createdxf::dxfBegin (const QString& fileName, const QStringList &layers, + const std::function &writeBlocks) { layer = QStringLiteral("0"); @@ -273,17 +285,203 @@ void Createdxf::dxfBegin (const QString& fileName, const QStringList &layers) To_Dxf << "SECTION" << "\r\n"; To_Dxf << 2 << "\r\n"; To_Dxf << "BLOCKS" << "\r\n"; + file.close(); + } + if (writeBlocks) + writeBlocks(); + QFile entities(fileName); + if (entities.open(QFile::Append)) { + QTextStream To_Dxf(&entities); To_Dxf << 0 << "\r\n"; To_Dxf << "ENDSEC" << "\r\n"; To_Dxf << 0 << "\r\n"; To_Dxf << "SECTION" << "\r\n"; To_Dxf << 2 << "\r\n"; To_Dxf << "ENTITIES" << "\r\n"; - file.close(); + entities.close(); } } } +/** + @brief Createdxf::dxfBlockBegin + Start the definition of block @a name, with its base point at @a x, + @a y. Only inside dxfBegin()'s writeBlocks; every entity written until + dxfBlockEnd() belongs to the block. + @param hasAttributes : the block has attribute definitions +*/ +void Createdxf::dxfBlockBegin(const QString &fileName, + const QString &name, + double x, + double y, + bool hasAttributes) +{ + QFile file(fileName); + if (!file.open(QFile::Append)) + return; + QTextStream To_Dxf(&file); + To_Dxf << 0 << "\r\n"; + To_Dxf << "BLOCK" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << "0" << "\r\n"; + To_Dxf << 2 << "\r\n"; + To_Dxf << name << "\r\n"; + To_Dxf << 70 << "\r\n"; + To_Dxf << (hasAttributes ? 2 : 0) << "\r\n"; + To_Dxf << 10 << "\r\n"; + To_Dxf << x << "\r\n"; + To_Dxf << 20 << "\r\n"; + To_Dxf << y << "\r\n"; + To_Dxf << 30 << "\r\n"; + To_Dxf << 0.0 << "\r\n"; + file.close(); +} + +/** + @brief Createdxf::dxfBlockEnd + End the block started by dxfBlockBegin(). +*/ +void Createdxf::dxfBlockEnd(const QString &fileName) +{ + QFile file(fileName); + if (!file.open(QFile::Append)) + return; + QTextStream To_Dxf(&file); + To_Dxf << 0 << "\r\n"; + To_Dxf << "ENDBLK" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << "0" << "\r\n"; + file.close(); +} + +/** + @brief Createdxf::drawInsert + Place block @a name at @a x, @a y, turned counter-clockwise by + @a rotation degrees, on the current layer, followed by its + @a attributes. +*/ +void Createdxf::drawInsert(const QString &fileName, + const QString &name, + double x, + double y, + double rotation, + const QList &attributes) +{ + QFile file(fileName); + if (!file.open(QFile::Append)) + return; + QTextStream To_Dxf(&file); + To_Dxf << 0 << "\r\n"; + To_Dxf << "INSERT" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << layer << "\r\n"; + if (!attributes.isEmpty()) { + To_Dxf << 66 << "\r\n"; + To_Dxf << 1 << "\r\n"; + } + To_Dxf << 2 << "\r\n"; + To_Dxf << name << "\r\n"; + To_Dxf << 10 << "\r\n"; + To_Dxf << x << "\r\n"; + To_Dxf << 20 << "\r\n"; + To_Dxf << y << "\r\n"; + To_Dxf << 30 << "\r\n"; + To_Dxf << 0.0 << "\r\n"; + To_Dxf << 50 << "\r\n"; + To_Dxf << rotation << "\r\n"; + for (const Attribute &attribute : attributes) { + To_Dxf << 0 << "\r\n"; + To_Dxf << "ATTRIB" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << (attribute.layer.isEmpty() ? layer : attribute.layer) << "\r\n"; + To_Dxf << 62 << "\r\n"; + To_Dxf << entityColour(attribute.colour) << "\r\n"; + To_Dxf << 10 << "\r\n"; + To_Dxf << attribute.x << "\r\n"; + To_Dxf << 20 << "\r\n"; + To_Dxf << attribute.y << "\r\n"; + To_Dxf << 30 << "\r\n"; + To_Dxf << 0.0 << "\r\n"; + To_Dxf << 40 << "\r\n"; + To_Dxf << attribute.height << "\r\n"; + To_Dxf << 1 << "\r\n"; + To_Dxf << singleLine(attribute.text) << "\r\n"; + To_Dxf << 2 << "\r\n"; + To_Dxf << attribute.tag << "\r\n"; + To_Dxf << 70 << "\r\n"; + To_Dxf << (attribute.invisible ? 1 : 0) << "\r\n"; + To_Dxf << 50 << "\r\n"; + To_Dxf << attribute.rotation << "\r\n"; + To_Dxf << 41 << "\r\n"; + To_Dxf << attribute.xScaleW << "\r\n"; + } + if (!attributes.isEmpty()) { + To_Dxf << 0 << "\r\n"; + To_Dxf << "SEQEND" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << layer << "\r\n"; + } + file.close(); +} + +/** + @brief Createdxf::drawAttdef + Define an attribute of the block being written (between + dxfBlockBegin() and dxfBlockEnd()): its tag, where it sits and how it + looks; @a attribute's text is the default value. +*/ +void Createdxf::drawAttdef(const QString &fileName, const Attribute &attribute) +{ + QFile file(fileName); + if (!file.open(QFile::Append)) + return; + QTextStream To_Dxf(&file); + To_Dxf << 0 << "\r\n"; + To_Dxf << "ATTDEF" << "\r\n"; + To_Dxf << 8 << "\r\n"; + To_Dxf << (attribute.layer.isEmpty() ? layer : attribute.layer) << "\r\n"; + To_Dxf << 62 << "\r\n"; + To_Dxf << entityColour(attribute.colour) << "\r\n"; + To_Dxf << 10 << "\r\n"; + To_Dxf << attribute.x << "\r\n"; + To_Dxf << 20 << "\r\n"; + To_Dxf << attribute.y << "\r\n"; + To_Dxf << 30 << "\r\n"; + To_Dxf << 0.0 << "\r\n"; + To_Dxf << 40 << "\r\n"; + To_Dxf << attribute.height << "\r\n"; + To_Dxf << 1 << "\r\n"; + To_Dxf << singleLine(attribute.text) << "\r\n"; + To_Dxf << 3 << "\r\n"; + To_Dxf << attribute.tag << "\r\n"; + To_Dxf << 2 << "\r\n"; + To_Dxf << attribute.tag << "\r\n"; + To_Dxf << 70 << "\r\n"; + To_Dxf << (attribute.invisible ? 1 : 0) << "\r\n"; + To_Dxf << 50 << "\r\n"; + To_Dxf << attribute.rotation << "\r\n"; + To_Dxf << 41 << "\r\n"; + To_Dxf << attribute.xScaleW << "\r\n"; + file.close(); +} + +/** + @brief Createdxf::blockName + @return @a name as a block or attribute name an R10 reader accepts: + upper case, only A-Z, 0-9, _, - and $, at most 31 characters +*/ +QString Createdxf::blockName(const QString &name) +{ + QString result; + for (const QChar c : name.toUpper()) { + const ushort u = c.unicode(); + const bool ok = (u >= 'A' && u <= 'Z') || (u >= '0' && u <= '9') + || u == '_' || u == '-' || u == '$'; + result += ok ? c : QChar('_'); + } + return result.left(31); +} + /** @brief Createdxf::dxfEnd End Section of every DXF File @@ -504,6 +702,24 @@ int Createdxf::dxfColor(QPen pen) { return Createdxf::dxfColor(pen.color()); } +/** + @brief Createdxf::drawArcEllipse + Draw an arc of an ellipse, or a whole ellipse, in DXF units. + @param x, y : top left of the ellipse's bounding rect (y is the top, the + DXF Y axis going up) + @param w, h : width and height of that rect + @param startAngle, spanAngle : in degrees, as QPainter::drawArc() takes + them: counter-clockwise from 3 o'clock + @param hotspot_x, hotspot_y, rotation_angle : the whole shape is turned + clockwise by rotation_angle degrees around the hotspot, as a rotated + symbol is + A circle, or an arc of one, is written as one exact CIRCLE or ARC. R10, + the version this file declares, has no ELLIPSE entity, so a true + ellipse is written as a polyline through points of the curve, one every + 5 degrees. It used to be four ARCs fitted through a point between the + curve and its chord, which drew every circle as a flattened diamond + (issue #1339). +*/ void Createdxf::drawArcEllipse( const QString &file_path, qreal x, @@ -517,138 +733,46 @@ void Createdxf::drawArcEllipse( qreal rotation_angle, const int &colorcode) { - // vector of parts of arc (stored as a pair of startAngle and spanAngle) for each quadrant. - QVector< QPair > arc_parts_vector; + if (qFuzzyIsNull(spanAngle) || w <= 0 || h <= 0) + return; - if (spanAngle > 0) { - qreal start = startAngle; - qreal span; - int i; - for ( i = startAngle; i < startAngle+spanAngle; i++ ) { - int absolute_theta = (i > 0) ? i : -i; - if (absolute_theta == 0 || absolute_theta == 90 || - absolute_theta == 180 || absolute_theta == 270 || - absolute_theta == 360) { - span = i - start; - QPair newPart(start,span); - arc_parts_vector.push_back(newPart); - start = i; - } - } - if (start != i) { - span = i - start; - QPair newPart(start,span); - arc_parts_vector.push_back(newPart); - } - } else { - qreal start = startAngle; - qreal span; - int i; - for ( i = startAngle; i > startAngle+spanAngle; i-- ) { - int absolute_theta = (i > 0) ? i : -i; - if (absolute_theta == 0 || absolute_theta == 90 || - absolute_theta == 180 || absolute_theta == 270 || - absolute_theta == 360) { - span = i - start; - QPair newPart(start,span); - arc_parts_vector.push_back(newPart); - start = i; - } - } - if (start != i) { - span = i - start; - QPair newPart(start,span); - arc_parts_vector.push_back(newPart); + const qreal a = w/2; + const qreal b = h/2; + const QPointF center = DxfExport::rotation_transformed( + x + a, y - b, hotspot_x, hotspot_y, rotation_angle); + const bool full_turn = qAbs(spanAngle) >= 360; + + if (qAbs(a - b) <= 1e-6 * qMax(a, b)) + { + if (full_turn) { + drawCircle(file_path, a, center.x(), center.y(), colorcode); + return; } + //A DXF ARC always runs counter-clockwise from 50 to 51. + qreal start = startAngle - rotation_angle; + if (spanAngle < 0) + start += spanAngle; + start = std::fmod(start, 360.0); + if (start < 0) + start += 360; + drawArc(file_path, center.x(), center.y(), a, + start, start + qAbs(spanAngle), colorcode); + return; } - for (int i = 0; i < arc_parts_vector.size(); i++) { - - QPair arc = arc_parts_vector[i]; - if (arc.second == 0) - continue; - qreal arc_startAngle = arc.first * 3.142/180; - qreal arc_spanAngle = arc.second * 3.142/180; - - qreal a = w/2; - qreal b = h/2; - - qreal x1 = x + w/2 + a*cos(arc_startAngle); - qreal y1 = y - h/2 + b*sin(arc_startAngle); - qreal x2 = x + w/2 + a*cos(arc_startAngle + arc_spanAngle); - qreal y2 = y - h/2 + b*sin(arc_startAngle + arc_spanAngle); - - - qreal mid_ellipse_x = x + w/2 + a*cos(arc_startAngle + arc_spanAngle/2); - qreal mid_ellipse_y = y - h/2 + b*sin(arc_startAngle + arc_spanAngle/2); - qreal mid_line_x = (x1+x2)/2; - qreal mid_line_y = (y1+y2)/2; - - qreal x3 = (mid_ellipse_x + mid_line_x)/2; - qreal y3 = (mid_ellipse_y + mid_line_y)/2; - - // find circumcenter of points (x1,y1), (x3,y3) and (x2,y2) - qreal a1 = 2*x2 - 2*x1; - qreal b1 = 2*y2 - 2*y1; - qreal c1 = x1*x1 + y1*y1 - x2*x2 - y2*y2; - - qreal a2 = 2*x3 - 2*x1; - qreal b2 = 2*y3 - 2*y1; - qreal c2 = x1*x1 + y1*y1 - x3*x3 - y3*y3; - - qreal center_x = (b1*c2 - b2*c1) / (a1*b2 - a2*b1); - qreal center_y = (a1*c2 - a2*c1) / (b1*a2 - b2*a1); - - qreal radius = sqrt( (x1-center_x)*(x1-center_x) + (y1-center_y)*(y1-center_y) ); - - if ( x1 > center_x && y1 > center_y ) - arc_startAngle = asin( (y1 - center_y) / radius ); - else if ( x1 > center_x && y1 < center_y ) - arc_startAngle = 3.142*2 - asin( (center_y - y1) / radius ); - else if ( x1 < center_x && y1 < center_y ) - arc_startAngle = 3.142 + asin( (center_y - y1) / radius ); - else - arc_startAngle = 3.142 - asin( (y1 - center_y) / radius ); - - qreal arc_endAngle; - - if ( x2 > center_x && y2 > center_y ) - arc_endAngle = asin( (y2 - center_y) / radius ); - else if ( x2 > center_x && y2 < center_y ) - arc_endAngle = 3.142*2 - asin( (center_y - y2) / radius ); - else if ( x2 < center_x && y2 < center_y ) - arc_endAngle = 3.142 + asin( (center_y - y2) / radius ); - else - arc_endAngle = 3.142 - asin( (y2 - center_y) / radius ); - - if (arc_endAngle < arc_startAngle) { - qreal temp = arc_startAngle; - arc_startAngle = arc_endAngle; - arc_endAngle = temp; - } - - QPointF transformed_point = DxfExport::rotation_transformed( - center_x, - center_y, - hotspot_x, - hotspot_y, - rotation_angle); - center_x = transformed_point.x(); - center_y = transformed_point.y(); - arc_endAngle *= 180/3.142; - arc_startAngle *= 180/3.142; - arc_endAngle -= rotation_angle; - arc_startAngle -= rotation_angle; - - drawArc( - file_path, - center_x, - center_y, - radius, - arc_startAngle, - arc_endAngle, - colorcode); + const qreal span = full_turn ? 360 : spanAngle; + const int steps = qMax(2, qCeil(qAbs(span) / 5)); + QPolygonF poly; + poly.reserve(steps + 1); + for (int i = 0 ; i <= steps ; ++i) + { + const qreal theta = qDegreesToRadians(startAngle + span * i / steps); + poly << DxfExport::rotation_transformed( + x + a + a*std::cos(theta), + y - b + b*std::sin(theta), + hotspot_x, hotspot_y, rotation_angle); } + drawPolyline(file_path, poly, colorcode, true); } @@ -809,6 +933,31 @@ void Createdxf::drawTextAligned( double xAlign, double xScaleW, int colour) +{ + drawTextAligned(fileName, text, x, y, height, rotation, oblique, + hAlign, vAlign, xAlign, y, xScaleW, colour); +} + +/** + @brief Createdxf::drawTextAligned + As above, with the second alignment point given in full (@a xAlign, + @a yAlign) instead of on the same horizontal line as the insertion + point, which is what a rotated aligned text needs. +*/ +void Createdxf::drawTextAligned( + const QString& fileName, + const QString& text, + double x, + double y, + double height, + double rotation, + double oblique, + int hAlign, + int vAlign, + double xAlign, + double yAlign, + double xScaleW, + int colour) { if (!fileName.isEmpty()) { QFile file(fileName); @@ -869,7 +1018,7 @@ void Createdxf::drawTextAligned( To_Dxf << 11 << "\r\n"; // XYZ To_Dxf << xAlign << "\r\n"; // X in UCS (User Coordinate System)coordinates To_Dxf << 21 << "\r\n"; - To_Dxf << y << "\r\n"; // Y in UCS (User Coordinate System)coordinates + To_Dxf << yAlign << "\r\n"; // Y in UCS (User Coordinate System)coordinates To_Dxf << 31 << "\r\n"; To_Dxf << 0.0 << "\r\n"; // Z in UCS (User Coordinate System)coordinates } diff --git a/sources/createdxf.h b/sources/createdxf.h index 5fb042e82..47d3cd24c 100644 --- a/sources/createdxf.h +++ b/sources/createdxf.h @@ -22,6 +22,8 @@ #include #include +#include + /** @brief The Createdxf class This class exports the project to DXF Format @@ -31,8 +33,38 @@ class Createdxf public: Createdxf(); ~Createdxf(); - static void dxfBegin (const QString&, const QStringList &layers = QStringList()); + static void dxfBegin (const QString&, const QStringList &layers = QStringList(), + const std::function &writeBlocks = {}); static void dxfEnd(const QString&); + static void dxfBlockBegin(const QString &fileName, + const QString &name, + double x, + double y, + bool hasAttributes = false); + static void dxfBlockEnd(const QString &fileName); + /// One attribute of a placed block, in DXF units + struct Attribute + { + QString tag; + QString text; + double x = 0; + double y = 0; + double height = 0; + double rotation = 0; + double xScaleW = 1; + int colour = 0; + bool invisible = false; + QString layer; ///< empty: the INSERT's layer + }; + static void drawInsert(const QString &fileName, + const QString &name, + double x, + double y, + double rotation, + const QList &attributes = {}); + static void drawAttdef(const QString &fileName, + const Attribute &attribute); + static QString blockName(const QString &name); // you can add more functions to create more drawings. static void drawCircle( const QString&, @@ -141,6 +173,20 @@ class Createdxf double xAlign, double xScale, int colour); + static void drawTextAligned( + const QString& fileName, + const QString& text, + double x, + double y, + double height, + double rotation, + double oblique, + int hAlign, + int vAlign, + double xAlign, + double yAlign, + double xScale, + int colour); static void drawPolyline( const QString &filepath, diff --git a/sources/darkimagerendering.h b/sources/darkimagerendering.h new file mode 100644 index 000000000..ad7c25206 --- /dev/null +++ b/sources/darkimagerendering.h @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef DARK_IMAGE_RENDERING_H +#define DARK_IMAGE_RENDERING_H + +#include +#include +#include + +namespace DarkImageRendering { +// View-local raster composition boundary. Qt still paints the scene in +// its native order, with its own transforms, clipping and opacity. +// A different painter (printing, export, another view or an item cache) +// cannot consume this display-only context. +struct Context { + QPainter *painter; + bool invertScene; + std::function flush; +}; +inline thread_local Context *current = nullptr; +class Scope { + Context *previous; +public: + explicit Scope(Context *context) : previous(current) { current = context; } + ~Scope() { current = previous; } + Scope(const Scope &) = delete; + Scope &operator=(const Scope &) = delete; +}; +inline void paintPixmap(QPainter *painter, const QPixmap &pixmap, bool adapt) +{ + Context *context = current; + const bool boundary = context && context->painter == painter && adapt != context->invertScene; + if (boundary) context->flush(context->invertScene, QRect()); + painter->drawPixmap(pixmap.rect(), pixmap); + if (boundary) { + // Only the raster was drawn since the preceding flush. Avoid a + // whole-viewport copy for a small logo; include filtering/AA edges. + const QRect area = painter->worldTransform().mapRect(QRectF(pixmap.rect())).toAlignedRect().adjusted(-2,-2,2,2); + context->flush(adapt, area); + } +} +} +#endif diff --git a/sources/dataBase/projectdatabase.cpp b/sources/dataBase/projectdatabase.cpp index bea454bd4..6bbf6598f 100644 --- a/sources/dataBase/projectdatabase.cpp +++ b/sources/dataBase/projectdatabase.cpp @@ -180,8 +180,37 @@ struct DocumentTerminal QString uuid; QString name; bool master_label = false; + QVariant index; }; + //The index each of @p points has in Element::terminals() -- the index + //the scripting API's addConductor() and conductor calls take -- or a + //null QVariant for a point another terminal shares. Element:: + //parseTerminal() sorts the list top to bottom, then left to right, on + //each terminal's position in its definition, and the sort is not + //stable, so which of two terminals at the same point comes first is + //not defined: no index is given rather than one that can change. +QList terminalIndexes(const QList &points) +{ + QList order; + for (int i = 0 ; i < points.size() ; ++i) { + order << i; + } + std::stable_sort(order.begin(), order.end(), [&points](int a, int b) { + if (points.at(a).y() == points.at(b).y()) { + return points.at(a).x() < points.at(b).x(); + } + return points.at(a).y() < points.at(b).y(); + }); + QList indexes(points.size()); + for (int i = 0 ; i < order.size() ; ++i) { + if (points.count(points.at(order.at(i))) == 1) { + indexes[order.at(i)] = i; + } + } + return indexes; +} + struct DocumentDefinition { QString type; @@ -207,7 +236,7 @@ struct DocumentElement //the attributes files written before carry. bool readSequence(const QDomElement &item, autonum::sequentialNumbers *sequence) { - for (const char *name : {"sequ_1", "sequf_1", "seqt_1", "seqtf_1", "seqh_1"}) { + for (const char *name : {"sequ_1", "sequf_1", "seqt_1", "seqtf_1", "seqh_1", "seqhf_1"}) { if (item.hasAttribute(QLatin1String(name))) { return false; } @@ -391,6 +420,25 @@ bool projectDataBase::populateFromDocument(const QDomDocument &document, QString data.fromXml(definition); read.type = data.typeToString(); read.sub_type = data.masterTypeToString(); + //Every terminal the element is built with counts towards + //the indexes, as Element::parseTerminal() keeps every one + //whose position reads, in every . + QList parsed; + QList points; + for (QDomElement d = definition.firstChildElement(QStringLiteral("description")) ; + !d.isNull() ; d = d.nextSiblingElement(QStringLiteral("description"))) { + for (QDomElement t = d.firstChildElement(QStringLiteral("terminal")) ; + !t.isNull() ; t = t.nextSiblingElement(QStringLiteral("terminal"))) + { + qreal x, y; + if (QET::attributeIsAReal(t, QStringLiteral("x"), &x) + && QET::attributeIsAReal(t, QStringLiteral("y"), &y)) { + parsed << t; + points << QPointF(x, y); + } + } + } + const QList indexes = terminalIndexes(points); const QDomElement description = definition.firstChildElement(QStringLiteral("description")); for (QDomElement t = description.firstChildElement(QStringLiteral("terminal")) ; !t.isNull() ; t = t.nextSiblingElement(QStringLiteral("terminal"))) @@ -403,6 +451,10 @@ bool projectDataBase::populateFromDocument(const QDomDocument &document, QString terminal.uuid = terminal_uuid.toString(); terminal.name = t.attribute(QStringLiteral("name")); terminal.master_label = t.attribute(QStringLiteral("use_master_label")) == QLatin1String("true"); + const int place = parsed.indexOf(t); + if (place >= 0) { + terminal.index = indexes.at(place); + } read.terminals.insert(terminal_uuid, terminal); } known = definitions.insert(type, read); @@ -582,8 +634,8 @@ bool projectDataBase::populateFromDocument(const QDomDocument &document, QString for (const auto &end : {std::make_pair(conductor.element1, conductor.terminal1), std::make_pair(conductor.element2, conductor.terminal2)}) { const DocumentElement &owner = elements.at(element_index.value(end.first)); - insertTerminal(end.second, end.first, - owner.terminals.value(QUuid(end.second)).name); + const DocumentTerminal &terminal = owner.terminals.value(QUuid(end.second)); + insertTerminal(end.second, end.first, terminal.name, terminal.index); } m_insert_conductor_query.bindValue(QStringLiteral(":uuid"), conductor.uuid); m_insert_conductor_query.bindValue(QStringLiteral(":diagram_uuid"), conductor.diagram_uuid); @@ -1196,6 +1248,8 @@ void projectDataBase::addDrawingItem(QGraphicsItem *item) } else if (auto text = qobject_cast(object)) { connect(text, &IndependentTextItem::uuidChanged, this, &projectDataBase::drawingItemChanged, unique); + //Also changes the height of the text, kept in the row + connect(text, &IndependentTextItem::textWidthChanged, this, &projectDataBase::drawingItemChanged, unique); //Sent by the document, not the item: drawingItemChanged() walks //back up to the item. It is the one signal that catches every way //the text changes -- typing, undo, a script's setTextContent(). @@ -1372,6 +1426,9 @@ bool projectDataBase::writeDrawingItem(QObject *object) query = &m_insert_independent_text_query; query->bindValue(QStringLiteral(":text"), text->toPlainText()); query->bindValue(QStringLiteral(":rotation"), text->rotation()); + //NULL for the automatic width + query->bindValue(QStringLiteral(":text_width"), text->textWidth() > 0 + ? QVariant(text->textWidth()) : QVariant()); } else if (auto image = qobject_cast(object)) { @@ -1560,6 +1617,7 @@ bool projectDataBase::createDataBase() "uuid VARCHAR(50) NOT NULL, " "element_uuid VARCHAR(50) NOT NULL," "name VARCHAR(50)," + "terminal_index INTEGER," "PRIMARY KEY (uuid, element_uuid)," "FOREIGN KEY (element_uuid) REFERENCES element (uuid)" ")"); @@ -1614,7 +1672,7 @@ bool projectDataBase::createDataBase() "type VARCHAR(20), color VARCHAR(20), fill VARCHAR(20), " "FOREIGN KEY (diagram_uuid) REFERENCES diagram (uuid))", QStringLiteral("CREATE TABLE independent_text (") + drawing_columns + - "text TEXT, rotation REAL, " + "text TEXT, rotation REAL, text_width REAL, " "FOREIGN KEY (diagram_uuid) REFERENCES diagram (uuid))", QStringLiteral("CREATE TABLE image (") + drawing_columns + "pixel_width INTEGER, pixel_height INTEGER, " @@ -1812,7 +1870,11 @@ void projectDataBase::createWiringListView() "t2.element_uuid AS to_element_uuid," "ei2.label AS to_element_label," "t2.name AS to_terminal," - "d.pos AS diagram_position" + "d.pos AS diagram_position," + "t1.uuid AS from_terminal_uuid," + "t1.terminal_index AS from_terminal_index," + "t2.uuid AS to_terminal_uuid," + "t2.terminal_index AS to_terminal_index" " FROM conductor c" " JOIN terminal t1 ON c.terminal1_uuid = t1.uuid AND c.terminal1_element_uuid = t1.element_uuid" " JOIN terminal t2 ON c.terminal2_uuid = t2.uuid AND c.terminal2_element_uuid = t2.element_uuid" @@ -1999,9 +2061,15 @@ void projectDataBase::populateConductorTable() */ void projectDataBase::insertTerminal(Terminal *terminal) { + const QList terminals = terminal->parentElement()->terminals(); + QList points; + for (const Terminal *t : terminals) { + points << terminal->parentElement()->mapFromScene(t->dockConductor()); + } insertTerminal(terminal->stableUuid().toString(), terminal->parentElement()->uuid().toString(), - terminal->name()); + terminal->name(), + terminalIndexes(points).value(terminals.indexOf(terminal))); } /** @@ -2009,11 +2077,12 @@ void projectDataBase::insertTerminal(Terminal *terminal) insertTerminal(Terminal *) from values rather than a live terminal. */ void projectDataBase::insertTerminal(const QString &uuid, const QString &element_uuid, - const QString &name) + const QString &name, const QVariant &index) { m_insert_terminal_query.bindValue(":uuid", uuid); m_insert_terminal_query.bindValue(":element_uuid", element_uuid); m_insert_terminal_query.bindValue(":name", name); + m_insert_terminal_query.bindValue(":terminal_index", index); if (!m_insert_terminal_query.exec()) { qDebug() << "projectDataBase::insertTerminal insert error : " << m_insert_terminal_query.lastError(); } @@ -2059,8 +2128,8 @@ void projectDataBase::prepareQuery() ", :type, :color, :fill)"); m_insert_independent_text_query = QSqlQuery(m_data_base); m_insert_independent_text_query.prepare("INSERT OR REPLACE INTO independent_text (" + drawing_columns + - ", text, rotation) VALUES (" + drawing_values + - ", :text, :rotation)"); + ", text, rotation, text_width) VALUES (" + drawing_values + + ", :text, :rotation, :text_width)"); m_insert_image_query = QSqlQuery(m_data_base); m_insert_image_query.prepare("INSERT OR REPLACE INTO image (" + drawing_columns + ", pixel_width, pixel_height) VALUES (" + drawing_values + @@ -2146,7 +2215,7 @@ void projectDataBase::prepareQuery() //INSERT TERMINAL m_insert_terminal_query = QSqlQuery(m_data_base); - m_insert_terminal_query.prepare("INSERT OR IGNORE INTO terminal (uuid, element_uuid, name) VALUES (:uuid, :element_uuid, :name)"); + m_insert_terminal_query.prepare("INSERT OR IGNORE INTO terminal (uuid, element_uuid, name, terminal_index) VALUES (:uuid, :element_uuid, :name, :terminal_index)"); //INSERT CONDUCTOR m_insert_conductor_query = QSqlQuery(m_data_base); diff --git a/sources/dataBase/projectdatabase.h b/sources/dataBase/projectdatabase.h index 67472af91..1029fcc3d 100644 --- a/sources/dataBase/projectdatabase.h +++ b/sources/dataBase/projectdatabase.h @@ -150,7 +150,7 @@ class projectDataBase : public QObject void watchConductor(Conductor *conductor); void insertTerminal(Terminal *terminal); void insertTerminal(const QString &uuid, const QString &element_uuid, - const QString &name); + const QString &name, const QVariant &index); void prepareQuery(); static QHash elementInfoToString( Element *elmt); diff --git a/sources/dataBase/ui/elementquerywidget.cpp b/sources/dataBase/ui/elementquerywidget.cpp index 6331efb63..9afb47a51 100644 --- a/sources/dataBase/ui/elementquerywidget.cpp +++ b/sources/dataBase/ui/elementquerywidget.cpp @@ -56,6 +56,7 @@ ElementQueryWidget::ElementQueryWidget(QWidget *parent) : m_button_group.addButton(ui->m_protection_cb, 5); m_button_group.addButton(ui->m_thumbnail_cb, 6); m_button_group.addButton(ui->m_plc_cb, 7); + m_button_group.addButton(ui->m_slave_cb, 8); connect(&m_button_group, static_cast(&QButtonGroup::idClicked), [this](int id) { @@ -78,27 +79,12 @@ ElementQueryWidget::ElementQueryWidget(QWidget *parent) : } else { - int checked = 0; - for (int i=1 ; i<8 ; ++i) { - if (m_button_group.button(i)->isChecked()) {++checked;} - } - - switch (checked) - { - case 0 : - check_box->setCheckState(Qt::Unchecked); - break; - case 7: - check_box->setCheckState(Qt::Checked); - break; - default: - check_box->setCheckState(Qt::PartiallyChecked); - break; - } + updateAllCheckState(); } updateQueryLine(); }); + updateAllCheckState(); setUpItems(); fillSavedQuery(); @@ -203,8 +189,12 @@ void ElementQueryWidget::setQuery(const QString &query) if (ui->m_plc_cb->isChecked()) { ++c; } + ui->m_slave_cb->setChecked (str_type.contains(ElementData::typeToString(ElementData::Slave))); + if (ui->m_slave_cb->isChecked()) { + ++c; + } - if (c == 7) { + if (c == 8) { ui->m_all_cb->setCheckState(Qt::Checked); } else if (c > 0) { ui->m_all_cb->setCheckState(Qt::PartiallyChecked); @@ -395,6 +385,11 @@ QString ElementQueryWidget::queryStr() const where += QStringLiteral(" element_sub_type = '") += ElementData::masterTypeToString(ElementData::PLC) += "'"; b = true; } + if (ui->m_slave_cb->isChecked()) { + if (b) where +=" OR"; + where += QStringLiteral(" element_type = '") += ElementData::typeToString(ElementData::Slave) += "'"; + b = true; + } where.append(")"); if (where == " WHERE ()") { @@ -406,6 +401,10 @@ QString ElementQueryWidget::queryStr() const // widget's query reads FROM that view, so a flagged element never // reaches this point in the first place. + if (!m_extra_filter.isEmpty()) { + filter_ += QStringLiteral(" AND ") + m_extra_filter; + } + if (where.isEmpty() && !filter_.isEmpty()) { filter_.remove(0, 4); //Remove the first " AND" of filter. filter_.prepend( " WHERE"); @@ -456,6 +455,64 @@ void ElementQueryWidget::setCount(QString text, bool set) updateQueryLine(); } +/** + @brief ElementQueryWidget::setSlavesIncluded + Check or uncheck the contact blocks (slave elements) in the element + type filter. The box is unchecked by default, which keeps the tables + made before it existed as they were. + @param included +*/ +void ElementQueryWidget::setSlavesIncluded(bool included) +{ + ui->m_slave_cb->setChecked(included); + updateAllCheckState(); + updateQueryLine(); +} + +/** + @brief ElementQueryWidget::updateAllCheckState + Set the "all" check box from the element type check boxes. +*/ +void ElementQueryWidget::updateAllCheckState() +{ + int checked = 0; + for (int i=1 ; i<9 ; ++i) { + if (m_button_group.button(i)->isChecked()) {++checked;} + } + + switch (checked) + { + case 0 : + ui->m_all_cb->setCheckState(Qt::Unchecked); + break; + case 8: + ui->m_all_cb->setCheckState(Qt::Checked); + break; + default: + ui->m_all_cb->setCheckState(Qt::PartiallyChecked); + break; + } +} + +/** + @brief ElementQueryWidget::setExtraFilter + Add a condition every row of the query must meet, on top of the filters + chosen in this widget. + @param text : the condition, ex : "label != ''" + @param set : + true by default -> the condition is used. + false -> the condition is removed. +*/ +void ElementQueryWidget::setExtraFilter(const QString &text, bool set) +{ + if (set) { + m_extra_filter = text; + } else { + m_extra_filter.clear(); + } + updateQueryLine(); +} + /** @brief ElementQueryWidget::updateQueryLine */ diff --git a/sources/dataBase/ui/elementquerywidget.h b/sources/dataBase/ui/elementquerywidget.h index f89883793..99cdf034d 100644 --- a/sources/dataBase/ui/elementquerywidget.h +++ b/sources/dataBase/ui/elementquerywidget.h @@ -45,6 +45,8 @@ class ElementQueryWidget : public QWidget QString queryStr() const; void setGroupBy(QString text, bool set = true); void setCount(QString text, bool set = true); + void setSlavesIncluded(bool included); + void setExtraFilter(const QString &text, bool set = true); static QString modelIdentifier() {return "nomenclature";} @@ -67,6 +69,7 @@ class ElementQueryWidget : public QWidget void on_m_choosen_list_itemDoubleClicked(QListWidgetItem *item); void updateQueryLine(); + void updateAllCheckState(); QStringList selectedKeys() const; void setUpItems(); QPair FilterFor(const QString &key) const; @@ -82,7 +85,8 @@ class ElementQueryWidget : public QWidget QList m_items_list; QString m_custom_query, m_group_by, - m_count; + m_count, + m_extra_filter; QHash > m_filter; }; diff --git a/sources/dataBase/ui/elementquerywidget.ui b/sources/dataBase/ui/elementquerywidget.ui index 8300b2387..5e01e2c5b 100644 --- a/sources/dataBase/ui/elementquerywidget.ui +++ b/sources/dataBase/ui/elementquerywidget.ui @@ -88,8 +88,7 @@ - - :/ico/16x16/go-up.png:/ico/16x16/go-up.png + false @@ -105,8 +104,7 @@ - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png + @@ -119,8 +117,7 @@ - - :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png + @@ -133,8 +130,7 @@ - - :/ico/16x16/go-down.png:/ico/16x16/go-down.png + @@ -322,6 +318,16 @@ + + + + Contacts esclaves + + + false + + + @@ -353,8 +359,7 @@ - - :/ico/16x16/folder-open.png:/ico/16x16/folder-open.png + @@ -380,8 +385,7 @@ - - :/ico/16x16/document-save.png:/ico/16x16/document-save.png + false diff --git a/sources/dataBase/ui/summaryquerywidget.ui b/sources/dataBase/ui/summaryquerywidget.ui index de98cd343..5ed869f20 100644 --- a/sources/dataBase/ui/summaryquerywidget.ui +++ b/sources/dataBase/ui/summaryquerywidget.ui @@ -76,8 +76,7 @@ - - :/ico/16x16/go-up.png:/ico/16x16/go-up.png + @@ -87,8 +86,7 @@ - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png + @@ -98,8 +96,7 @@ - - :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png + @@ -109,8 +106,7 @@ - - :/ico/16x16/go-down.png:/ico/16x16/go-down.png + diff --git a/sources/diagram.cpp b/sources/diagram.cpp index 78d6da912..83c9538fb 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "diagram.h" +#include "autoNum/elementautonumschemecommand.h" #include "ElementsCollection/elementcollectionhandler.h" #include "TerminalStrip/GraphicsItem/terminalstripitem.h" @@ -46,6 +47,7 @@ #include "diagramsortkeys.h" #include "itemgroups.h" #include "textgrid.h" +#include "foliogrid.h" #include #include #include @@ -340,10 +342,8 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) { p -> setBrush(Qt::NoBrush); - int xGrid = settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(); - int yGrid = settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(); + const int xGrid = FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid); + const int yGrid = FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid); qreal limit_x = rect.x() + rect.width(); qreal limit_y = rect.y() + rect.height(); @@ -931,7 +931,7 @@ bool Diagram::toPaintDevice(QPaintDevice &pix, // determine la zone source = contenu du schema + marges QRectF source_area; if (!use_border_) { - source_area = itemsBoundingRect(); + source_area = visibleItemsBoundingRect(); source_area.translate(-margin, -margin); source_area.setWidth (source_area.width () + 2.0 * margin); source_area.setHeight(source_area.height() + 2.0 * margin); @@ -999,7 +999,7 @@ QSize Diagram::imageSize() const // determine la zone source = contenu du schema + marges qreal image_width, image_height; if (!use_border_) { - QRectF items_rect = itemsBoundingRect(); + QRectF items_rect = visibleItemsBoundingRect(); image_width = items_rect.width(); image_height = items_rect.height(); } else { @@ -1292,6 +1292,13 @@ QDomDocument Diagram::toXml(bool whole_content, bool is_copy_command) { std::stable_sort(list_conductors.begin(), list_conductors.end(), [](Conductor *a, Conductor *b) { return conductorSortKey(a) < conductorSortKey(b); }); + // A copy carries the numberings its elements follow: pasted into + // another project, which does not know them, it can offer to import + // them (see PasteNumberingImport) + if (is_copy_command) { + ElementAutoNumSchemeCommand::writeCopiedSchemes(document, dom_root, m_project, list_elements); + } + // correspondence table between the addresses of the terminals and their ids // table de correspondance entre les adresses des bornes et leurs ids QHash table_adr_id; @@ -1610,10 +1617,14 @@ bool Diagram::fromXml(QDomElement &document, m_conductors_autonum_name = root.attribute(QStringLiteral("conductorAutonum")); // Load Freeze New Element - m_freeze_new_elements = root.attribute(QStringLiteral("freezeNewElement")).toInt(); + // Written as "true"/"false" by toXml(), so compare the text: + // toInt() of either word is 0. + m_freeze_new_elements = root.attribute(QStringLiteral("freezeNewElement")) + == QLatin1String("true"); // Load Freeze New Conductor - m_freeze_new_conductors_ = root.attribute(QStringLiteral("freezeNewConductor")).toInt(); + m_freeze_new_conductors_ = root.attribute(QStringLiteral("freezeNewConductor")) + == QLatin1String("true"); //Load Element Folio Sequential folioSequentialsFromXml(root, @@ -2854,10 +2865,29 @@ void Diagram::adjustSceneRect() { QRectF old_rect = sceneRect(); setSceneRect(border_and_titleblock.borderAndTitleBlockRect().united( - itemsBoundingRect())); + visibleItemsBoundingRect())); update(old_rect.united(sceneRect())); } +/** + @brief Diagram::visibleItemsBoundingRect + Same as QGraphicsScene::itemsBoundingRect(), but only counts items that + are shown. A hidden item keeps whatever position it last had: the text of + a single-line wire, and the wire texts hidden by "one text per potential", + are never positioned again and can sit far outside the drawing (#1281). + @return the bounding rect of the visible items, in scene coordinates +*/ +QRectF Diagram::visibleItemsBoundingRect() const +{ + QRectF rect; + const auto scene_items = items(); + for (QGraphicsItem *item : scene_items) { + if (item->isVisible()) + rect |= item->sceneBoundingRect(); + } + return rect; +} + /** @brief Diagram::applyProperties This method allows you to apply new rendering options while @@ -2931,10 +2961,8 @@ DiagramPosition Diagram::convertPosition(const QPointF &pos) { QPointF Diagram::snapToGrid(const QPointF &p) { QSettings settings; - int xGrid = settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(); - int yGrid = settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(); + const int xGrid = FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid); + const int yGrid = FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid); //Return a point rounded to the nearest pixel if (QApplication::keyboardModifiers().testFlag(Qt::ControlModifier)) @@ -2966,10 +2994,8 @@ QPointF Diagram::snapToTextGrid(const QPointF &p) : settings.value(TextGrid::settings_key, 1).toReal(); return TextGrid::snap(p, - settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(), - settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(), + FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid), + FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid), divisor); } diff --git a/sources/diagram.h b/sources/diagram.h index 088a47e55..24efc4ea1 100644 --- a/sources/diagram.h +++ b/sources/diagram.h @@ -266,6 +266,7 @@ class Diagram : public QGraphicsScene bool toPaintDevice(QPaintDevice &, int = -1, int = -1, Qt::AspectRatioMode = Qt::KeepAspectRatio); QSize imageSize() const; + QRectF visibleItemsBoundingRect() const; bool isEmpty() const; diff --git a/sources/diagramcommands.cpp b/sources/diagramcommands.cpp index d13a75f4d..bc27c80ed 100644 --- a/sources/diagramcommands.cpp +++ b/sources/diagramcommands.cpp @@ -17,8 +17,10 @@ */ #include "diagramcommands.h" +#include "autoNum/elementautonumschemecommand.h" #include "diagram.h" #include "itemgroups.h" +#include "qetproject.h" #include "qetgraphicsitem/conductortextitem.h" #include "qetgraphicsitem/diagramimageitem.h" #include "qetgraphicsitem/dynamicelementtextitem.h" @@ -29,6 +31,19 @@ #include "qetinformation.h" #include "qgimanager.h" +namespace { +/// Is @p element among those the numberings in @p schemes are given to? +bool pasted_schemes_has(const QMap> &schemes, const Element *element) +{ + for (auto it = schemes.constBegin() ; it != schemes.constEnd() ; ++it) { + if (it.value().contains(const_cast(element))) { + return true; + } + } + return false; +} +} // namespace + /** @brief PasteDiagramCommand::PasteDiagramCommand Constructor @@ -64,6 +79,10 @@ void PasteDiagramCommand::undo() { diagram -> showMe(); + //The numbering of the pasted elements, if any: gives the numbers + //back to the numberings they came from + QUndoCommand::undo(); + foreach(QGraphicsItem *item, content.items(filter)) diagram->removeItem(item); } @@ -98,6 +117,18 @@ void PasteDiagramCommand::redo() e->initLink(elmts_list); } + //The numberings the pasted elements follow, known now: the label + //erasing below empties their formula. Pasted elements get the next + //number of their numbering, as placed ones do, instead of the + //label of the element they were copied from. + const bool autonumber = m_autonumber && settings.value( + "diagramcommands/autonumber-pasted-elements", true).toBool(); + QETProject *project = diagram->project(); + QMap> pasted_schemes; + if (project && autonumber) { + pasted_schemes = ElementAutoNumSchemeCommand::pastedSchemes(project, elmts_list); + } + //make new uuid for every pasted conductor, because old uuid are //the uuid of the copied conductor const QList all_pasted_conductors = content.conductors(); @@ -221,6 +252,44 @@ void PasteDiagramCommand::redo() } } + //What the pasted elements keep of their numbering names a + //numbering of this project, or none (a paste from another + //project, or from a file written before the ids) + if (project) { + ElementAutoNumSchemeCommand::linkPasted(project, elmts_list); + if (autonumber) + { + //A formula which names no numbering of this project is + //not kept: it would stand for a numbering which does + //not exist here, with a label which is not its result. + //The label is what the erase preference made of it. + for (Element *e : elmts_list) + { + const DiagramContext &info = e->elementInformations(); + if (e->linkType() == Element::Slave || (e->linkType() & Element::AllReport) + || info.value(QETInformation::ELMT_FORMULA).toString().isEmpty() + || !ElementAutoNumSchemeCommand::followedScheme(project, info).isEmpty() + || pasted_schemes_has(pasted_schemes, e)) { + continue; + } + DiagramContext dc = info; + dc.addValue(QETInformation::ELMT_FORMULA, QString()); + for (DynamicElementTextItem *deti : e->dynamicTextItems()) + deti->m_block_alignment = true; + for (auto *group : e->textGroups()) + group->blockAlignmentUpdate(true); + e->setElementInformations(dc); + for (DynamicElementTextItem *deti : e->dynamicTextItems()) + deti->m_block_alignment = false; + for (auto *group : e->textGroups()) + group->blockAlignmentUpdate(false); + } + } + if (!pasted_schemes.isEmpty()) { + ElementAutoNumSchemeCommand::numberPasted(project, pasted_schemes, this); + } + } + //Pasted groups become new groups: the members of one source //group all get the same new uuid, never the source's, or the //copy would join the original's group. After the elements got @@ -250,6 +319,10 @@ void PasteDiagramCommand::redo() } } + //The numbering of the pasted elements, if any, on the first redo + //as well as on the next ones + QUndoCommand::redo(); + const QList qgis_list = content.items(); for (QGraphicsItem *qgi : qgis_list) qgi -> setSelected(true); diff --git a/sources/diagramcommands.h b/sources/diagramcommands.h index 070214b85..aeefea6c1 100644 --- a/sources/diagramcommands.h +++ b/sources/diagramcommands.h @@ -42,6 +42,12 @@ class PasteDiagramCommand : public QUndoCommand { public: void undo() override; void redo() override; + /** + Whether pasted elements which follow an element numbering are + numbered by the paste (default true, if the preference allows it). + Off for a caller which numbers them itself. + */ + void setAutoNumbering(bool enabled) {m_autonumber = enabled;} // attributes private: @@ -53,6 +59,8 @@ class PasteDiagramCommand : public QUndoCommand { int filter; /// prevent the first call to redo() bool first_redo; + /// number the pasted elements which follow an element numbering + bool m_autonumber = true; }; /** diff --git a/sources/diagramcontext.cpp b/sources/diagramcontext.cpp index 94b8696a2..b6228e36e 100644 --- a/sources/diagramcontext.cpp +++ b/sources/diagramcontext.cpp @@ -42,6 +42,7 @@ void DiagramContext::add(DiagramContext other) */ void DiagramContext::remove(const QString &key) { m_content.remove(key); + m_content_show.remove(key); } /** diff --git a/sources/diagramevent/diagrameventaddmacro.cpp b/sources/diagramevent/diagrameventaddmacro.cpp index ecdf7a007..98fa8ae42 100644 --- a/sources/diagramevent/diagrameventaddmacro.cpp +++ b/sources/diagramevent/diagrameventaddmacro.cpp @@ -274,7 +274,10 @@ void DiagramEventAddMacro::addMacro(QPointF final_pos) QSettings settings; bool saved_erase = settings.value("diagramcommands/erase-label-on-copy", true).toBool(); settings.setValue("diagramcommands/erase-label-on-copy", false); - m_diagram->undoStack().push(new PasteDiagramCommand(m_diagram, pasted_content)); + //and does not number them either: the labels are the ones saved + auto *paste = new PasteDiagramCommand(m_diagram, pasted_content); + paste->setAutoNumbering(false); + m_diagram->undoStack().push(paste); settings.setValue("diagramcommands/erase-label-on-copy", saved_erase); } } diff --git a/sources/diagramevent/diagrameventaddpaste.cpp b/sources/diagramevent/diagrameventaddpaste.cpp index 30d9e80bb..02d6450ac 100644 --- a/sources/diagramevent/diagrameventaddpaste.cpp +++ b/sources/diagramevent/diagrameventaddpaste.cpp @@ -16,12 +16,14 @@ along with QElectroTech. If not, see . */ #include "diagrameventaddpaste.h" +#include "../autoNum/ui/pastenumberingimport.h" #include "../cable/addcablecommand.h" #include "../cable/cablecopy.h" #include "../cable/cablepart.h" #include "../cable/editcablecommand.h" #include "../diagram.h" +#include "../foliogrid.h" #include "../diagramcommands.h" #include "../qetapp.h" #include "../qetdiagrameditor.h" @@ -33,42 +35,30 @@ #include #include #include +#include #include +#include #include #include #include -/** - @brief batchWith - Keep the cable lines of a paste together with the rest of it, so one - Ctrl+Z takes the whole thing back in one go. Mirrors the helper - DiagramView uses for its one-step paste; BatchCommand's own name - says "Supprimer", so the name of what the user actually did is put - back onto the batch. - @param first the step already assembled, may be null - @param second the step to add; ownership goes to the result - @return both steps as one command, or the only one of them -*/ -static QUndoCommand *batchWith(QUndoCommand *first, QUndoCommand *second) -{ - if (!first) return second; - if (!second) return first; - - auto *batched = new BatchCommand(first, second); - if (!first->text().isEmpty()) batched->setText(first->text()); - return batched; -} - /** @brief DiagramEventAddPaste::DiagramEventAddPaste @param diagram : diagram to paste into @param start_pos : where the pasted items first appear, in scene - coordinates -- normally the cursor + coordinates -- normally the cursor. Only used for UnderCursor; an + AtOrigin paste stays at the coordinates it was copied from. + @param placement : UnderCursor moves the group under the cursor + (default), AtOrigin leaves it at its original XML position and warps + the OS cursor to the group's origin so baseline and screen match. */ - DiagramEventAddPaste::DiagramEventAddPaste(Diagram *diagram, const QPointF &start_pos) : + DiagramEventAddPaste::DiagramEventAddPaste(Diagram *diagram, const QPointF &start_pos, + PastePlacement placement) : DiagramEventInterface(diagram) { + m_placement = placement; + //DiagramEventInterface::init() is called by Diagram::setEventInterface //only when it is replacing an earlier interface, so call it here as //DiagramEventAddMacro does. @@ -97,6 +87,7 @@ static QUndoCommand *batchWith(QUndoCommand *first, QUndoCommand *second) //items -- and it travels as a whole, colour labels and all, //whether or not the place it is going to holds a wire. m_diagram->fromXml(document_xml, QPointF(), false, &m_content, &m_cables); + m_copied_schemes = PasteNumberingImport::copiedBy(document_xml); if (db) { db->blockSignals(false); @@ -135,30 +126,38 @@ static QUndoCommand *batchWith(QUndoCommand *first, QUndoCommand *second) } const QPointF top_left = items_rect.topLeft(); QSettings settings; - const int xGrid = settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(); - const int yGrid = settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(); + const int xGrid = FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid); + const int yGrid = FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid); const auto snapGrid = [xGrid, yGrid](const QPointF &p) -> QPointF { return QPointF( qRound(p.x() / xGrid) * xGrid, qRound(p.y() / yGrid) * yGrid); }; - const QPointF grid_origin = snapGrid(start_pos); + const QPointF grid_origin = (m_placement == AtOrigin) + ? snapGrid(top_left) + : snapGrid(start_pos); - //Land the pasted content under the cursor immediately, rather than - //leaving it at the copied source's own coordinates: fromXml() above - //loads items at their original position purely because it doesn't - //know the target yet, not because that is where a paste should end - //up. The previous approach instead left items there and warped the - //OS cursor to match -- QCursor::setPos() is silently ignored by - //many window managers and compositors (Wayland in particular), so - //on any of those the warp simply never happened and the paste was - //left wherever it had originally been copied from, which could be - //anywhere on the folio -- exactly the "far from the cursor" bug. - const QPointF initial_delta = grid_origin - snapGrid(top_left); - for (auto *item : movable) { - item->setPos(item->pos() + initial_delta); + if (m_placement == UnderCursor) { + //Land the pasted content under the cursor immediately, rather than + //leaving it at the copied source's own coordinates: fromXml() above + //loads items at their original position purely because it doesn't + //know the target yet, not because that is where a paste should end + //up. The previous approach instead left items there and warped the + //OS cursor to match -- QCursor::setPos() is silently ignored by + //many window managers and compositors (Wayland in particular), so + //on any of those the warp simply never happened and the paste was + //left wherever it had originally been copied from, which could be + //anywhere on the folio -- exactly the "far from the cursor" bug. + const QPointF initial_delta = grid_origin - snapGrid(top_left); + for (auto *item : movable) { + item->setPos(item->pos() + initial_delta); + } + } else { + //AtOrigin: the items keep the coordinates they were copied from, + //so the copy stands exactly where the original stands. No delta is + //applied; what has to move is the cursor -- it is warped to the + //group's grid-snapped origin below, once m_group_origin is set, + //so the baseline and the physical cursor position agree. } //Store each item's now-placed position. moveTo() applies a @@ -176,10 +175,41 @@ static QUndoCommand *batchWith(QUndoCommand *first, QUndoCommand *second) conductor->updatePath(); } - //The baseline is the group's grid-snapped origin, so moveTo() - //does not have to capture one from the first mouse movement. - m_initial_cursor = m_group_origin; - m_baseline_captured = true; + //The baseline is the group's grid-snapped origin. For UnderCursor + //the group was just put there, so the baseline is known outright. + //For AtOrigin the group stayed where it was copied from and the + //OS cursor is warped to match instead -- but only a warp that + //verifiably landed may be trusted as the baseline: QCursor::setPos() + //needs pointer focus inside the target window (on Wayland it goes + //through wp_pointer_warp_v1, and is a silent no-op without it), and + //a baseline that assumes a warp which did not happen would move the + //whole group by the warp-sized delta on the first mouse move. So + //when the warp cannot be confirmed, leave m_baseline_captured + //false: moveTo() re-baselines from the first real mouse position + //instead, which costs at most the first movement but never flings + //the group across the folio. + if (m_placement == AtOrigin && !m_diagram->views().isEmpty()) { + if (auto *view = m_diagram->views().at(0)) { + //An origin outside the visible area cannot be warped to + //(the compositor rejects targets outside the window) and + //would leave the paste invisible, so scroll it into view + //first. + if (!view->viewport()->rect().contains(view->mapFromScene(m_group_origin))) { + view->ensureVisible(items_rect, 50, 50); + } + const QPoint view_pos = view->mapFromScene(m_group_origin); + const QPoint global_pos = view->viewport()->mapToGlobal(view_pos); + QCursor::setPos(global_pos); + if ((QCursor::pos() - global_pos).manhattanLength() <= 4) { + m_initial_cursor = m_group_origin; + m_baseline_captured = true; + } + } + } + if (m_placement == UnderCursor) { + m_initial_cursor = m_group_origin; + m_baseline_captured = true; + } m_diagram->clearSelection(); for (auto *item : movable) { @@ -273,10 +303,8 @@ void DiagramEventAddPaste::showHint() void DiagramEventAddPaste::moveTo(const QPointF &scene_pos) { QSettings settings; - const int xGrid = settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(); - const int yGrid = settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(); + const int xGrid = FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid); + const int yGrid = FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid); const auto snapGrid = [xGrid, yGrid](const QPointF &p) -> QPointF { return QPointF( @@ -396,10 +424,10 @@ void DiagramEventAddPaste::commit() m_content.conductors(DiagramContent::AnyConductor)); m_cables.clear(); - QUndoCommand *command = nullptr; - if (m_content.count()) { - command = new PasteDiagramCommand(m_diagram, m_content); - } + //The cable lines the copy brings are not part of the paste + //itself: they are handed to the paste so that one Ctrl+Z takes + //the whole of it back in one go. + QList cable_commands; for (const CableCopy::Wired &line : std::as_const(wired)) { if (!line.part) continue; @@ -407,12 +435,15 @@ void DiagramEventAddPaste::commit() auto *added = new AddCableCommand(line.part->cable(), line.part.data(), m_diagram, true, line.taken); added->setText(QCoreApplication::translate("CableCopy", "Coller un câble")); - command = batchWith(command, added); - } - if (command) { - m_diagram->undoStack().push(command); + cable_commands << added; } + //Asks whether to import the numberings the copy brings, if the + //project has not got them; the paste itself and the cable lines + //travel inside the same step of the undo stack. + PasteNumberingImport::push(m_diagram->views().isEmpty() ? nullptr : m_diagram->views().first(), + m_diagram, m_content, m_copied_schemes, cable_commands); + //The undo stack has just run its first redo, which may have //renewed the identity of a pasted conductor: the cores are //pointed at the wires again so their cable field survives it. diff --git a/sources/diagramevent/diagrameventaddpaste.h b/sources/diagramevent/diagrameventaddpaste.h index 1ca681688..5e6012290 100644 --- a/sources/diagramevent/diagrameventaddpaste.h +++ b/sources/diagramevent/diagrameventaddpaste.h @@ -20,6 +20,7 @@ #include "diagrameventinterface.h" #include "../diagramcontent.h" +#include "../autoNum/elementautonumschemecommand.h" #include #include @@ -58,7 +59,21 @@ class DiagramEventAddPaste : public DiagramEventInterface | DiagramContent::Tables | DiagramContent::TerminalStrip; - DiagramEventAddPaste(Diagram *diagram, const QPointF &start_pos); + ///Where the group starts, relative to what was copied. + enum PastePlacement { + ///Move the group so its top left lands at \a start_pos + ///(normally the cursor): Ctrl+V, the copy appears under + ///the pointer and follows it. + UnderCursor, + ///Leave the group at its original XML position and warp + ///the OS cursor to the group's origin so the baseline + ///matches what is on screen: Ctrl+Shift+V, "paste at the + ///origin point". + AtOrigin + }; + + DiagramEventAddPaste(Diagram *diagram, const QPointF &start_pos, + PastePlacement placement = UnderCursor); ~DiagramEventAddPaste() override; void mouseMoveEvent (QGraphicsSceneMouseEvent *event) override; @@ -97,17 +112,22 @@ class DiagramEventAddPaste : public DiagramEventInterface ///mouse move would add it again each time and let the line run ///away from the rest of the paste. QPointF m_cable_delta; + /// The numberings the pasted copy carries + QList m_copied_schemes; ///Each movable item's position relative to the group's top left, ///taken once so repeated moves cannot accumulate rounding drift. QHash m_relative_pos; - ///Where the group's grid-snapped top left was put when the paste - ///started, in scene coordinates -- the cursor, so the copy - ///appears under the pointer rather than on top of what was - ///copied. + ///Where this paste starts: UnderCursor moves the group to + ///start_pos, AtOrigin leaves it at its original XML position. + PastePlacement m_placement{UnderCursor}; + ///Where the group's grid-snapped top left sits when the paste + ///started, in scene coordinates -- under the cursor for + ///UnderCursor, the copy's own origin for AtOrigin. QPointF m_group_origin; ///Cursor position (scene coords) the delta-based movement in - ///moveTo() measures from. Equal to m_group_origin, since the - ///group is placed at the cursor. + ///moveTo() measures from. Equal to m_group_origin: either the + ///group was put there (UnderCursor) or the cursor was warped + ///there (AtOrigin). QPointF m_initial_cursor; ///Whether m_initial_cursor holds a usable baseline. A flag rather ///than testing m_initial_cursor.isNull(), which cannot tell "not diff --git a/sources/diagramevent/diagrameventfillet.cpp b/sources/diagramevent/diagrameventfillet.cpp new file mode 100644 index 000000000..e5ffe8c82 --- /dev/null +++ b/sources/diagramevent/diagrameventfillet.cpp @@ -0,0 +1,343 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "diagrameventfillet.h" + +#include "../QPropertyUndoCommand/qpropertyundocommand.h" +#include "../diagram.h" +#include "../qetapp.h" +#include "../qetdiagrameditor.h" +#include "../qetgraphicsitem/qetshapeitem.h" +#include "../qgimanager.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace { + +const char *radiusSettingKey = "diagrameditor/fillet_radius"; + +/** + Adds the fillet's arc to the diagram exactly where it was computed. + AddGraphicsObjectCommand is not used: its redo() calls setPos(), + and QetShapeItem::setPos() snaps the outline's corner to the grid, + which would pull the arc off the two lines it has to touch. +*/ +class AddFilletArcCommand : public QUndoCommand +{ + public: + AddFilletArcCommand(QetShapeItem *arc, Diagram *diagram, QUndoCommand *parent) : + QUndoCommand(parent), m_arc(arc), m_diagram(diagram) + { m_diagram->qgiManager().manage(m_arc); } + ~AddFilletArcCommand() override + { m_diagram->qgiManager().release(m_arc); } + void redo() override { m_diagram->addItem(m_arc); } + void undo() override { m_diagram->removeItem(m_arc); } + + private: + QetShapeItem *m_arc; + Diagram *m_diagram; +}; + +qreal length(const QPointF &v) { return std::hypot(v.x(), v.y()); } +qreal dot(const QPointF &a, const QPointF &b) { return a.x() * b.x() + a.y() * b.y(); } + +qreal distanceToSegment(const QPointF &p, const QLineF &segment) +{ + const QPointF d = segment.p2() - segment.p1(); + const qreal len2 = dot(d, d); + if (len2 <= 0) + return length(p - segment.p1()); + const qreal t = qBound(qreal(0), dot(p - segment.p1(), d) / len2, qreal(1)); + return length(p - (segment.p1() + t * d)); +} + +QLineF sceneLine(const QetShapeItem *line) +{ + return QLineF(line->mapToScene(line->line().p1()), line->mapToScene(line->line().p2())); +} + + //Angle of a point on a circle, in the convention QPainterPath::arcTo() + //and QetShapeItem use: degrees, anticlockwise from three o'clock. +qreal arcAngle(const QPointF ¢re, const QPointF &p) +{ + return qRadiansToDegrees(std::atan2(-(p.y() - centre.y()), p.x() - centre.x())); +} + + //Same test as QetShapeItem::setStartAngle()/setEndAngle() use to snap + //an arc back to a full ellipse. +bool nearlyFullTurn(qreal span) +{ + qreal wrapped = std::fmod(span, 360.0); + if (wrapped < 0) wrapped += 360.0; + return wrapped < 5.0 || wrapped > 355.0; +} + +} // namespace + +DiagramEventFillet::DiagramEventFillet(Diagram *diagram) : + DiagramEventInterface(diagram) +{ + m_running = true; + //Deferred for the same reason as DiagramEventAddShape's hint: + //the previous tool's destructor clears the status bar after + //this constructor returns. + QTimer::singleShot(0, this, [this]() { showDefaultHint(); }); +} + +DiagramEventFillet::~DiagramEventFillet() +{ + clearFirstPick(); + if (m_diagram && !m_diagram->views().isEmpty()) + { + if (auto *editor = QETApp::diagramEditorAncestorOf(m_diagram->views().constFirst())) + editor->statusBar()->clearMessage(); + } +} + +void DiagramEventFillet::mousePressEvent(QGraphicsSceneMouseEvent *event) +{ + event->setAccepted(true); + if (Q_UNLIKELY(m_diagram->isReadOnly())) + return; + + if (event->button() == Qt::RightButton) + { + if (m_first_line) { + clearFirstPick(); + showDefaultHint(); + } else { + m_running = false; + emit finish(); + } + return; + } + if (event->button() != Qt::LeftButton) + return; + + const QPointF pos = event->scenePos(); + const QList lines = linesNear(pos); + if (lines.isEmpty()) { + showHint(tr("Aucune ligne ici : cliquez sur une ligne dessinée sur le folio")); + return; + } + + if (!m_first_line) + { + //One click where two lines meet picks both of them + if (lines.size() >= 2) { + filletLines({lines.at(0), pos}, {lines.at(1), pos}); + return; + } + m_first = {lines.first(), pos}; + m_first_line = lines.first(); + m_diagram->clearSelection(); + m_first_line->setSelected(true); + showHint(tr("Cliquez sur la deuxième ligne ; clic droit : annuler")); + return; + } + + const auto other = std::find_if(lines.cbegin(), lines.cend(), + [this](QetShapeItem *line) { return line != m_first_line; }); + if (other == lines.cend()) { + showHint(tr("Cliquez sur une autre ligne ; clic droit : annuler")); + return; + } + const Pick first = m_first; + clearFirstPick(); + filletLines(first, {*other, pos}); +} + +/** + @brief DiagramEventFillet::linesNear + @return the Line shapes passing within a few screen pixels of + scenePos, nearest first. Only the items under the cursor are looked + at; the diagram is not walked. +*/ +QList DiagramEventFillet::linesNear(const QPointF &scenePos) const +{ + qreal scale = 1; + if (!m_diagram->views().isEmpty()) + scale = m_diagram->views().constFirst()->transform().m11(); + const qreal tolerance = 6.0 / qMax(scale, qreal(0.01)); + + QList> found; + const QRectF area(scenePos - QPointF(tolerance, tolerance), QSizeF(2 * tolerance, 2 * tolerance)); + for (QGraphicsItem *item : m_diagram->items(area)) + { + if (item->type() != QetShapeItem::Type) + continue; + auto *shape = static_cast(item); + if (shape->shapeType() != QetShapeItem::Line) + continue; + const qreal distance = distanceToSegment(scenePos, sceneLine(shape)); + if (distance <= tolerance) + found.append({distance, shape}); + } + std::sort(found.begin(), found.end(), + [](const auto &a, const auto &b) { return a.first < b.first; }); + + QList lines; + for (const auto &f : found) + lines.append(f.second); + return lines; +} + +/** + @brief DiagramEventFillet::filletLines + Rounds the corner between the two picked lines. For each line, the + part kept is the one on the side of the corner where it was clicked; + a click on the corner itself keeps the longer part. The other end of + each line moves to the point where the arc touches it -- shortening + the line, or lengthening it when the two lines did not reach each + other. One undo step undoes the whole fillet. +*/ +void DiagramEventFillet::filletLines(const Pick &a, const Pick &b) +{ + const QLineF s1 = sceneLine(a.line); + const QLineF s2 = sceneLine(b.line); + + QPointF corner; + if (s1.intersects(s2, &corner) == QLineF::NoIntersection) { + showHint(tr("Ces deux lignes sont parallèles : pas de congé possible")); + return; + } + + qreal scale = 1; + if (!m_diagram->views().isEmpty()) + scale = m_diagram->views().constFirst()->transform().m11(); + const qreal cornerTolerance = 6.0 / qMax(scale, qreal(0.01)); + + auto keptEnd = [&](const QLineF &segment, const QPointF &pick) -> int { + const QPointF ends[2] = {segment.p1(), segment.p2()}; + const QPointF towardPick = pick - corner; + const bool onCorner = length(towardPick) < cornerTolerance; + int best = -1; + for (int pass = 0; pass < 2 && best < 0; ++pass) { + qreal bestLength = -1; + for (int i = 0; i < 2; ++i) { + const QPointF v = ends[i] - corner; + if (pass == 0 && !onCorner && dot(v, towardPick) <= 0) + continue; + if (length(v) > bestLength) { best = i; bestLength = length(v); } + } + } + return best; + }; + const int keep1 = keptEnd(s1, a.pos); + const int keep2 = keptEnd(s2, b.pos); + const QPointF e1 = keep1 == 0 ? s1.p1() : s1.p2(); + const QPointF e2 = keep2 == 0 ? s2.p1() : s2.p2(); + const qreal len1 = length(e1 - corner); + const qreal len2 = length(e2 - corner); + if (len1 < 1e-6 || len2 < 1e-6) { + showHint(tr("Une des lignes s'arrête au coin : rien à arrondir de ce côté")); + return; + } + + const QPointF u1 = (e1 - corner) / len1; + const QPointF u2 = (e2 - corner) / len2; + const qreal theta = std::acos(qBound(qreal(-1), dot(u1, u2), qreal(1))); + if (qRadiansToDegrees(theta) > 174.0) { + showHint(tr("Ces deux lignes sont presque alignées : pas de congé possible")); + return; + } + + QSettings settings; + bool ok = false; + QWidget *parent = m_diagram->views().isEmpty() ? nullptr : m_diagram->views().constFirst(); + const qreal radius = QInputDialog::getDouble(parent, tr("Congé"), tr("Rayon :"), + settings.value(radiusSettingKey, 20.0).toDouble(), 0.1, 100000.0, 1, &ok); + if (!ok || !m_diagram) + return; + settings.setValue(radiusSettingKey, radius); + + const qreal tangentDistance = radius / std::tan(theta / 2); + if (tangentDistance > len1 + 1e-6 || tangentDistance > len2 + 1e-6) { + showHint(tr("Rayon trop grand pour ces lignes (%1 au plus)") + .arg(std::min(len1, len2) * std::tan(theta / 2), 0, 'f', 1)); + return; + } + + const QPointF t1 = corner + u1 * tangentDistance; + const QPointF t2 = corner + u2 * tangentDistance; + const QPointF bisector = (u1 + u2) / length(u1 + u2); + const QPointF centre = corner + bisector * (radius / std::sin(theta / 2)); + + //Each line keeps its picked end and moves its other end to the + //tangent point; p1/p2 keep their roles, mapped back into the + //line's own coordinates (it may be rotated or skewed). + auto newLine = [](QetShapeItem *line, int keep, const QPointF &kept, const QPointF &tangent) { + const QPointF p1 = keep == 0 ? kept : tangent; + const QPointF p2 = keep == 0 ? tangent : kept; + return QLineF(line->mapFromScene(p1), line->mapFromScene(p2)); + }; + + auto *arc = new QetShapeItem(centre - QPointF(radius, radius), + centre + QPointF(radius, radius), QetShapeItem::Ellipse); + arc->setPen(a.line->pen()); + qreal start = std::fmod(arcAngle(centre, t1), 360.0); + if (start < 0) start += 360.0; + const qreal span = std::fmod(arcAngle(centre, t2) - start + 540.0, 360.0) - 180.0; + //Set the two angles in an order whose intermediate state is not + //close to a full turn, which the setters would snap to an ellipse. + if (!nearlyFullTurn(360.0 - start)) { + arc->setStartAngle(start); + arc->setEndAngle(start + span); + } else { + arc->setEndAngle(start + span); + arc->setStartAngle(start); + } + + auto *undo = new QUndoCommand(tr("Ajouter un congé")); + new QPropertyUndoCommand(a.line, "line", a.line->line(), newLine(a.line, keep1, e1, t1), undo); + new QPropertyUndoCommand(b.line, "line", b.line->line(), newLine(b.line, keep2, e2, t2), undo); + new AddFilletArcCommand(arc, m_diagram, undo); + m_diagram->undoStack().push(undo); + showDefaultHint(); +} + +void DiagramEventFillet::clearFirstPick() +{ + if (m_first_line) + m_first_line->setSelected(false); + m_first_line.clear(); + m_first = Pick(); +} + +void DiagramEventFillet::showHint(const QString &text) const +{ + if (!m_diagram || m_diagram->views().isEmpty()) + return; + if (auto *editor = QETApp::diagramEditorAncestorOf(m_diagram->views().constFirst())) + editor->statusBar()->showMessage(text); +} + +void DiagramEventFillet::showDefaultHint() const +{ + showHint(tr("Congé : cliquez sur deux lignes, ou une fois là où elles se rejoignent ; " + "Échap ou clic droit : terminer")); +} diff --git a/sources/diagramevent/diagrameventfillet.h b/sources/diagramevent/diagrameventfillet.h new file mode 100644 index 000000000..c12664f10 --- /dev/null +++ b/sources/diagramevent/diagrameventfillet.h @@ -0,0 +1,62 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef DIAGRAMEVENTFILLET_H +#define DIAGRAMEVENTFILLET_H + +#include "diagrameventinterface.h" + +#include +#include + +class QetShapeItem; + +/** + @brief The DiagramEventFillet class + The "add a fillet" tool: rounds the corner between two drawn lines, + the way a sketch fillet does in a CAD program. Click the two lines + one after the other, or once where they meet; a dialog asks for the + radius. The lines are trimmed (or extended) to the points where the + arc touches them, and an arc is added between them -- an ordinary + Ellipse shape with a start and end angle, so nothing new is saved. +*/ +class DiagramEventFillet : public DiagramEventInterface +{ + Q_OBJECT + + public: + DiagramEventFillet(Diagram *diagram); + ~DiagramEventFillet() override; + void mousePressEvent (QGraphicsSceneMouseEvent *event) override; + + private: + struct Pick { + QetShapeItem *line = nullptr; + QPointF pos; // where the line was clicked, in scene coordinates + }; + + QList linesNear(const QPointF &scenePos) const; + void filletLines(const Pick &a, const Pick &b); + void clearFirstPick(); + void showHint(const QString &text) const; + void showDefaultHint() const; + + Pick m_first; + QPointer m_first_line; // m_first.line, guarded: the line can be deleted between the two clicks +}; + +#endif // DIAGRAMEVENTFILLET_H diff --git a/sources/diagramgestureoverlay.cpp b/sources/diagramgestureoverlay.cpp index 03d2606d1..c1bedd8d7 100644 --- a/sources/diagramgestureoverlay.cpp +++ b/sources/diagramgestureoverlay.cpp @@ -58,14 +58,16 @@ bool DiagramGestureOverlay::isEnabled() /** @brief DiagramGestureOverlay::showAt - Show the ring centred on @a center with @a actions, at most eight, - clockwise from the top. + Show the ring centred on @a center with @a sectors directions (4 or 8) + and @a actions, one per direction clockwise from the top. */ void DiagramGestureOverlay::showAt(const QPoint ¢er, - const QList &actions) + const QList &actions, + int sectors) { m_center = center; - m_actions = actions.mid(0, sectors); + m_sectors = sectors == 4 ? 4 : 8; + m_actions = actions.mid(0, m_sectors); m_active = -1; move(center - QPoint(overlay_width / 2, outer_radius + 1)); show(); @@ -88,7 +90,7 @@ int DiagramGestureOverlay::sectorAt(const QPoint &viewport_pos) const if (angle < 0) { angle += 360; } - return int(qRound(angle / (360.0 / sectors))) % sectors; + return int(qRound(angle / (360.0 / m_sectors))) % m_sectors; } /** @@ -102,7 +104,7 @@ QAction *DiagramGestureOverlay::actionAt(const QPoint &viewport_pos) const return nullptr; } QAction *action = m_actions.at(sector); - return action->isEnabled() ? action : nullptr; + return action && action->isEnabled() ? action : nullptr; } void DiagramGestureOverlay::setPointer(const QPoint &viewport_pos) @@ -120,7 +122,7 @@ void DiagramGestureOverlay::paintEvent(QPaintEvent *event) QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); const QPointF c(overlay_width / 2, outer_radius + 1); - const qreal step = 360.0 / sectors; + const qreal step = 360.0 / m_sectors; QColor base = palette().color(QPalette::Window); base.setAlpha(225); @@ -130,7 +132,7 @@ void DiagramGestureOverlay::paintEvent(QPaintEvent *event) //Highlight the sector the mouse points at, if it holds a command if (m_active >= 0 && m_active < m_actions.count() - && m_actions.at(m_active)->isEnabled()) + && m_actions.at(m_active) && m_actions.at(m_active)->isEnabled()) { QPainterPath wedge; wedge.moveTo(c); @@ -151,6 +153,9 @@ void DiagramGestureOverlay::paintEvent(QPaintEvent *event) for (int i = 0 ; i < m_actions.count() ; ++i) { QAction *action = m_actions.at(i); + if (!action) { + continue; + } const qreal a = qDegreesToRadians(i * step); const QPointF p(c.x() + icon_radius * qSin(a), c.y() - icon_radius * qCos(a)); const QRect r(int(p.x()) - icon_size / 2, int(p.y()) - icon_size / 2, @@ -167,7 +172,7 @@ void DiagramGestureOverlay::paintEvent(QPaintEvent *event) } //Name of the highlighted command, under the ring - if (m_active >= 0 && m_active < m_actions.count()) + if (m_active >= 0 && m_active < m_actions.count() && m_actions.at(m_active)) { const QString name = m_actions.at(m_active)->text().remove(QLatin1Char('&')); const QRect label(0, 2 * outer_radius + 4, width(), 20); diff --git a/sources/diagramgestureoverlay.h b/sources/diagramgestureoverlay.h index 5fca8dfc2..a2bbb4077 100644 --- a/sources/diagramgestureoverlay.h +++ b/sources/diagramgestureoverlay.h @@ -29,8 +29,9 @@ class QAction; mouse's direction highlighted. Releasing runs it, releasing near the centre cancels -- SolidWorks' mouse gestures. - Commands are placed clockwise from the top. The ring only draws; the - view tracks the mouse and asks sectorAt() on release. + Commands are placed clockwise from the top, one per direction (4 or 8). + A null entry is an empty direction. The ring only draws; the view + tracks the mouse and asks sectorAt() on release. */ class DiagramGestureOverlay : public QWidget { @@ -39,14 +40,15 @@ class DiagramGestureOverlay : public QWidget public: explicit DiagramGestureOverlay(QWidget *viewport); - void showAt(const QPoint ¢er, const QList &actions); + void showAt(const QPoint ¢er, const QList &actions, + int sectors = 8); void setPointer(const QPoint &viewport_pos); int sectorAt(const QPoint &viewport_pos) const; QAction *actionAt(const QPoint &viewport_pos) const; - static bool isEnabled(); + int sectors() const { return m_sectors; } - static const int sectors = 8; + static bool isEnabled(); protected: void paintEvent(QPaintEvent *event) override; @@ -55,6 +57,7 @@ class DiagramGestureOverlay : public QWidget QPoint m_center; QList m_actions; int m_active = -1; + int m_sectors = 8; }; #endif // DIAGRAMGESTUREOVERLAY_H diff --git a/sources/diagramtoolbarsettings.cpp b/sources/diagramtoolbarsettings.cpp new file mode 100644 index 000000000..8c2997579 --- /dev/null +++ b/sources/diagramtoolbarsettings.cpp @@ -0,0 +1,357 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "diagramtoolbarsettings.h" + +#include "shortcutmanager.h" + +#include +#include +#include +#include + +namespace { + const QString CONTENTS = QStringLiteral("diagrameditor/toolbars/"); + const QString CUSTOM_NAMES = QStringLiteral("diagrameditor/custom_toolbars/names"); + const QString CUSTOM_TITLES = QStringLiteral("diagrameditor/custom_toolbars/titles"); + //Set on a window by markWindow() + const char *const MARKED = "qetDiagramToolbars"; +} + +/** + @return every toolbar, built-in first, then the user's own in the order + they were added +*/ +QList DiagramToolbarSettings::toolbars() +{ + QList list; + for (const QString &name : builtInNames()) { + list << Toolbar{name, builtInTitle(name), false}; + } + return list << customToolbars(); +} + +/** + @return the object names of the toolbars the diagram editor always has. + The scripts toolbar is not one: it is filled from the scripts folder. +*/ +QStringList DiagramToolbarSettings::builtInNames() +{ + return {QStringLiteral("toolbar"), + QStringLiteral("display"), + QStringLiteral("diagram"), + QStringLiteral("adding"), + QStringLiteral("diagram_depth_toolbar")}; +} + +QString DiagramToolbarSettings::builtInTitle(const QString &name) +{ + if (name == QLatin1String("toolbar")) + return QCoreApplication::translate("QETDiagramEditor", "Outils"); + if (name == QLatin1String("display")) + return QCoreApplication::translate("QETDiagramEditor", "Affichage"); + if (name == QLatin1String("diagram")) + return QCoreApplication::translate("QETDiagramEditor", "Schéma"); + if (name == QLatin1String("adding")) + return QCoreApplication::translate("QETDiagramEditor", "Ajouter"); + if (name == QLatin1String("diagram_depth_toolbar")) + return QCoreApplication::translate("QETDiagramEditor", "Profondeur", "toolbar title"); + return QString(); +} + +/** + @return the toolbars the user added, in the order they were added +*/ +QList DiagramToolbarSettings::customToolbars() +{ + QSettings settings; + const QStringList names = settings.value(CUSTOM_NAMES).toStringList(); + const QStringList titles = settings.value(CUSTOM_TITLES).toStringList(); + QList list; + for (int i = 0 ; i < names.size() ; ++i) { + list << Toolbar{names.at(i), titles.value(i, names.at(i)), true}; + } + return list; +} + +/** + @brief DiagramToolbarSettings::setCustomToolbars + Store the user's own toolbars. The contents of one that is no longer + in @a toolbars are removed with it. +*/ +void DiagramToolbarSettings::setCustomToolbars(const QList &toolbars) +{ + QStringList names, titles; + for (const Toolbar &toolbar : toolbars) { + names << toolbar.name; + titles << toolbar.title; + } + for (const Toolbar &old : customToolbars()) { + if (!names.contains(old.name)) { + removeIds(old.name); + } + } + QSettings settings; + if (names.isEmpty()) { + settings.remove(CUSTOM_NAMES); + settings.remove(CUSTOM_TITLES); + } else { + settings.setValue(CUSTOM_NAMES, names); + settings.setValue(CUSTOM_TITLES, titles); + } +} + +/** + @return an object name for a new toolbar that none of @a existing has + and none had before (stored positions stay with the toolbar they + belonged to) +*/ +QString DiagramToolbarSettings::newCustomName(const QList &existing) +{ + QStringList taken; + for (const Toolbar &toolbar : existing) taken << toolbar.name; + for (const Toolbar &toolbar : customToolbars()) taken << toolbar.name; + for (int i = 1 ; ; ++i) { + const QString name = QStringLiteral("custom_%1").arg(i); + if (!taken.contains(name)) return name; + } +} + +/** + @return the ids toolbar @a name holds: the user's list if they saved + one, the defaults otherwise. A saved empty list stays empty. +*/ +QStringList DiagramToolbarSettings::ids(const QString &name) +{ + QSettings settings; + const QString key = CONTENTS + name; + if (!settings.contains(key)) { + return defaultIds(name); + } + return settings.value(key).toStringList(); +} + +/** + @return what toolbar @a name holds for a new user: the toolbars as + they were built before they could be changed. A user's own toolbar + starts empty. +*/ +QStringList DiagramToolbarSettings::defaultIds(const QString &name) +{ + const QString sep = separatorId(); + if (name == QLatin1String("toolbar")) { + return {QStringLiteral("diagrameditor.new_file"), + QStringLiteral("diagrameditor.open_file"), + QStringLiteral("diagrameditor.save_file"), + QStringLiteral("diagrameditor.save_file_as"), + QStringLiteral("diagrameditor.close_file"), + QStringLiteral("diagrameditor.print"), + QStringLiteral("diagrameditor.export_to_pdf"), + sep, + QStringLiteral("diagrameditor.undo"), + QStringLiteral("diagrameditor.redo"), + sep, + QStringLiteral("diagrameditor.cut"), + QStringLiteral("diagrameditor.copy"), + QStringLiteral("diagrameditor.paste"), + QStringLiteral("diagrameditor.duplicate"), + sep, + QStringLiteral("diagrameditor.delete_selection"), + QStringLiteral("diagrameditor.rotate_selection")}; + } + if (name == QLatin1String("display")) { + return {QStringLiteral("diagrameditor.mode_selection"), + QStringLiteral("diagrameditor.mode_visualise"), + sep, + QStringLiteral("widget:handler_size"), + sep, + QStringLiteral("diagrameditor.draw_grid"), + QStringLiteral("widget:text_grid"), + QStringLiteral("diagrameditor.draw_guides"), + QStringLiteral("widget:background_color"), + sep, + QStringLiteral("diagrameditor.zoom_content"), + QStringLiteral("diagrameditor.zoom_fit"), + QStringLiteral("diagrameditor.zoom_reset")}; + } + if (name == QLatin1String("diagram")) { + return {QStringLiteral("diagrameditor.edit_diagram_properties"), + QStringLiteral("diagrameditor.conductor_reset"), + QStringLiteral("diagrameditor.auto_conductor"), + QStringLiteral("diagrameditor.auto_break_conductor"), + //The cable tool is drawn across the conductors those two + //actions work on, so it sits with them rather than with + //the shapes of the "Ajouter" toolbar. + sep, + QStringLiteral("diagrameditor.add_cable"), + QStringLiteral("widget:conductor_color")}; + } + if (name == QLatin1String("adding")) { + //add_pdf is skipped when built without QtPdf, as before + return {QStringLiteral("diagrameditor.add_text"), + QStringLiteral("diagrameditor.add_image"), + QStringLiteral("diagrameditor.add_pdf"), + QStringLiteral("diagrameditor.add_line"), + QStringLiteral("diagrameditor.add_rectangle"), + QStringLiteral("diagrameditor.add_ellipse"), + QStringLiteral("diagrameditor.add_arc"), + QStringLiteral("diagrameditor.add_polyline"), + QStringLiteral("diagrameditor.add_path"), + QStringLiteral("diagrameditor.add_fillet"), + QStringLiteral("diagrameditor.add_terminal_strip")}; + } + if (name == QLatin1String("diagram_depth_toolbar")) { + return {QStringLiteral("depth.forward"), + QStringLiteral("depth.raise"), + QStringLiteral("depth.lower"), + QStringLiteral("depth.backward")}; + } + return {}; +} + +/** + @brief DiagramToolbarSettings::setIds + Save @a ids for toolbar @a name. Saving the defaults removes the key, so + a later change of defaults still reaches this user. +*/ +void DiagramToolbarSettings::setIds(const QString &name, const QStringList &ids) +{ + if (ids == defaultIds(name)) { + removeIds(name); + } else { + QSettings().setValue(CONTENTS + name, ids); + } +} + +void DiagramToolbarSettings::removeIds(const QString &name) +{ + QSettings().remove(CONTENTS + name); +} + +QString DiagramToolbarSettings::separatorId() +{ + return QStringLiteral("separator"); +} + +/** + @return the toolbar buttons that are widgets, not commands. Each can be + on one toolbar at a time. +*/ +QStringList DiagramToolbarSettings::widgetIds() +{ + return {QStringLiteral("widget:handler_size"), + QStringLiteral("widget:text_grid"), + QStringLiteral("widget:background_color"), + QStringLiteral("widget:conductor_color")}; +} + +bool DiagramToolbarSettings::isWidget(const QString &id) +{ + return id.startsWith(QLatin1String("widget:")); +} + +QString DiagramToolbarSettings::widgetTitle(const QString &id) +{ + if (id == QLatin1String("widget:handler_size")) + return QCoreApplication::translate("DiagramToolbarSettings", "Taille des poignées"); + if (id == QLatin1String("widget:text_grid")) + return QCoreApplication::translate("DiagramToolbarSettings", "Grille des textes"); + if (id == QLatin1String("widget:background_color")) + return QCoreApplication::translate("DiagramToolbarSettings", "Couleur de fond du folio"); + if (id == QLatin1String("widget:conductor_color")) + return QCoreApplication::translate("DiagramToolbarSettings", "Couleur des conducteurs"); + return id; +} + +/** + @return every command that can go on a toolbar: the diagram editor's, + its stored scripts', and the depth commands it shares with the element + editor +*/ +QStringList DiagramToolbarSettings::availableCommandIds() +{ + QStringList ids; + for (const ShortcutManager::ShortcutInfo &info : + ShortcutManager::instance().allShortcuts()) + { + if (info.id.startsWith(QLatin1String("diagrameditor.")) + || info.id.startsWith(QLatin1String("depth."))) { + ids << info.id; + } + } + return ids; +} + +/** + @brief DiagramToolbarSettings::fill + Empty @a toolbar and put the commands of @a ids on it, in order. + @a resolve gives the window's action for an id, a widget id included; + an id it has no action for is skipped. A separator never starts or + ends the toolbar and never follows another: those are left out, as + Qt would otherwise draw them. +*/ +void DiagramToolbarSettings::fill(QToolBar *toolbar, const QStringList &ids, + const std::function &resolve) +{ + //Separators belong to the toolbar that made them; commands do not + const QList old_actions = toolbar->actions(); + toolbar->clear(); + for (QAction *action : old_actions) { + if (action->isSeparator() && action->parent() == toolbar) delete action; + } + bool pending_separator = false; + for (const QString &id : ids) + { + if (id == separatorId()) { + pending_separator = !toolbar->actions().isEmpty(); + continue; + } + QAction *action = resolve(id); + if (!action) { + continue; + } + if (pending_separator) { + toolbar->addSeparator(); + pending_separator = false; + } + toolbar->addAction(action); + } +} + +/** + @brief DiagramToolbarSettings::markWindow + Mark @a window as one whose toolbars applyToAll() rebuilds. It must + have a rebuildToolBars() slot or invokable. +*/ +void DiagramToolbarSettings::markWindow(QObject *window) +{ + window->setProperty(MARKED, true); +} + +/** + @brief DiagramToolbarSettings::applyToAll + Rebuild the toolbars of every open window marked by markWindow(), + after the settings change. +*/ +void DiagramToolbarSettings::applyToAll() +{ + for (QWidget *widget : QApplication::topLevelWidgets()) { + if (widget->property(MARKED).toBool()) { + QMetaObject::invokeMethod(widget, "rebuildToolBars"); + } + } +} diff --git a/sources/diagramtoolbarsettings.h b/sources/diagramtoolbarsettings.h new file mode 100644 index 000000000..d240821c9 --- /dev/null +++ b/sources/diagramtoolbarsettings.h @@ -0,0 +1,79 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef DIAGRAMTOOLBARSETTINGS_H +#define DIAGRAMTOOLBARSETTINGS_H + +#include +#include +#include + +#include + +class QAction; +class QToolBar; + +/** + @brief What each of the diagram editor's toolbars holds. + + A toolbar is a list of ids, in order: ShortcutManager command ids, the + separator id, and the ids of the few toolbar buttons that are widgets + rather than commands (the colour buttons, the text grid, the handle + size). Stored in QSettings, one key per toolbar, by the toolbar's + object name; a toolbar the user never changed uses the defaults below, + which are the toolbars as they were before they could be changed. + + The user can also add toolbars of their own. They start empty. + + An id no command carries any more is skipped, so a list saved by + another version still opens. +*/ +class DiagramToolbarSettings +{ + public: + struct Toolbar { + QString name; ///< object name, used for storage and by QMainWindow::saveState() + QString title; ///< shown to the user + bool custom = false; + }; + + static QList toolbars(); + static QStringList builtInNames(); + static QString builtInTitle(const QString &name); + static QList customToolbars(); + static void setCustomToolbars(const QList &toolbars); + static QString newCustomName(const QList &existing); + + static QStringList ids(const QString &name); + static QStringList defaultIds(const QString &name); + static void setIds(const QString &name, const QStringList &ids); + static void removeIds(const QString &name); + + static QString separatorId(); + static QStringList widgetIds(); + static bool isWidget(const QString &id); + static QString widgetTitle(const QString &id); + static QStringList availableCommandIds(); + + static void fill(QToolBar *toolbar, const QStringList &ids, + const std::function &resolve); + + static void markWindow(QObject *window); + static void applyToAll(); +}; + +#endif // DIAGRAMTOOLBARSETTINGS_H diff --git a/sources/diagramview.cpp b/sources/diagramview.cpp index f333801f3..354d5cc7a 100644 --- a/sources/diagramview.cpp +++ b/sources/diagramview.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "diagramview.h" +#include "autoNum/ui/pastenumberingimport.h" #include "cellruler.h" #include "lastusedstyle.h" #include "utils/colordialogdoubleclick.h" @@ -43,8 +44,10 @@ #include "utils/conductorcreator.h" #include "undocommand/addgraphicsobjectcommand.h" #include "diagram.h" +#include "foliogrid.h" #include "diagramcontexttoolbar.h" #include "diagramgestureoverlay.h" +#include "gesturesettings.h" #include "shortcutbarsettings.h" #include "shortcutmanager.h" #include "ElementsCollection/xmlelementcollection.h" @@ -203,6 +206,9 @@ DiagramView::DiagramView(Diagram *diagram, QWidget *parent) : #ifdef Q_OS_MACOS color_dialog -> setWindowFlags(Qt::Sheet); #endif + // Qt's own dialog on every platform: the GTK one keeps its own + // recent-colours row and ignores the custom colours QET saves + color_dialog->setOption(QColorDialog::DontUseNativeDialog); color_dialog->setCurrentColor(initial_properties.color); ColorDialogDoubleClick::install(color_dialog); @@ -506,8 +512,9 @@ void DiagramView::zoomFit() */ void DiagramView::zoomContent() { - fitInView(m_diagram -> itemsBoundingRect(), Qt::KeepAspectRatio); - adjustGridToZoom(); + const QRectF content = m_diagram->visibleItemsBoundingRect(); + if (!content.isNull()) + zoomToRect(content); } /** @@ -638,16 +645,13 @@ void DiagramView::paste(const QPointF &pos, QClipboard::Mode clipboard_mode) { //One single step for the whole paste, cable lines included: //undoing has to take back everything which came out of the //clipboard in one go, and redoing has to put it all back. - QUndoCommand *command = nullptr; - if (content_pasted.count()) { - command = new PasteDiagramCommand(m_diagram, content_pasted); - } + QList cable_commands; for (const CableCopy::Wired &line : std::as_const(wired)) { if (!line.part) continue; auto *added = new AddCableCommand(line.part->cable(), line.part.data(), m_diagram, true, line.taken); added->setText(QCoreApplication::translate("CableCopy", "Coller un câble")); - command = batchWith(command, added); + cable_commands << added; } //The copies end up selected, like everything else a paste //just added, so the next Ctrl+V or Ctrl+D carries on from them @@ -655,9 +659,12 @@ void DiagramView::paste(const QPointF &pos, QClipboard::Mode clipboard_mode) { if (line.part) line.part->setSelected(true); } - if (command) { - m_diagram -> undoStack().push(command); - } + //Asks whether to import the numberings the copy brings, if the + //project has not got them; the paste itself and the cable lines + //travel inside the same step of the undo stack. + PasteNumberingImport::push(this, m_diagram, content_pasted, + PasteNumberingImport::copiedBy(document_xml), + cable_commands); //The stack has just renewed the identity of a pasted //conductor: the cores are pointed at the wires again and //the cable fields written out once more, so the entries @@ -726,10 +733,8 @@ void DiagramView::duplicate(const QPoint &stepOffset) if (selection.isEmpty()) return; QSettings settings; - const int x_grid = settings.value(QStringLiteral("diagrameditor/Xgrid"), - Diagram::xGrid).toInt(); - const int y_grid = settings.value(QStringLiteral("diagrameditor/Ygrid"), - Diagram::yGrid).toInt(); + const int x_grid = FolioGrid::step(settings.value(FolioGrid::x_key), Diagram::xGrid); + const int y_grid = FolioGrid::step(settings.value(FolioGrid::y_key), Diagram::yGrid); const QPointF offset(stepOffset.x() * x_grid, stepOffset.y() * y_grid); // Mirrors copy(), but does not touch the system clipboard: Ctrl+D @@ -938,7 +943,8 @@ void DiagramView::mouseMoveEvent(QMouseEvent *e) m_diagram->clearEventInterface(); m_swallow_native_menu = true; } - m_gesture_overlay->showAt(m_gesture_origin, selectionCommands()); + m_gesture_overlay->showAt(m_gesture_origin, gestureCommands(), + GestureSettings::directions()); } if (m_gesture_overlay->isVisible()) { m_gesture_overlay->setPointer(pos); @@ -1125,6 +1131,28 @@ QList DiagramView::selectionCommands() const return actions; } +/** + @brief DiagramView::gestureCommands + @return the gesture ring's commands for the current selection, as this + window's actions. A list the user picked keeps its directions: a + command this window lacks leaves its direction empty (nullptr). + Otherwise the ring shows the shortcut bar's commands, in order. +*/ +QList DiagramView::gestureCommands() const +{ + QETDiagramEditor *qde = diagramEditor(); + const auto context = ShortcutBarSettings::contextFor(m_diagram->selectedItems()); + if (!qde || !GestureSettings::isCustom(context)) { + return selectionCommands(); + } + QList actions; + for (const QString &id : GestureSettings::ids(context)) { + actions << (id.isEmpty() ? nullptr + : ShortcutManager::instance().action(id, qde)); + } + return actions; +} + /** @brief DiagramView::showContextToolbar After a click that leaves something selected, show the shortcut bar's @@ -1972,6 +2000,7 @@ QList DiagramView::contextMenuActions() const list << qde->m_cut; list << qde->m_copy; list << m_multi_paste; + list << qde->m_paste_element_info; list << m_separators.at(0); list << m_create_template; // Add the create template action //Disabled, and so left out below, unless a selected element @@ -2173,8 +2202,8 @@ void DiagramView::contextMenuEvent(QContextMenuEvent *e) @brief DiagramView::updateFolioReportMenu Fill the "Renvoi de folio" submenu of the context menu with the folio report elements this project already uses -- the ones in its embedded - collection -- or, when it has none yet, the coming and going arrows of - the common collection. An entry places its element where the context + collection -- and the coming and going arrows of the common collection, + each name listed once. An entry places its element where the context menu was opened. Left empty, and so hidden, on a read-only diagram. */ void DiagramView::updateFolioReportMenu() @@ -2188,9 +2217,9 @@ void DiagramView::updateFolioReportMenu() QETProject *project = m_diagram->project(); XmlElementCollection *collection = project ? project->embeddedElementCollection() : nullptr; + QSet names; if (collection) { - QSet names; const QDomNodeList definitions = collection->root().elementsByTagName(QStringLiteral("definition")); for (int i = 0 ; i < definitions.count() ; ++i) @@ -2213,16 +2242,16 @@ void DiagramView::updateFolioReportMenu() } } - if (locations.isEmpty()) + //Always offer both standard arrows: placing one copies it into the + //embedded collection, and must not hide the other one. + for (const auto path : { + "common://10_electric/10_allpole/100_folio_referencing/01coming_arrow.elmt", + "common://10_electric/10_allpole/100_folio_referencing/02going_arrow.elmt"}) { - for (const auto path : { - "common://10_electric/10_allpole/100_folio_referencing/01coming_arrow.elmt", - "common://10_electric/10_allpole/100_folio_referencing/02going_arrow.elmt"}) - { - const ElementsLocation location(QString::fromLatin1(path)); - if (location.exist()) { - locations << location; - } + const ElementsLocation location(QString::fromLatin1(path)); + if (location.exist() && !names.contains(location.name())) { + names.insert(location.name()); + locations << location; } } diff --git a/sources/diagramview.h b/sources/diagramview.h index aa7d7834b..e1d631460 100644 --- a/sources/diagramview.h +++ b/sources/diagramview.h @@ -168,6 +168,7 @@ class DiagramView : public PaletteGraphicsView void placeCellRulers(); void showContextToolbar(const QPoint &viewport_pos); QList selectionCommands() const; + QList gestureCommands() const; /// Lowest and highest allowed value of the view transform scale (m11). /// Prevents wheel-zoom from driving the transform to overflow, which diff --git a/sources/dxfexport.cpp b/sources/dxfexport.cpp index 182634f38..f0351966b 100644 --- a/sources/dxfexport.cpp +++ b/sources/dxfexport.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "dxfexport.h" +#include "shownkinds.h" #include "conductorsegment.h" #include "createdxf.h" @@ -34,12 +35,239 @@ #include "qetgraphicsitem/independenttextitem.h" #include "qetgraphicsitem/qetshapeitem.h" #include "qetgraphicsitem/terminal.h" +#include "qetinformation.h" +#include "textlines.h" +#include #include #include #include #include +namespace { + /** + Draw the drawing of @a elmt's definition: its static texts, lines, + rectangles, circles, polygons and arcs, and its terminals when + @a draw_terminals, as if it were placed at @a elem_pos_x, + @a elem_pos_y and turned @a rotation_angle degrees, with @a elmt's + mirrors and its texts kept readable (Element::symbolTextsTransform()) + when @a as_placed. Used for every symbol drawn in full, and once per + block for a block's content. + */ + void drawSymbol(const QString &file_path, Element *elmt, + qreal elem_pos_x, qreal elem_pos_y, + double rotation_angle, bool draw_terminals, + bool as_placed = false) + { + using namespace DxfExport; + //The mirrors of an element are about its own axes, before it is + //rotated, see Element::setMirror() + const bool mirror_h = as_placed && elmt -> hasHorizontalMirror(); + const bool mirror_v = as_placed && elmt -> hasVerticalMirror(); + const QTransform texts_transform = as_placed + ? elmt -> symbolTextsTransform() + : QTransform(); + const qreal text_turn = as_placed && elmt -> hasUprightSymbolTexts() + ? 0 + : rotation_angle; + const qreal mirror_x = mirror_h ? -1 : 1; + const qreal mirror_y = mirror_v ? -1 : 1; + ElementPictureFactory::primitives primitives = ElementPictureFactory::instance()->getPrimitives(elmt->location()); + + Createdxf::layer = Layer::SymbolTexts; + for(QGraphicsSimpleTextItem *text : primitives.m_texts) + { + qreal fontSize = text->font().pointSizeF(); + if (fontSize < 0) + fontSize = text->font().pixelSize(); + + QPointF text_pos = text->pos(); + //A text the element mirrors, or turns in a project that keeps + //symbol texts horizontal, keeps reading as in the symbol: + //only its box moves, as ElementPictureFactory draws it on the + //folio. It is then drawn as in a symbol neither mirrored nor + //turned, moved to where the element puts the box's centre. + if (!texts_transform.isIdentity()) + { + QTransform box_transform; + box_transform.translate(text->pos().x(), text->pos().y()); + box_transform.rotate(text->rotation()); + const QFontMetricsF metrics(text->font()); + const QRectF box(0, -metrics.ascent(), + text->boundingRect().width(), + text->boundingRect().height()); + const QPointF centre = box_transform.mapRect(box).center(); + text_pos += texts_transform.map(centre) - centre; + } + + qreal x = elem_pos_x + text_pos.x(); + qreal y = elem_pos_y + text_pos.y(); + + qreal angle = text -> rotation() + text_turn; + qreal angler = angle * M_PI/180; + int xdir = -sin(angler); + int ydir = -cos(angler); + + QPointF transformed_point = DxfExport::rotation_transformed(x, y, elem_pos_x, elem_pos_y, -text_turn); + x = transformed_point.x() - ydir * fontSize * 0.5; + y = transformed_point.y() - xdir * fontSize * 0.5; + QStringList lines = text->text().split('\n'); + qreal offset = fontSize * 1.6; + for (QString line : lines) + { + if (line.size() > 0 && line != "_" ) { + Createdxf::drawText(file_path, line, QPointF(x, y), fontSize, 360 - angle, 0, 0.72); + } + x += offset * xdir; + y -= offset * ydir; + } + } + + Createdxf::layer = Layer::Symbols; + for (QLineF line : primitives.m_lines) + { + QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle).scale(mirror_x, mirror_y); + QLineF l = t.map(line); + Createdxf::drawLine(file_path, l, 0); + } + + for (QRectF rect : primitives.m_rectangles) + { + QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle).scale(mirror_x, mirror_y); + QRectF r = t.mapRect(rect); + Createdxf::drawRectangle(file_path,r,0); + } + + for (QRectF circle_rect : primitives.m_circles) + { + QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle).scale(mirror_x, mirror_y); + QPointF c = t.map(QPointF(circle_rect.center().x(),circle_rect.center().y())); + Createdxf::drawCircle(file_path,c,circle_rect.width()/2,0); + } + + for (QVector polygon : primitives.m_polygons) + { + if (polygon.size() == 0) + continue; + QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle).scale(mirror_x, mirror_y); + QPolygonF poly = t.map(polygon); + if(poly.isClosed()) + Createdxf::drawPolygon(file_path,poly,0); + else + Createdxf::drawPolyline(file_path,poly,0); + } + + // Draw arcs and ellipses + for (QVector arc : primitives.m_arcs) + { + if (arc.size() == 0) + continue; + qreal x = (elem_pos_x + arc.at(0)); + qreal y = (elem_pos_y + arc.at(1)); + qreal w = arc.at(2); + qreal h = arc.at(3); + qreal startAngle = arc.at(4); + qreal spanAngle = arc .at(5); + //In a mirror the arc starts where it ended: an angle a + //becomes 180 - a in a horizontal one, -a in a vertical one + if (mirror_h) + { + x = elem_pos_x - arc.at(0) - w; + startAngle = 180 - startAngle - spanAngle; + } + if (mirror_v) + { + y = elem_pos_y - arc.at(1) - h; + startAngle = -startAngle - spanAngle; + } + QRectF r(x,y,w,h); + QPointF hotspot(elem_pos_x,elem_pos_y); + Createdxf::drawArcEllipse(file_path, r, startAngle, spanAngle, hotspot, rotation_angle, 0); + } + if (draw_terminals) { + Createdxf::layer = Layer::Terminals; + // Draw terminals + QList list_terminals = elmt->terminals(); + QColor col("red"); + QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle).scale(mirror_x, mirror_y); + foreach(Terminal *tp, list_terminals) { + QPointF c = t.map(QPointF(tp->dock_elmt_.x(),tp->dock_elmt_.y())); + Createdxf::drawCircle(file_path,c,3.0,Createdxf::dxfColor(col)); + } + } + } + + /// One line of a text as the export writes it: where it starts, in + /// scene coordinates, its size, and its angle (degrees, clockwise) + struct TextLine + { + QString text; + QPointF pos; + qreal font_size; + qreal angle; + }; + + /// The lines of @a dti that are written, one under the other as drawn + QList textLines(DiagramTextItem *dti) + { + qreal fontSize = dti -> font().pointSizeF(); + if (fontSize < 0) + fontSize = dti -> font().pixelSize(); + + qreal angle = dti -> rotation(); + + QGraphicsItem *parent = dti->parentItem(); + while (parent) { + angle += parent->rotation(); + parent = parent->parentItem(); + } + + qreal angler = angle * M_PI/180; + int xdir = -sin(angler); + int ydir = -cos(angler); + qreal x = (dti->scenePos().x()) + + xdir * fontSize * 1.8 + - ydir * fontSize; + qreal y = dti->scenePos().y() + - ydir * fontSize * 1.8 + - xdir * fontSize * 0.9; + //As drawn: a text with a width is wrapped + QStringList lines = TextLines::layoutLines(dti -> document()); + qreal offset = fontSize * 1.6; + QList result; + foreach (QString line, lines) { + if (line.size() > 0 && line != "_" ) + result << TextLine{line, QPointF(x, y), fontSize, angle}; + x += offset * xdir; + y -= offset * ydir; + } + return result; + } + + /// @a tag, or @a tag with _2, _3... if @a used has it, at most 31 + /// characters + QString uniqueTag(const QString &tag, const QSet &used) + { + QString unique = tag; + for (int i = 2 ; used.contains(unique) ; ++i) { + const QString suffix = QStringLiteral("_%1").arg(i); + unique = tag.left(31 - suffix.size()) + suffix; + } + return unique; + } + + /// Nothing would be drawn for @a elmt (its definition is missing) + bool drawsNothing(Element *elmt, bool draw_terminals) + { + const ElementPictureFactory::primitives p = + ElementPictureFactory::instance()->getPrimitives(elmt->location()); + return p.m_lines.isEmpty() && p.m_rectangles.isEmpty() + && p.m_circles.isEmpty() && p.m_polygons.isEmpty() + && p.m_arcs.isEmpty() && p.m_texts.isEmpty() + && (!draw_terminals || elmt->terminals().isEmpty()); + } +} + /** @brief DxfExport::folioSize @return the size of @a diagram as exported with @a properties: its border @@ -78,21 +306,13 @@ void DxfExport::write(Diagram *diagram, int width, int height, width -= 2*Diagram::margin; height -= 2*Diagram::margin; - Createdxf::xScale = Createdxf::sheetWidth / double(width); - Createdxf::yScale = Createdxf::sheetHeight / double(height); - - Createdxf::dxfBegin(file_path, Layer::all()); - - //Each kind of content on its own layer (discussion #1071). The - //border's title block switches to Layer::TitleBlock itself, see - //BorderTitleBlock::drawDxf(). - Createdxf::layer = Layer::Border; - //Add project elements (lines, rectangles, circles, texts) to dxf file - if (properties.draw_border) { - QRectF rect(Diagram::margin,Diagram::margin,width,height); - Createdxf::drawRectangle(file_path,rect,0); - } - diagram -> border_and_titleblock.drawDxf(file_path, 0); + //One scale for both axes, the largest that fits the sheet: two + //scales stretched the drawing and turned every circle into an oval + //(issue #1339). + const double scale = qMin(Createdxf::sheetWidth / double(width), + Createdxf::sheetHeight / double(height)); + Createdxf::xScale = scale; + Createdxf::yScale = scale; // Build the lists of elements. QList list_elements; @@ -135,6 +355,10 @@ void DxfExport::write(Diagram *diagram, int width, int height, } } for (QGraphicsItem *qgi : std::as_const(stacked_items)) { + //Left out like on screen and in print (View > Show, #301) + if (ShownKinds::isHidden(qgi)) { + continue; + } if (Element *elmt = qgraphicsitem_cast(qgi)) { list_elements << elmt; } else if (Conductor *f = qgraphicsitem_cast(qgi)) { @@ -147,7 +371,8 @@ void DxfExport::write(Diagram *diagram, int width, int height, list_shapes << dii; } else if (DynamicElementTextItem *deti = qgraphicsitem_cast(qgi)) { list_texts << deti; - if (QGraphicsTextItem *xref = deti->slaveXrefItem()) { + QGraphicsTextItem *xref = deti->slaveXrefItem(); + if (xref && !ShownKinds::isHidden(xref)) { list_xref_texts << xref; } } else if (QetGraphicsTableItem *gti = qgraphicsitem_cast(qgi)) { @@ -157,6 +382,186 @@ void DxfExport::write(Diagram *diagram, int width, int height, } } + //Symbols as blocks: one block per symbol definition the folio + //uses, named after its file and numbered in the order first met, + //so a repeat export is identical. A block has to be written before + //any entity, so they are all collected first. + QHash block_names; // location -> block name + QList block_models; // one placed symbol per block + if (properties.dxf_blocks) { + QSet used; + for (Element *elmt : std::as_const(list_elements)) { + const QString key = elmt -> location().toString(); + if (!elmt -> symbolTextsTransform().isIdentity() + || block_names.contains(key) + || drawsNothing(elmt, properties.draw_terminals)) + continue; + QString file_name = elmt -> location().fileName(); + if (file_name.endsWith(QLatin1String(".elmt"))) + file_name.chop(5); + const QString base = Createdxf::blockName( + QStringLiteral("QET_") + file_name); + QString name = base; + for (int i = 2 ; used.contains(name) ; ++i) { + const QString suffix = QStringLiteral("_%1").arg(i); + name = base.left(31 - suffix.size()) + suffix; + } + used << name; + block_names.insert(key, name); + block_models << elmt; + } + } + //A mirrored symbol, or a turned one whose texts stay horizontal, + //is drawn in full: an INSERT would mirror or turn its texts too, + //which QElectroTech keeps readable + const auto blockOf = [&block_names](Element *elmt) { + return !elmt -> symbolTextsTransform().isIdentity() + ? QString() + : block_names.value(elmt -> location().toString()); + }; + + //With dxf_attributes, a symbol's own texts (its label, its + //function...) become attributes of its INSERT, written where the + //text would be, so a CAD program moves them with the symbol and + //lists them. Off by default: LibreCAD does not show attributes, + //so the labels would vanish there. Tagged + //with the information they show (LABEL, FUNCTION...), or TEXT1, + //TEXT2... for a typed text; a second line gets _2. The block + //defines each tag once, where the first symbol has it. + QHash> attributes; + QHash> attribute_definitions; // block -> ATTDEFs + QSet attribute_texts; + { + QHash> used_tags; + QHash typed_texts; + QHash> defined_tags; + for (DiagramTextItem *dti : std::as_const(list_texts)) { + if (!properties.dxf_attributes) + break; + auto *deti = qgraphicsitem_cast(dti); + Element *elmt = deti ? deti -> parentElement() : nullptr; + const QString block = elmt ? blockOf(elmt) : QString(); + if (block.isEmpty()) + continue; + + const QString base = + deti -> textFrom() == DynamicElementTextItem::ElementInfo + && !deti -> infoName().isEmpty() + ? Createdxf::blockName(deti -> infoName()) + : QStringLiteral("TEXT%1").arg(++typed_texts[elmt]); + //From the folio into the block: undo the INSERT + const QPointF insert(elmt -> pos().x() * Createdxf::xScale, + Createdxf::sheetHeight - elmt -> pos().y() * Createdxf::yScale); + const double turn = std::fmod(360 - elmt -> orientation() * 90, 360); + const QTransform to_block = QTransform() + .translate(0, Createdxf::sheetHeight) + .rotate(-turn) + .translate(-insert.x(), -insert.y()); + + const QList lines = textLines(dti); + for (int i = 0 ; i < lines.size() ; ++i) { + const TextLine &line = lines.at(i); + const QString tag = uniqueTag( + i == 0 ? base : base + QStringLiteral("_%1").arg(i + 1), + used_tags.value(elmt)); + used_tags[elmt] << tag; + + Createdxf::Attribute attribute; + attribute.tag = tag; + attribute.text = line.text; + attribute.x = line.pos.x() * Createdxf::xScale; + attribute.y = Createdxf::sheetHeight - line.pos.y() * Createdxf::yScale; + attribute.height = line.font_size * Createdxf::yScale; + attribute.rotation = 360 - line.angle; + attribute.xScaleW = 0.72; + attribute.colour = Createdxf::dxfColor(dti -> color()); + attribute.layer = Layer::SymbolTexts; + attributes[elmt] << attribute; + + if (!defined_tags[block].contains(tag)) { + defined_tags[block] << tag; + Createdxf::Attribute definition = attribute; + const QPointF in_block = to_block.map(QPointF(attribute.x, attribute.y)); + definition.x = in_block.x(); + definition.y = in_block.y(); + definition.rotation = std::fmod(attribute.rotation - turn + 720, 360); + definition.text.clear(); + attribute_definitions[block] << definition; + } + } + attribute_texts << dti; + } + + //The rest of what is known about a symbol (manufacturer, + //reference, supplier, quantity...) as hidden attributes, so a + //CAD program can list the parts from the drawing. A field + //already written as a visible attribute (dxf_attributes) is not + //repeated; the label formula is how the label is made, not + //part data. + for (Element *elmt : std::as_const(list_elements)) { + const QString block = blockOf(elmt); + if (block.isEmpty()) + continue; + const DiagramContext information = elmt -> elementInformations(); + const QPointF insert(elmt -> pos().x() * Createdxf::xScale, + Createdxf::sheetHeight - elmt -> pos().y() * Createdxf::yScale); + for (const QString &key : QETInformation::elementInfoKeys()) { + if (key == QETInformation::ELMT_FORMULA) + continue; + const QString value = information.value(key).toString(); + const QString tag = Createdxf::blockName(key); + if (value.isEmpty() || used_tags.value(elmt).contains(tag)) + continue; + used_tags[elmt] << tag; + + Createdxf::Attribute attribute; + attribute.tag = tag; + attribute.text = value; + attribute.x = insert.x(); + attribute.y = insert.y(); + attribute.height = 9 * Createdxf::yScale; + attribute.invisible = true; + attribute.layer = Layer::SymbolTexts; + attributes[elmt] << attribute; + + if (!defined_tags[block].contains(tag)) { + defined_tags[block] << tag; + Createdxf::Attribute definition = attribute; + definition.x = 0; + definition.y = Createdxf::sheetHeight; + definition.text.clear(); + attribute_definitions[block] << definition; + } + } + } + } + + //A block is drawn as if its symbol sat unturned at the folio's + //origin, which is DXF (0, sheetHeight); that is its base point. + Createdxf::dxfBegin(file_path, Layer::all(), [&]() { + for (Element *model : std::as_const(block_models)) { + const QString block = block_names.value(model -> location().toString()); + const QList definitions = attribute_definitions.value(block); + Createdxf::dxfBlockBegin(file_path, block, 0, Createdxf::sheetHeight, + !definitions.isEmpty()); + drawSymbol(file_path, model, 0, 0, 0, properties.draw_terminals); + for (const Createdxf::Attribute &definition : definitions) + Createdxf::drawAttdef(file_path, definition); + Createdxf::dxfBlockEnd(file_path); + } + }); + + //Each kind of content on its own layer (discussion #1071). The + //border's title block switches to Layer::TitleBlock itself, see + //BorderTitleBlock::drawDxf(). + Createdxf::layer = Layer::Border; + //Add project elements (lines, rectangles, circles, texts) to dxf file + if (properties.draw_border) { + QRectF rect(Diagram::margin,Diagram::margin,width,height); + Createdxf::drawRectangle(file_path,rect,0); + } + diagram -> border_and_titleblock.drawDxf(file_path, 0); + // Draw shapes Createdxf::layer = Layer::Shapes; foreach (QetShapeItem *qsi, list_shapes) qsi->toDXF(file_path, qsi->pen()); @@ -167,105 +572,25 @@ void DxfExport::write(Diagram *diagram, int width, int height, gti->toDXF(file_path); } - //Draw elements + //Draw elements: each one in full, or as an INSERT of its block foreach(Element *elmt, list_elements) { - double rotation_angle = elmt -> orientation() * 90; + const double rotation_angle = elmt -> orientation() * 90; + const qreal elem_pos_x = elmt -> pos().x(); + const qreal elem_pos_y = elmt -> pos().y(); - qreal elem_pos_x = elmt -> pos().x(); - qreal elem_pos_y = elmt -> pos().y();// - (diagram -> margin / 2); - - ElementPictureFactory::primitives primitives = ElementPictureFactory::instance()->getPrimitives(elmt->location()); - - Createdxf::layer = Layer::SymbolTexts; - for(QGraphicsSimpleTextItem *text : primitives.m_texts) - { - qreal fontSize = text->font().pointSizeF(); - if (fontSize < 0) - fontSize = text->font().pixelSize(); - - qreal x = elem_pos_x + text->pos().x(); - qreal y = elem_pos_y + text->pos().y(); - - qreal angle = text -> rotation() + rotation_angle; - qreal angler = angle * M_PI/180; - int xdir = -sin(angler); - int ydir = -cos(angler); - - QPointF transformed_point = rotation_transformed(x, y, elem_pos_x, elem_pos_y, -rotation_angle); - x = transformed_point.x() - ydir * fontSize * 0.5; - y = transformed_point.y() - xdir * fontSize * 0.5; - QStringList lines = text->text().split('\n'); - qreal offset = fontSize * 1.6; - for (QString line : lines) - { - if (line.size() > 0 && line != "_" ) { - Createdxf::drawText(file_path, line, QPointF(x, y), fontSize, 360 - angle, 0, 0.72); - } - x += offset * xdir; - y -= offset * ydir; - } - } - - Createdxf::layer = Layer::Symbols; - for (QLineF line : primitives.m_lines) - { - QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle); - QLineF l = t.map(line); - Createdxf::drawLine(file_path, l, 0); - } - - for (QRectF rect : primitives.m_rectangles) - { - QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle); - QRectF r = t.mapRect(rect); - Createdxf::drawRectangle(file_path,r,0); - } - - for (QRectF circle_rect : primitives.m_circles) - { - QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle); - QPointF c = t.map(QPointF(circle_rect.center().x(),circle_rect.center().y())); - Createdxf::drawCircle(file_path,c,circle_rect.width()/2,0); - } - - for (QVector polygon : primitives.m_polygons) - { - if (polygon.size() == 0) - continue; - QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle); - QPolygonF poly = t.map(polygon); - if(poly.isClosed()) - Createdxf::drawPolygon(file_path,poly,0); - else - Createdxf::drawPolyline(file_path,poly,0); - } - - // Draw arcs and ellipses - for (QVector arc : primitives.m_arcs) - { - if (arc.size() == 0) - continue; - qreal x = (elem_pos_x + arc.at(0)); - qreal y = (elem_pos_y + arc.at(1)); - qreal w = arc.at(2); - qreal h = arc.at(3); - qreal startAngle = arc.at(4); - qreal spanAngle = arc .at(5); - QRectF r(x,y,w,h); - QPointF hotspot(elem_pos_x,elem_pos_y); - Createdxf::drawArcEllipse(file_path, r, startAngle, spanAngle, hotspot, rotation_angle, 0); - } - if (properties.draw_terminals) { - Createdxf::layer = Layer::Terminals; - // Draw terminals - QList list_terminals = elmt->terminals(); - QColor col("red"); - QTransform t = QTransform().translate(elem_pos_x,elem_pos_y).rotate(rotation_angle); - foreach(Terminal *tp, list_terminals) { - QPointF c = t.map(QPointF(tp->dock_elmt_.x(),tp->dock_elmt_.y())); - Createdxf::drawCircle(file_path,c,3.0,Createdxf::dxfColor(col)); - } + const QString block = blockOf(elmt); + if (block.isEmpty()) { + drawSymbol(file_path, elmt, elem_pos_x, elem_pos_y, + rotation_angle, properties.draw_terminals, true); + } else { + Createdxf::layer = Layer::Symbols; + //QElectroTech turns a symbol clockwise, DXF counter-clockwise + Createdxf::drawInsert(file_path, block, + elem_pos_x * Createdxf::xScale, + Createdxf::sheetHeight - elem_pos_y * Createdxf::yScale, + std::fmod(360 - rotation_angle, 360), + attributes.value(elmt)); } } @@ -290,7 +615,7 @@ void DxfExport::write(Diagram *diagram, int width, int height, Createdxf::layer = Layer::WireNumbers; ConductorTextItem *textItem = cond -> textItem(); - if (textItem) { + if (textItem && !ShownKinds::isHidden(textItem)) { qreal fontSize = textItem -> font().pointSizeF(); if (fontSize < 0) fontSize = textItem -> font().pixelSize(); @@ -328,38 +653,14 @@ void DxfExport::write(Diagram *diagram, int width, int height, //Draw text items foreach(DiagramTextItem *dti, list_texts) { + //Already written as an attribute of its symbol's INSERT + if (attribute_texts.contains(dti)) + continue; //A free text, or a symbol's own text (its label and the like) Createdxf::layer = qgraphicsitem_cast(dti) ? Layer::Texts : Layer::SymbolTexts; - qreal fontSize = dti -> font().pointSizeF(); - if (fontSize < 0) - fontSize = dti -> font().pixelSize(); - - qreal angle = dti -> rotation(); - - QGraphicsItem *parent = dti->parentItem(); - while (parent) { - angle += parent->rotation(); - parent = parent->parentItem(); - } - - qreal angler = angle * M_PI/180; - int xdir = -sin(angler); - int ydir = -cos(angler); - qreal x = (dti->scenePos().x()) - + xdir * fontSize * 1.8 - - ydir * fontSize; - qreal y = dti->scenePos().y() - - ydir * fontSize * 1.8 - - xdir * fontSize * 0.9; - QStringList lines = dti -> toPlainText().split('\n'); - qreal offset = fontSize * 1.6; - foreach (QString line, lines) { - if (line.size() > 0 && line != "_" ) - Createdxf::drawText(file_path, line, QPointF(x, y), fontSize, 360-angle, Createdxf::dxfColor(dti->color()), 0.72 ); - x += offset * xdir; - y -= offset * ydir; - } + for (const TextLine &line : textLines(dti)) + Createdxf::drawText(file_path, line.text, line.pos, line.font_size, 360-line.angle, Createdxf::dxfColor(dti->color()), 0.72 ); } //Draw the slave cross-reference labels diff --git a/sources/editor/arceditor.cpp b/sources/editor/arceditor.cpp index 5f21353a6..76e3dfe2d 100644 --- a/sources/editor/arceditor.cpp +++ b/sources/editor/arceditor.cpp @@ -172,7 +172,7 @@ void ArcEditor::updateArcS() if (value != arc->property("startAngle")) { QPropertyUndoCommand *undo= new QPropertyUndoCommand(arc, "startAngle", arc->property("startAngle"), value); - undo->setText("Modifier l'angle de depart d'un arc"); + undo->setText(tr("Modifier l'angle de depart d'un arc")); undo->enableAnimation(); elementScene()->undoStack().push(undo); } @@ -197,7 +197,7 @@ void ArcEditor::updateArcA() if (value != arc->property("spanAngle")) { QPropertyUndoCommand *undo= new QPropertyUndoCommand(arc, "spanAngle", arc->property("spanAngle"), value); - undo->setText("Modifier l'angle d'un arc"); + undo->setText(tr("Modifier l'angle d'un arc")); undo->enableAnimation(); elementScene()->undoStack().push(undo); } @@ -240,7 +240,7 @@ void ArcEditor::updateRect() if (rect != part->property("rect")) { auto undo= new QPropertyUndoCommand(ellipse, "rect", ellipse->property("rect"), rect); - undo->setText("Modifier un arc"); + undo->setText(tr("Modifier un arc")); undo->enableAnimation(); elementScene()->undoStack().push(undo); } diff --git a/sources/editor/editorcommands.cpp b/sources/editor/editorcommands.cpp index 62bc2a013..864e78944 100644 --- a/sources/editor/editorcommands.cpp +++ b/sources/editor/editorcommands.cpp @@ -17,6 +17,7 @@ */ #include "editorcommands.h" #include "../diagram.h" +#include "symbolscale.h" /** @brief ElementEditionCommand::ElementEditionCommand @@ -785,3 +786,97 @@ void FlipElementsCommand::undo() { redo(); } + +/** + @brief ScaleElementCommand::ScaleElementCommand + @param scene : the element to scale + @param factor : scale factor, applied about the hotspot + @param scale_text : also scale font sizes + @param parent : parent undo command +*/ +ScaleElementCommand::ScaleElementCommand(ElementScene *scene, + qreal factor, + bool scale_text, + QUndoCommand *parent) : + ElementEditionCommand(QObject::tr("mise à l'échelle de l'élément", "undo caption"), + scene, nullptr, parent), + m_factor(factor) +{ + const auto scaledFont = [factor, scale_text](QFont font) { + if (scale_text) { + if (font.pointSizeF() > 0) { + font.setPointSize(SymbolScale::scaledFontSize(font.pointSizeF(), factor)); + } else if (font.pixelSize() > 0) { + font.setPixelSize(SymbolScale::scaledFontSize(font.pixelSize(), factor)); + } + } + return font; + }; + + const auto parts = scene->primitives(); + for (CustomElementPart *part : parts) + { + QGraphicsItem *item = part->toItem(); + //Font before position: changing the font can move a text + //to keep its alignment. + if (auto text = qgraphicsitem_cast(item)) { + addChange(text, "font", scaledFont(text->font())); + addChange(text, "pos", text->pos() * factor); + } + else if (auto field = qgraphicsitem_cast(item)) { + addChange(field, "font", scaledFont(field->font())); + if (field->textWidth() > 0) { + addChange(field, "textWidth", field->textWidth() * factor); + } + addChange(field, "pos", field->pos() * factor); + } + else if (auto terminal = qgraphicsitem_cast(item)) { + addChange(terminal, "label_font", scaledFont(terminal->labelFont())); + addChange(terminal, "label_pos", terminal->labelPos() * factor); + addChange(terminal, "pos", terminal->pos() * factor); + } + else { + m_geometry_parts << part; + if (auto line = qgraphicsitem_cast(item)) { + addChange(line, "length1", line->firstEndLength() * factor); + addChange(line, "length2", line->secondEndLength() * factor); + } + } + } +} + +void ScaleElementCommand::addChange(QObject *object, const char *name, const QVariant &after) +{ + m_changes << PropertyChange{object, name, object->property(name), after}; +} + +/** + @brief ScaleElementCommand::scaleGeometry + Scale the drawn parts about the hotspot, from \a from times their + original size to \a to times it. +*/ +void ScaleElementCommand::scaleGeometry(qreal from, qreal to) +{ + const QRectF before(0, 0, from, from); + const QRectF after(0, 0, to, to); + for (CustomElementPart *part : std::as_const(m_geometry_parts)) { + part->startUserTransformation(before); + part->handleUserTransformation(before, after); + } +} + +void ScaleElementCommand::undo() +{ + scaleGeometry(m_factor, 1); + for (const PropertyChange &change : std::as_const(m_changes)) { + change.object->setProperty(change.name.constData(), change.before); + } +} + +void ScaleElementCommand::redo() +{ + scaleGeometry(1, m_factor); + for (const PropertyChange &change : std::as_const(m_changes)) { + change.object->setProperty(change.name.constData(), change.after); + } +} diff --git a/sources/editor/editorcommands.h b/sources/editor/editorcommands.h index e5a811a83..0cbcf923e 100644 --- a/sources/editor/editorcommands.h +++ b/sources/editor/editorcommands.h @@ -315,4 +315,37 @@ private: qreal m_axis_y = 0; }; +/** + @brief The ScaleElementCommand class + Scales the whole element about its hotspot by a fixed factor, as one + undo step. Drawn parts are scaled the way the resize handles scale them; + texts, dynamic text fields and terminals are set explicitly, so their + font sizes, terminal name offsets and line end sizes follow too, and a + terminal lands exactly on its new position. +*/ +class ScaleElementCommand : public ElementEditionCommand +{ + public: + ScaleElementCommand(ElementScene *scene, qreal factor, + bool scale_text, QUndoCommand *parent = nullptr); + void undo() override; + void redo() override; + + private: + struct PropertyChange { + QObject *object; + QByteArray name; + QVariant before; + QVariant after; + }; + void addChange(QObject *object, const char *name, const QVariant &after); + void scaleGeometry(qreal from, qreal to); + + qreal m_factor; + /// Parts scaled through handleUserTransformation() + QList m_geometry_parts; + /// Values set directly, in the order they are applied + QList m_changes; +}; + #endif diff --git a/sources/editor/elementprimitivedecorator.cpp b/sources/editor/elementprimitivedecorator.cpp index 3b678a7d4..8c01c3693 100644 --- a/sources/editor/elementprimitivedecorator.cpp +++ b/sources/editor/elementprimitivedecorator.cpp @@ -206,7 +206,13 @@ void ElementPrimitiveDecorator::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { // When moving the selection, consider the position of the first selected item QPointF current_position = scene_pos - mouse_offset_; - QPointF rounded_current_position = snapConstPointToGrid(current_position); + // Snap to the editor's grid, as a single part does (bugtracker + // #112); Ctrl keeps the fine 1-unit step. + ElementScene *element_scene = qobject_cast(scene()); + QPointF rounded_current_position = + (element_scene && !(event->modifiers() & Qt::ControlModifier)) + ? element_scene->snapToGrid(current_position) + : snapConstPointToGrid(current_position); movement = rounded_current_position - decorated_items_.at(0) -> toItem() -> scenePos(); QRectF bounding_rect = modified_bounding_rect_; diff --git a/sources/editor/elementscene.cpp b/sources/editor/elementscene.cpp index a9b8d85d2..2d5d035a7 100644 --- a/sources/editor/elementscene.cpp +++ b/sources/editor/elementscene.cpp @@ -23,6 +23,7 @@ #include "../NameList/ui/namelistwidget.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" #include "../QetGraphicsItemModeler/qetgraphicshandleritem.h" +#include "../QetGraphicsItemModeler/textresizehandles.h" #include "editorcommands.h" #include "elementcontent.h" #include "elementprimitivedecorator.h" @@ -1498,9 +1499,49 @@ void ElementScene::managePrimitivesGroups() m_decorator -> setPos(0, 0); m_decorator -> setItems(selected_items); } + manageTextResizeHandles(selected_items); m_decorator_lock -> unlock(); } +/** + @brief ElementScene::manageTextResizeHandles + Show the corner handles that change the width of a text field when it + is the only selected item. + Called again when the undo stack changes, including from the push of a + resize itself: the handles of the same text are then kept, not deleted + while they are still emitting. + @param selected_items +*/ +void ElementScene::manageTextResizeHandles(const QList &selected_items) +{ + QGraphicsTextItem *text = nullptr; + if (selected_items.size() == 1 && + selected_items.first()->type() == PartDynamicTextField::Type) + { + text = static_cast(selected_items.first()); + } + if (m_text_resize_handles && m_text_resize_handles->parentItem() == text) { + m_text_resize_handles->updateHandlesPos(); + return; + } + + if (m_text_resize_handles) { + m_text_resize_handles->hide(); + m_text_resize_handles->deleteLater(); + m_text_resize_handles.clear(); + } + + if (text) + { + m_text_resize_handles = new TextResizeHandles(text); + connect(m_text_resize_handles, &TextResizeHandles::resizeFinished, this, + [this, text](qreal old_width, qreal new_width, QPointF old_pos, QPointF new_pos) + { + m_undo_stack.push(new TextResizeCommand(text, old_width, new_width, old_pos, new_pos)); + }); + } +} + /** @brief ElementScene::stackAction Push the provided \a command on the undo stack. diff --git a/sources/editor/elementscene.h b/sources/editor/elementscene.h index ee275703f..5d3beb427 100644 --- a/sources/editor/elementscene.h +++ b/sources/editor/elementscene.h @@ -33,6 +33,7 @@ class QETElementEditor; class ESEventInterface; class QKeyEvent; class CustomElementGraphicPart; +class TextResizeHandles; /** @brief The ElementScene class This class is the canvas allowing the visual edition of an electrical element. @@ -90,6 +91,7 @@ class ElementScene : public QGraphicsScene m_y_grid; QPointer m_single_selected_item; + QPointer m_text_resize_handles; bool m_hotspot_visible = true; bool m_background_frame_visible = false; @@ -180,6 +182,7 @@ class ElementScene : public QGraphicsScene void slot_editAuthorInformations(); void slot_editProperties(); void managePrimitivesGroups(); + void manageTextResizeHandles(const QList &selected_items); void stackAction(ElementEditionCommand *); signals: diff --git a/sources/editor/elementview.cpp b/sources/editor/elementview.cpp index 6eed40457..588ac2399 100644 --- a/sources/editor/elementview.cpp +++ b/sources/editor/elementview.cpp @@ -17,6 +17,8 @@ */ #include "elementview.h" +#include "elementviewgrid.h" + #include "../qetapp.h" #include "UndoCommand/pastepartscommand.h" #include "ui/qetelementeditor.h" @@ -535,29 +537,12 @@ void ElementView::drawBackground(QPainter *p, const QRectF &r) { // choisit la granularite de la grille en fonction du zoom en cours // selects the grid granularity according to the current zoom level - int drawn_x_grid = 1;//scene_ -> xGrid(); - int drawn_y_grid = 1;//scene_ -> yGrid(); - bool draw_grid = true; - bool draw_cross = false; + const ElementViewGrid grid = ElementViewGrid::forZoom(zoom_factor); + const int grid_step = grid.step; + const bool draw_grid = grid.draw_grid; + const bool draw_cross = grid.draw_cross; - if (zoom_factor < 1.0) { //< no grid - draw_grid = false; - } else if (zoom_factor < 4.0) { //< grid 10*10 - drawn_x_grid *= 10; - drawn_y_grid *= 10; - }else if (zoom_factor < 8.0) { //< grid 5*5 - drawn_x_grid *= 5; - drawn_y_grid *= 5; - draw_cross = true; - } else if (zoom_factor < 10.0) { //< grid 2*2 - drawn_x_grid *= 2; - drawn_y_grid *= 2; - draw_cross = true; - } else { //< grid 1*1 - draw_cross = true; - } - - m_scene->setGrid(drawn_x_grid, drawn_y_grid); + m_scene->setGrid(grid_step, grid_step); if (draw_grid) { // draw the dots of the grid @@ -587,12 +572,12 @@ void ElementView::drawBackground(QPainter *p, const QRectF &r) { qreal limit_y = r.y() + r.height(); int g_x = (int)ceil(r.x()); - while (g_x % drawn_x_grid) ++ g_x; + while (g_x % grid_step) ++ g_x; int g_y = (int)ceil(r.y()); - while (g_y % drawn_y_grid) ++ g_y; + while (g_y % grid_step) ++ g_y; - for (int gx = g_x ; gx < limit_x ; gx += drawn_x_grid) { - for (int gy = g_y ; gy < limit_y ; gy += drawn_y_grid) { + for (int gx = g_x ; gx < limit_x ; gx += grid_step) { + for (int gy = g_y ; gy < limit_y ; gy += grid_step) { if (draw_cross) { if (!(gx % 10) && !(gy % 10)) { p -> drawLine(QLineF(gx - (pen.width()/4.0), gy, gx + (pen.width()/4.0), gy)); diff --git a/sources/editor/elementviewgrid.h b/sources/editor/elementviewgrid.h new file mode 100644 index 000000000..7a6b2a7e9 --- /dev/null +++ b/sources/editor/elementviewgrid.h @@ -0,0 +1,60 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef ELEMENTVIEWGRID_H +#define ELEMENTVIEWGRID_H + +#include + +/** + The symbol editor's grid at a given zoom: the step parts snap to, and + how the grid is drawn. The step gets finer as the view zooms in, so a + small detail can be placed precisely. + + Below 100 % the grid is not drawn (its dots would merge into a grey + wash), but parts still snap every 10 units, as at 100 %. Snapping to 1 + unit there left everything dragged while zoomed out off the grid, with + nothing on screen to show it (bugtracker #112). +*/ +struct ElementViewGrid +{ + int step = 10; + bool draw_grid = true; + bool draw_cross = false; + + static ElementViewGrid forZoom(qreal zoom_factor) + { + ElementViewGrid grid; + if (zoom_factor < 1.0) { + grid.draw_grid = false; + } else if (zoom_factor < 4.0) { + grid.step = 10; + } else if (zoom_factor < 8.0) { + grid.step = 5; + grid.draw_cross = true; + } else if (zoom_factor < 10.0) { + grid.step = 2; + grid.draw_cross = true; + } else { + grid.step = 1; + grid.draw_cross = true; + } + return grid; + } +}; + +#endif // ELEMENTVIEWGRID_H diff --git a/sources/editor/graphicspart/partdynamictextfield.cpp b/sources/editor/graphicspart/partdynamictextfield.cpp index 027a07ac4..958dcd0b8 100644 --- a/sources/editor/graphicspart/partdynamictextfield.cpp +++ b/sources/editor/graphicspart/partdynamictextfield.cpp @@ -235,7 +235,10 @@ void PartDynamicTextField::fromXml(const QDomElement &dom_elmt) { m_uuid = QUuid(dom_elmt.attribute("uuid", QUuid::createUuid().toString())); setFrame(dom_elmt.attribute("frame", "false") == "true"? true : false); + //The saved position is the one to keep + m_block_alignment = true; setTextWidth(dom_elmt.attribute("text_width", QString::number(-1)).toDouble()); + m_block_alignment = false; QMetaEnum me = DynamicElementTextItem::textFromMetaEnum(); m_text_from = DynamicElementTextItem::TextFrom( @@ -431,13 +434,23 @@ bool PartDynamicTextField::frame() const return m_frame; } +/** + @brief PartDynamicTextField::setTextWidth + Set the width of this text (-1 = automatic width). The point of the text + chosen by its alignment stays in place, as when the text changes: a + right-aligned or centred field no longer grows to the right only, and + undoing a width change puts it back where it was. + @param width +*/ void PartDynamicTextField::setTextWidth(qreal width) { + prepareAlignment(); this -> document() -> setTextWidth(width); //Adjust the width, to ideal width if needed if(width > 0 && document() -> size().width() > width) document() -> setTextWidth(document() -> idealWidth()); + finishAlignment(); m_text_width = document() -> textWidth(); emit textWidthChanged(m_text_width); } diff --git a/sources/editor/graphicspart/partline.h b/sources/editor/graphicspart/partline.h index 1e3082a53..7d09b7d60 100644 --- a/sources/editor/graphicspart/partline.h +++ b/sources/editor/graphicspart/partline.h @@ -127,6 +127,6 @@ class PartLine : public CustomElementGraphicPart int m_vector_index = -1; QPropertyUndoCommand *m_undo_command; QVector m_handler_vector; - qreal m_rot; + qreal m_rot = 0; }; #endif diff --git a/sources/editor/graphicspart/partplctable.cpp b/sources/editor/graphicspart/partplctable.cpp index 18f56d2b9..7faad6a9f 100644 --- a/sources/editor/graphicspart/partplctable.cpp +++ b/sources/editor/graphicspart/partplctable.cpp @@ -668,7 +668,7 @@ void PartPlcTable::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGraph Q_UNUSED(qghi) Q_UNUSED(event) - QUndoCommand *undo = new QUndoCommand("Modifier une table PLC"); + QUndoCommand *undo = new QUndoCommand(tr("Modifier une table PLC")); if (m_old_rect != m_rect) { QPropertyUndoCommand *u = new QPropertyUndoCommand(this, "rect", QVariant(m_old_rect.normalized()), QVariant(m_rect.normalized()), undo); u->setAnimated(true, false); diff --git a/sources/editor/graphicspart/partpolygon.h b/sources/editor/graphicspart/partpolygon.h index bee786be4..f2d959460 100644 --- a/sources/editor/graphicspart/partpolygon.h +++ b/sources/editor/graphicspart/partpolygon.h @@ -119,6 +119,6 @@ class PartPolygon : public CustomElementGraphicPart QAction *m_insert_point, *m_remove_point; QPointF m_context_menu_pos; - qreal m_rot; + qreal m_rot = 0; }; #endif diff --git a/sources/editor/graphicspart/partrectangle.cpp b/sources/editor/graphicspart/partrectangle.cpp index e1955b1b9..b9f74927a 100644 --- a/sources/editor/graphicspart/partrectangle.cpp +++ b/sources/editor/graphicspart/partrectangle.cpp @@ -516,7 +516,7 @@ void PartRectangle::handlerMouseReleaseEvent(QetGraphicsHandlerItem *qghi, QGrap m_modifie_radius_equaly = false; - QUndoCommand *undo = new QUndoCommand("Modifier un rectangle"); + QUndoCommand *undo = new QUndoCommand(tr("Modifier un rectangle")); if (m_old_rect != m_rect) { QPropertyUndoCommand *u = new QPropertyUndoCommand(this, "rect", QVariant(m_old_rect.normalized()), QVariant(m_rect.normalized()), undo); u->setAnimated(true, false); diff --git a/sources/editor/graphicspart/parttext.cpp b/sources/editor/graphicspart/parttext.cpp index 56f7faa93..9430f429f 100644 --- a/sources/editor/graphicspart/parttext.cpp +++ b/sources/editor/graphicspart/parttext.cpp @@ -57,7 +57,17 @@ PartText::PartText(QETElementEditor *editor, QGraphicsItem *parent) : connect(document(), &QTextDocument::contentsChanged, this, - [this]() { adjustItemPosition(); }); + [this]() { + adjustItemPosition(); + // During inline edition, keep the aligned point in place after + // every keystroke instead of only when the edition ends (#1252). + // setPlainText() and setFont() re-anchor on their own. + if (!previous_text.isNull()) { + applyLineAlignment(); + finishAlignment(); + prepareAlignment(); + } + }); } /// Destructeur @@ -552,8 +562,8 @@ void PartText::endEdition() QPropertyUndoCommand *undo = new QPropertyUndoCommand(this, "text", previous_text, new_text); undo -> setText(tr("Modifier un champ texte")); undoStack().push(undo); - previous_text = QString(); } + previous_text = QString(); } // deselectionne le texte diff --git a/sources/editor/symbolscale.h b/sources/editor/symbolscale.h new file mode 100644 index 000000000..e6dab4e4a --- /dev/null +++ b/sources/editor/symbolscale.h @@ -0,0 +1,107 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef SYMBOLSCALE_H +#define SYMBOLSCALE_H + +#include +#include +#include + +/** + Which factors an element can be scaled by, in the element editor, without + taking its terminals off the grid of the folio. + + A terminal's position is its wire end, relative to the hotspot, and the + hotspot of a placed element sits on a grid point. So the wires of an + element line up with the grid when every terminal coordinate is a + multiple of the grid size. The element is scaled about its hotspot, so a + factor is safe when every coordinate times the factor is still a + multiple of the grid size. + + The same rule covers an element whose terminals are off the grid today: + the factors offered are the ones that bring them all on to it. +*/ +namespace SymbolScale +{ + /// The folio grid the collection is drawn to. Fixed rather than read + /// from the user's settings: elements are shared between users. + constexpr int grid = 10; + + /// The factors offered, in the order shown. + inline QList candidates() + { + return {0.5, 1.5, 2.0, 2.5, 3.0, 4.0}; + } + + /// True if \a value is a multiple of \a grid_size, ignoring the + /// rounding left by saving with two decimals. + inline bool onGrid(qreal value, int grid_size = grid) + { + const qreal steps = value / grid_size; + return qAbs(steps - qRound(steps)) * grid_size < 0.005; + } + + /// True if every terminal in \a terminals is on the grid. + inline bool allOnGrid(const QList &terminals, int grid_size = grid) + { + for (const QPointF &p : terminals) { + if (!onGrid(p.x(), grid_size) || !onGrid(p.y(), grid_size)) { + return false; + } + } + return true; + } + + /// How many of \a terminals are off the grid. + inline int offGridCount(const QList &terminals, int grid_size = grid) + { + int count = 0; + for (const QPointF &p : terminals) { + if (!onGrid(p.x(), grid_size) || !onGrid(p.y(), grid_size)) { + ++count; + } + } + return count; + } + + /// The candidate factors that leave every terminal of \a terminals on + /// the grid. An element with no terminal can take any of them. + inline QList safeFactors(const QList &terminals, int grid_size = grid) + { + QList safe; + for (const qreal factor : candidates()) { + QList scaled; + for (const QPointF &p : terminals) { + scaled << p * factor; + } + if (allOnGrid(scaled, grid_size)) { + safe << factor; + } + } + return safe; + } + + /// Font size after scaling by \a factor: whole points, and never + /// below 4 pt, so a halved element keeps readable text. + inline int scaledFontSize(qreal size, qreal factor) + { + return qMax(4, qRound(size * factor)); + } +} + +#endif // SYMBOLSCALE_H diff --git a/sources/editor/ui/dynamictextfieldeditor.cpp b/sources/editor/ui/dynamictextfieldeditor.cpp index 47d87a91c..972de4176 100644 --- a/sources/editor/ui/dynamictextfieldeditor.cpp +++ b/sources/editor/ui/dynamictextfieldeditor.cpp @@ -157,7 +157,9 @@ void DynamicTextFieldEditor::updateForm() m_color_kpb -> setColor(m_text_field.data() -> color()); } #endif - ui -> m_width_sb -> setValue(m_text_field.data() -> textWidth()); + //Rounded as on_m_width_sb_editingFinished() compares it; + //setValue(int) would truncate 61.7 to 61 + ui -> m_width_sb -> setValue(qRound(m_text_field.data() -> textWidth())); ui -> m_font_pb -> setText(m_text_field -> font().family()); switch (m_text_field.data() -> textFrom()) { @@ -363,7 +365,9 @@ void DynamicTextFieldEditor::on_m_width_sb_editingFinished() qreal width = (qreal)ui -> m_width_sb -> value(); for (int i = 0; i < m_parts.length(); i++) { - if(width != m_parts[i] -> textWidth()) { + //The box shows whole pixels: a width fitted to the text is not + //rounded just by leaving the box. + if(ui -> m_width_sb -> value() != qRound(m_parts[i] -> textWidth())) { QPropertyUndoCommand *undo = new QPropertyUndoCommand(m_parts[i], "textWidth", m_parts[i] -> textWidth(), width); undo -> setText(tr("Modifier la largeur d'un texte")); undoStack().push(undo); diff --git a/sources/editor/ui/dynamictextfieldeditor.ui b/sources/editor/ui/dynamictextfieldeditor.ui index 516b41853..59c8defde 100644 --- a/sources/editor/ui/dynamictextfieldeditor.ui +++ b/sources/editor/ui/dynamictextfieldeditor.ui @@ -101,11 +101,17 @@ + + Auto + + + px + -1 - 500 + 10000 diff --git a/sources/editor/ui/elementpropertieseditorwidget.cpp b/sources/editor/ui/elementpropertieseditorwidget.cpp index 78386abd1..001e1e035 100644 --- a/sources/editor/ui/elementpropertieseditorwidget.cpp +++ b/sources/editor/ui/elementpropertieseditorwidget.cpp @@ -48,42 +48,28 @@ #include #include -/** - @brief The EditorDelegate class - This delegate is only use for disable the edition of the first - column of the information tree widget -*/ -class EditorDelegate : public QItemDelegate +QWidget* EditorDelegate::createEditor(QWidget *parent, + const QStyleOptionViewItem &option, + const QModelIndex &index) const { - public: - EditorDelegate(QObject *parent) : - QItemDelegate(parent) - {} - - QWidget* createEditor(QWidget *parent, - const QStyleOptionViewItem &option, - const QModelIndex &index) const override + if(index.column() == 1) { - if(index.column() == 1) - { - const QString key = index.sibling(index.row(), 0) - .data(Qt::UserRole).toString(); - + const QString key = index.sibling(index.row(), 0) + .data(Qt::UserRole).toString(); if (key == QETInformation::ELMT_WIDTH || key == QETInformation::ELMT_HEIGHT || key == QETInformation::ELMT_DEPTH) - { - auto *line_edit = new QLineEdit(parent); - auto *validator = new QETInformation::NumericInfoValidator(line_edit); - line_edit->setValidator(validator); - line_edit->setPlaceholderText(tr("ex. 80.5")); - line_edit->setToolTip(tr("Nombre décimal avec un point comme séparateur (ex. 80.5)")); - return line_edit; - } - - return QItemDelegate::createEditor(parent, option, index); + { + auto *line_edit = new QLineEdit(parent); + auto *validator = new QETInformation::NumericInfoValidator(line_edit); + line_edit->setValidator(validator); + line_edit->setPlaceholderText(tr("ex. 80.5")); + line_edit->setToolTip(tr("Nombre décimal avec un point comme séparateur (ex. 80.5)")); + return line_edit; } - return nullptr; + + return QItemDelegate::createEditor(parent, option, index); } -}; + return nullptr; +} /** * @brief ElementPropertiesEditorWidget::ElementPropertiesEditorWidget diff --git a/sources/editor/ui/elementpropertieseditorwidget.h b/sources/editor/ui/elementpropertieseditorwidget.h index 7956917fa..e58cdd1b8 100644 --- a/sources/editor/ui/elementpropertieseditorwidget.h +++ b/sources/editor/ui/elementpropertieseditorwidget.h @@ -23,6 +23,7 @@ #include #include +#include class QTableWidget; class QSpinBox; @@ -36,6 +37,24 @@ namespace Ui { class ElementPropertiesEditorWidget; } +/** + @brief The EditorDelegate class + This delegate is only use for disable the edition of the first + column of the information tree widget +*/ +class EditorDelegate : public QItemDelegate +{ + Q_OBJECT + public: + EditorDelegate(QObject *parent) : + QItemDelegate(parent) + {} + + QWidget* createEditor(QWidget *parent, + const QStyleOptionViewItem &option, + const QModelIndex &index) const override; +}; + /** @brief The ElementPropertiesEditorWidget class This class provide a dialog for edit various property of element, like diff --git a/sources/editor/ui/ellipseeditor.cpp b/sources/editor/ui/ellipseeditor.cpp index d42090e12..6f37e9be7 100644 --- a/sources/editor/ui/ellipseeditor.cpp +++ b/sources/editor/ui/ellipseeditor.cpp @@ -149,7 +149,7 @@ void EllipseEditor::updateRect() if (rect != part->property("rect")) { auto undo= new QPropertyUndoCommand(ellipse, "rect", ellipse->property("rect"), rect); - undo->setText("Modifier une ellipse"); + undo->setText(tr("Modifier une ellipse")); undo->enableAnimation(); elementScene()->undoStack().push(undo); } diff --git a/sources/editor/ui/polygoneditor.ui b/sources/editor/ui/polygoneditor.ui index c34d26888..434d2fce6 100644 --- a/sources/editor/ui/polygoneditor.ui +++ b/sources/editor/ui/polygoneditor.ui @@ -48,8 +48,7 @@ - - :/ico/16x16/list-add.png:/ico/16x16/list-add.png + Ajouter un point @@ -57,8 +56,7 @@ - - :/ico/16x16/list-remove.png:/ico/16x16/list-remove.png + Supprimer ce point diff --git a/sources/editor/ui/qetelementeditor.cpp b/sources/editor/ui/qetelementeditor.cpp index dfb81b1ec..5f65ee09e 100644 --- a/sources/editor/ui/qetelementeditor.cpp +++ b/sources/editor/ui/qetelementeditor.cpp @@ -54,6 +54,8 @@ #include "../../dxf/dxftoelmt.h" #include "../../qet_elementscaler/qet_elementscaler.h" #include "../UndoCommand/openelmtcommand.h" +#include "scaleelementdialog.h" +#include "../../toolbarsettings.h" #include #include @@ -89,6 +91,7 @@ QETElementEditor::QETElementEditor(QWidget *parent) : readSettings(); // restoreGeometry before show() show(); readSettingsState(); // restoreState() must be called after show() in Qt6 + ToolbarSettings::applyTo(this); } /** @@ -765,6 +768,9 @@ void QETElementEditor::updateSelectionFromPartsList() } m_parts_list -> blockSignals(false); m_elmt_scene -> blockSignals(false); + //selectionChanged was blocked above, so the selection decorator must be + //updated by hand, otherwise dragging moves only the part under the cursor + m_elmt_scene -> managePrimitivesGroups(); updateInformations(); updateAction(); } @@ -1149,6 +1155,12 @@ void QETElementEditor::setupActions() ShortcutManager::instance().registerAction(ui->m_mirror_action, "elementeditor.mirror", tr("Éditeur d'élément"), Qt::Key_M); connect(ui->m_mirror_action, &QAction::triggered, [this]() {this -> elementScene() -> undoStack().push(new MirrorElementsCommand(this->elementScene()));}); + //Scale the whole element by a factor that keeps its terminals on the grid + m_scale_element_action = new QAction(tr("Mettre l'élément à l'échelle..."), this); + ui->m_edit_menu->addAction(m_scale_element_action); + ShortcutManager::instance().registerAction(m_scale_element_action, "elementeditor.scale_element", tr("Éditeur d'élément"), QKeySequence()); + connect(m_scale_element_action, &QAction::triggered, this, &QETElementEditor::scaleElement); + //Zoom action ShortcutManager::instance().registerAction(ui->m_zoom_in_action, "elementeditor.zoom_in", tr("Éditeur d'élément"), QKeySequence::ZoomIn); @@ -1242,7 +1254,8 @@ void QETElementEditor::updateAction() //Action disabled if read only auto ro_list = m_add_part_action_grp->actions(); ro_list << ui->m_paste_from_file_action - << ui->m_paste_from_element_action; + << ui->m_paste_from_element_action + << m_scale_element_action; for (auto action : std::as_const(ro_list)) { action->setDisabled(m_read_only); } @@ -1798,6 +1811,28 @@ void QETElementEditor::on_m_import_dxf_triggered() } } +/** + @brief QETElementEditor::scaleElement + Ask for a factor that keeps the terminals on the grid, + then scale the whole element by it. +*/ +void QETElementEditor::scaleElement() +{ + QList terminals; + for (CustomElementPart *part : m_elmt_scene->primitives()) { + if (auto terminal = qgraphicsitem_cast(part->toItem())) { + terminals << terminal->scenePos(); + } + } + + ScaleElementDialog dialog(terminals, this); + if (dialog.exec() != QDialog::Accepted || dialog.factor() == 1.0) { + return; + } + m_elmt_scene->undoStack().push( + new ScaleElementCommand(m_elmt_scene, dialog.factor(), dialog.scaleText())); +} + void QETElementEditor::on_m_import_scaled_element_triggered() { if (ElementScalerIsPresent(true, this)) diff --git a/sources/editor/ui/qetelementeditor.h b/sources/editor/ui/qetelementeditor.h index b164017f8..f74de2a23 100644 --- a/sources/editor/ui/qetelementeditor.h +++ b/sources/editor/ui/qetelementeditor.h @@ -112,6 +112,7 @@ class QETElementEditor : public QMainWindow void on_m_about_qt_action_triggered(); void on_m_import_dxf_triggered(); void on_m_import_scaled_element_triggered(); + void scaleElement(); private: bool canClose(); @@ -142,6 +143,7 @@ class QETElementEditor : public QMainWindow QList m_context_menu_action_list; QAction + *m_scale_element_action = nullptr, *m_undo_action = nullptr, *m_redo_action = nullptr; diff --git a/sources/editor/ui/qetelementeditor.ui b/sources/editor/ui/qetelementeditor.ui index 53c380cba..6df529dd9 100644 --- a/sources/editor/ui/qetelementeditor.ui +++ b/sources/editor/ui/qetelementeditor.ui @@ -14,8 +14,7 @@ QElectroTech - Éditeur d'élément - - :/ico/16x16/qet.png:/ico/16x16/qet.png + @@ -55,8 +54,7 @@ Coller depuis... - - :/ico/16x16/edit-paste.png:/ico/16x16/edit-paste.png + @@ -202,8 +200,7 @@ - - :/ico/16x16/edit-select-all.png:/ico/16x16/edit-select-all.png + Tout sélectionner @@ -211,8 +208,7 @@ - - :/ico/22x22/document-new.png:/ico/22x22/document-new.png + &Nouveau @@ -220,8 +216,7 @@ - - :/ico/22x22/folder-open.png:/ico/22x22/folder-open.png + &Ouvrir @@ -229,8 +224,7 @@ - - :/ico/22x22/folder-open.png:/ico/22x22/folder-open.png + &Ouvrir depuis un fichier @@ -238,8 +232,7 @@ - - :/ico/22x22/document-save.png:/ico/22x22/document-save.png + &Enregistrer @@ -247,8 +240,7 @@ - - :/ico/22x22/document-save-as.png:/ico/22x22/document-save-as.png + Enregistrer sous @@ -256,8 +248,7 @@ - - :/ico/22x22/document-save.png:/ico/22x22/document-save.png + Enregistrer dans un fichier @@ -265,8 +256,7 @@ - - :/ico/22x22/document-export.png:/ico/22x22/document-export.png + Exporter en SVG @@ -274,8 +264,7 @@ - - :/ico/22x22/view-refresh.png:/ico/22x22/view-refresh.png + Recharger @@ -283,8 +272,7 @@ - - :/ico/16x16/application-exit.png:/ico/16x16/application-exit.png + &Fermer cet éditeur @@ -295,8 +283,7 @@ - - :/ico/16x16/edit-select-none.png:/ico/16x16/edit-select-none.png + Désélectionner tout @@ -304,8 +291,7 @@ - - :/ico/16x16/edit-cut.png:/ico/16x16/edit-cut.png + Co&uper @@ -313,8 +299,7 @@ - - :/ico/16x16/edit-copy.png:/ico/16x16/edit-copy.png + Cop&ier @@ -322,8 +307,7 @@ - - :/ico/16x16/edit-paste.png:/ico/16x16/edit-paste.png + C&oller @@ -331,8 +315,7 @@ - - :/ico/16x16/edit-paste.png:/ico/16x16/edit-paste.png + C&oller dans la zone @@ -348,8 +331,7 @@ - - :/ico/16x16/element.png:/ico/16x16/element.png + Un élément @@ -357,8 +339,7 @@ - - :/ico/16x16/edit-select-invert.png:/ico/16x16/edit-select-invert.png + Inverser la sélection @@ -366,8 +347,7 @@ - - :/ico/22x22/edit-delete.png:/ico/22x22/edit-delete.png + &Supprimer @@ -383,8 +363,7 @@ - - :/ico/16x16/preferences-desktop-user.png:/ico/16x16/preferences-desktop-user.png + Éditer les informations sur l'auteur @@ -400,8 +379,7 @@ - - :/ico/22x22/zoom-in.png:/ico/22x22/zoom-in.png + Zoom avant @@ -409,8 +387,7 @@ - - :/ico/22x22/zoom-out.png:/ico/22x22/zoom-out.png + Zoom arrière @@ -434,8 +411,7 @@ - - :/ico/16x16/qet.png:/ico/16x16/qet.png + À &propos de QElectroTech @@ -446,8 +422,7 @@ - - :/ico/16x16/help-contents.png:/ico/16x16/help-contents.png + Manuel en ligne @@ -458,8 +433,7 @@ - - :/ico/16x16/kdenlive-show-video.png:/ico/16x16/kdenlive-show-video.png + Chaine Youtube @@ -470,8 +444,7 @@ - - :/ico/16x16/help-donate.png:/ico/16x16/help-donate.png + Soutenir le projet par un don @@ -482,8 +455,7 @@ - - :/ico/16x16/qt.png:/ico/16x16/qt.png + À propos de &Qt @@ -510,8 +482,7 @@ - - :/ico/16x16/mirror.png:/ico/16x16/mirror.png + Mirror @@ -519,8 +490,7 @@ - - :/ico/16x16/flip.png:/ico/16x16/flip.png + Flip @@ -536,8 +506,7 @@ - - :/ico/22x22/folder-open.png:/ico/22x22/folder-open.png + importer un élément à redimensionner diff --git a/sources/editor/ui/scaleelementdialog.cpp b/sources/editor/ui/scaleelementdialog.cpp new file mode 100644 index 000000000..2be5b2230 --- /dev/null +++ b/sources/editor/ui/scaleelementdialog.cpp @@ -0,0 +1,98 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "scaleelementdialog.h" + +#include "../symbolscale.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +/** + @brief ScaleElementDialog::ScaleElementDialog + @param terminals : positions of the element's terminals, in scene + coordinates (relative to the hotspot) + @param parent +*/ +ScaleElementDialog::ScaleElementDialog(const QList &terminals, QWidget *parent) : + QDialog(parent) +{ + setWindowTitle(tr("Mettre l'élément à l'échelle")); + + auto layout = new QVBoxLayout(this); + auto form = new QFormLayout(); + layout->addLayout(form); + + m_factor = new QComboBox(this); + const auto factors = SymbolScale::safeFactors(terminals); + for (const qreal f : factors) { + m_factor->addItem(QStringLiteral("× %1").arg(QLocale().toString(f)), f); + } + const int two = m_factor->findData(2.0); + if (two >= 0) { + m_factor->setCurrentIndex(two); + } + form->addRow(tr("Facteur :"), m_factor); + + m_scale_text = new QCheckBox(tr("Mettre aussi les textes à l'échelle"), this); + m_scale_text->setChecked(true); + form->addRow(m_scale_text); + + QString explanation; + const int off_grid = SymbolScale::offGridCount(terminals); + if (off_grid && factors.isEmpty()) { + explanation = tr("%n borne(s) de cet élément ne sont pas sur la grille, " + "et aucun facteur ne les y amène.", "", off_grid); + } else if (off_grid) { + explanation = tr("%n borne(s) de cet élément ne sont pas sur la grille. " + "Seuls les facteurs qui les y amènent sont proposés.", "", off_grid); + } else { + explanation = tr("Seuls les facteurs qui gardent les bornes sur la grille " + "sont proposés. L'élément est mis à l'échelle autour de son point de saisie."); + } + auto label = new QLabel(explanation, this); + label->setWordWrap(true); + layout->addWidget(label); + + auto buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this); + buttons->button(QDialogButtonBox::Ok)->setEnabled(!factors.isEmpty()); + connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept); + connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); + layout->addWidget(buttons); + + m_factor->setEnabled(!factors.isEmpty()); + m_scale_text->setEnabled(!factors.isEmpty()); +} + +/** + @return the chosen factor, or 1 if none could be offered +*/ +qreal ScaleElementDialog::factor() const +{ + return m_factor->count() ? m_factor->currentData().toReal() : 1.0; +} + +bool ScaleElementDialog::scaleText() const +{ + return m_scale_text->isChecked(); +} diff --git a/sources/editor/ui/scaleelementdialog.h b/sources/editor/ui/scaleelementdialog.h new file mode 100644 index 000000000..419c14933 --- /dev/null +++ b/sources/editor/ui/scaleelementdialog.h @@ -0,0 +1,47 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef SCALEELEMENTDIALOG_H +#define SCALEELEMENTDIALOG_H + +#include + +class QCheckBox; +class QComboBox; + +/** + @brief The ScaleElementDialog class + Asks for the factor to scale the whole element by. Only the factors + that leave every terminal on the folio grid are offered + (see SymbolScale::safeFactors()). +*/ +class ScaleElementDialog : public QDialog +{ + Q_OBJECT + + public: + ScaleElementDialog(const QList &terminals, QWidget *parent = nullptr); + + qreal factor() const; + bool scaleText() const; + + private: + QComboBox *m_factor = nullptr; + QCheckBox *m_scale_text = nullptr; +}; + +#endif // SCALEELEMENTDIALOG_H diff --git a/sources/editor/ui/terminaleditor.cpp b/sources/editor/ui/terminaleditor.cpp index f3d23b7d9..ce9b1ea06 100644 --- a/sources/editor/ui/terminaleditor.cpp +++ b/sources/editor/ui/terminaleditor.cpp @@ -411,7 +411,8 @@ void TerminalEditor::labelColorClicked() m_locked = true; #ifdef BUILD_WITHOUT_KF - QColor new_color = QColorDialog::getColor(m_part->labelColor(), this); + QColor new_color = QColorDialog::getColor(m_part->labelColor(), this, QString(), + QColorDialog::DontUseNativeDialog); if (new_color.isValid() && m_part->labelColor() != new_color) { auto undo = new QPropertyUndoCommand(m_part, "label_color", m_part->labelColor(), new_color); undo->setText(tr("Modifier la couleur du label")); diff --git a/sources/elementspanel.cpp b/sources/elementspanel.cpp index d4d318717..72e20ef79 100644 --- a/sources/elementspanel.cpp +++ b/sources/elementspanel.cpp @@ -255,9 +255,9 @@ bool ElementsPanel::matchesFilter(const QTreeWidgetItem *item, */ void ElementsPanel::reload() { - QIcon system_icon(":/ico/16x16/qet.png"); + QIcon system_icon = QIcon::fromTheme("qet"); QIcon company_icon = QET::Icons::Company; - QIcon user_icon(":/ico/16x16/go-home.png"); + QIcon user_icon = QIcon::fromTheme("go-home"); // load the common title block templates collection TitleBlockTemplatesCollection *common_tbt_collection = QETApp::commonTitleBlockTemplatesCollection(); diff --git a/sources/elementspanelwidget.cpp b/sources/elementspanelwidget.cpp index 71a0b6b9e..a32099de6 100644 --- a/sources/elementspanelwidget.cpp +++ b/sources/elementspanelwidget.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "elementspanelwidget.h" +#include "autoNum/elementautonumschemecommand.h" #include "diagram.h" #include "qetgraphicsitem/conductor.h" #include "editor/ui/qetelementeditor.h" @@ -699,6 +700,14 @@ void ElementsPanelWidget::duplicateDiagram() elmt->initLink(new_elements); } + // The numberings the copies follow, known before the label + // erasing below empties their formula + const bool autonumber = QSettings().value( + "diagramcommands/autonumber-pasted-elements", true).toBool(); + const QMap> copy_schemes = autonumber + ? ElementAutoNumSchemeCommand::pastedSchemes(project, new_elements) + : QMap>(); + for (QGraphicsItem *item : new_diagram->items()) { if (Element *elmt = dynamic_cast(item)) { // The XML round-trip kept the source elements' uuids. Give the @@ -835,6 +844,18 @@ void ElementsPanelWidget::duplicateDiagram() } } + // The copies follow the numberings of the project: they get the + // next numbers, as pasted elements do. This duplication is not + // undoable, so neither is the numbering: it is done at once. + ElementAutoNumSchemeCommand::linkPasted(project, new_elements); + if (!copy_schemes.isEmpty()) + { + QUndoCommand numbering; + if (ElementAutoNumSchemeCommand::numberPasted(project, copy_schemes, &numbering)) { + numbering.redo(); + } + } + // Groups too: a group of the copy is its own, so selecting it // is the same on both folios but the database tells them apart. QHash renewed_groups; diff --git a/sources/exportdialog.cpp b/sources/exportdialog.cpp index 4242d726d..b04ebd8d3 100644 --- a/sources/exportdialog.cpp +++ b/sources/exportdialog.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "exportdialog.h" +#include "shownkinds.h" #include "conductorsegment.h" #include "createdxf.h" @@ -497,7 +498,9 @@ void ExportDialog::slot_export() { for (QGraphicsItem *item : diagram_line->diagram->items()) { - if (qgraphicsitem_cast(item)) { + //A picture hidden by View > Show is not exported + if (qgraphicsitem_cast(item) + && !ShownKinds::isHidden(item)) { any_images = true; break; } diff --git a/sources/exportproperties.cpp b/sources/exportproperties.cpp index 7e85a4b2d..cd53bc806 100644 --- a/sources/exportproperties.cpp +++ b/sources/exportproperties.cpp @@ -37,6 +37,8 @@ ExportProperties::ExportProperties() : draw_terminal_names(false), draw_bg_transparent(false), draw_colored_conductors(true), + dxf_blocks(false), + dxf_attributes(false), exported_area(QET::BorderArea) { } @@ -77,6 +79,10 @@ void ExportProperties::toSettings(QSettings &settings, draw_bg_transparent); settings.setValue(prefix % "drawcoloredconductors", draw_colored_conductors); + settings.setValue(prefix % "dxfblocks", + dxf_blocks); + settings.setValue(prefix % "dxfattributes", + dxf_attributes); settings.setValue(prefix % "area", QET::diagramAreaToString(exported_area)); } @@ -115,6 +121,10 @@ void ExportProperties::fromSettings(QSettings &settings, draw_colored_conductors = settings.value( prefix % "drawcoloredconductors", true ).toBool(); + dxf_blocks = settings.value(prefix % "dxfblocks", + false).toBool(); + dxf_attributes = settings.value(prefix % "dxfattributes", + false).toBool(); exported_area = QET::diagramAreaFromString( settings.value( diff --git a/sources/exportproperties.h b/sources/exportproperties.h index af34f6868..c8feca461 100644 --- a/sources/exportproperties.h +++ b/sources/exportproperties.h @@ -50,6 +50,8 @@ class ExportProperties { bool draw_terminal_names; ///< Whether to render terminal names/labels bool draw_bg_transparent; ///< Whether to use transparency for SVG-Export bool draw_colored_conductors; ///< Whether to render conductors colors + bool dxf_blocks; ///< DXF: each symbol as a block, placed with an INSERT + bool dxf_attributes; ///< DXF, with dxf_blocks: a symbol's texts as attributes of its INSERT QET::DiagramArea exported_area; ///< Area of diagrams to be rendered }; #endif diff --git a/sources/exportpropertieswidget.cpp b/sources/exportpropertieswidget.cpp index 8eccc0805..0ce0dac46 100644 --- a/sources/exportpropertieswidget.cpp +++ b/sources/exportpropertieswidget.cpp @@ -66,6 +66,8 @@ ExportProperties ExportPropertiesWidget::exportProperties() const export_properties.draw_terminal_names = draw_terminal_names -> isChecked(); export_properties.draw_bg_transparent = draw_bg_transparent -> isChecked(); export_properties.draw_colored_conductors = draw_colored_conductors -> isChecked(); + export_properties.dxf_blocks = dxf_blocks -> isChecked(); + export_properties.dxf_attributes = dxf_attributes -> isChecked(); export_properties.exported_area = export_border -> isChecked() ? QET::BorderArea : QET::ElementsArea; return(export_properties); @@ -89,6 +91,9 @@ void ExportPropertiesWidget::setExportProperties(const ExportProperties &export_ draw_terminal_names -> setChecked(export_properties.draw_terminal_names); draw_bg_transparent -> setChecked(export_properties.draw_bg_transparent); draw_colored_conductors -> setChecked(export_properties.draw_colored_conductors); + dxf_blocks -> setChecked(export_properties.dxf_blocks); + dxf_attributes -> setChecked(export_properties.dxf_attributes); + dxf_attributes -> setEnabled(export_properties.dxf_blocks); if (export_properties.exported_area == QET::BorderArea) { export_border -> setChecked(true); @@ -219,6 +224,17 @@ void ExportPropertiesWidget::build() // use transparent background for SVG-Export draw_bg_transparent = new QCheckBox(tr("SVG: fond transparent"), groupbox_options); optionshlayout -> addWidget(draw_bg_transparent, 4, 0); + + // each symbol as a DXF block (issue #1339) + dxf_blocks = new QCheckBox(tr("DXF : symboles en blocs"), groupbox_options); + dxf_blocks -> setToolTip(tr("Chaque symbole devient un bloc DXF, sélectionnable d'un clic dans un logiciel de CAO")); + optionshlayout -> addWidget(dxf_blocks, 4, 1); + + // with blocks, a symbol's texts as attributes of its block + dxf_attributes = new QCheckBox(tr("DXF : textes des symboles en attributs"), groupbox_options); + dxf_attributes -> setToolTip(tr("Les textes d'un symbole (repère, fonction...) deviennent des attributs de son bloc. LibreCAD n'affiche pas les attributs.")); + optionshlayout -> addWidget(dxf_attributes, 5, 1); + connect(dxf_blocks, &QCheckBox::toggled, dxf_attributes, &QCheckBox::setEnabled); vboxLayout -> addWidget(groupbox_options); @@ -234,6 +250,8 @@ void ExportPropertiesWidget::build() setTabOrder(draw_titleblock, draw_terminals); setTabOrder(draw_terminals, draw_colored_conductors); setTabOrder(draw_colored_conductors, draw_bg_transparent); + setTabOrder(draw_bg_transparent, dxf_blocks); + setTabOrder(dxf_blocks, dxf_attributes); // connexion du bouton permettant le choix du repertoire connect(button_browse, &QPushButton::released, this, &ExportPropertiesWidget::slot_chooseADirectory); @@ -249,6 +267,8 @@ void ExportPropertiesWidget::build() connect(draw_terminal_names, &QCheckBox::stateChanged, this, &ExportPropertiesWidget::optionChanged); connect(draw_bg_transparent, &QCheckBox::stateChanged, this, &ExportPropertiesWidget::optionChanged); connect(draw_colored_conductors, &QCheckBox::stateChanged, this, &ExportPropertiesWidget::optionChanged); + connect(dxf_blocks, &QCheckBox::stateChanged, this, &ExportPropertiesWidget::optionChanged); + connect(dxf_attributes, &QCheckBox::stateChanged, this, &ExportPropertiesWidget::optionChanged); #else connect(draw_grid, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); connect(draw_border, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); @@ -257,5 +277,7 @@ void ExportPropertiesWidget::build() connect(draw_terminal_names, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); connect(draw_bg_transparent, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); connect(draw_colored_conductors, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); + connect(dxf_blocks, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); + connect(dxf_attributes, &QCheckBox::checkStateChanged, this, &ExportPropertiesWidget::optionChanged); #endif } diff --git a/sources/exportpropertieswidget.h b/sources/exportpropertieswidget.h index ae0c97acd..5b96e4273 100644 --- a/sources/exportpropertieswidget.h +++ b/sources/exportpropertieswidget.h @@ -65,6 +65,8 @@ class ExportPropertiesWidget : public QWidget { QCheckBox *draw_terminal_names; QCheckBox *draw_bg_transparent; QCheckBox *draw_colored_conductors; + QCheckBox *dxf_blocks; + QCheckBox *dxf_attributes; QRadioButton *export_border; QRadioButton *export_elements; QButtonGroup *exported_content_choices; diff --git a/sources/factory/elementpicturefactory.cpp b/sources/factory/elementpicturefactory.cpp index c3b0f0745..3c6ef11b5 100644 --- a/sources/factory/elementpicturefactory.cpp +++ b/sources/factory/elementpicturefactory.cpp @@ -94,6 +94,49 @@ void ElementPictureFactory::getPictures(const ElementsLocation &location, QPictu } } +/** + @brief ElementPictureFactory::getReadablePictures + Same as getPictures(), for an element that mirrors or turns its symbol + on a folio (Element::symbolTextsTransform()). The drawing is the same; + only the texts differ: each one is drawn so that, once the element has + applied @p texts_transform, its box lands where the element puts it but + its letters read as they do in the symbol itself. + @param location + @param texts_transform : the mirrors, then the turn, of the element + @param picture + @param low_picture +*/ +void ElementPictureFactory::getReadablePictures(const ElementsLocation &location, + const QTransform &texts_transform, + QPicture &picture, + QPicture &low_picture) +{ + if(!location.exist() || texts_transform.isIdentity()) { + return; + } + + const QPair key(cacheKey(location), readableKey(texts_transform)); + + if(!m_readable_pictures_H.contains(key) + && !build(location, nullptr, nullptr, texts_transform)) { + return; + } + picture = m_readable_pictures_H.value(key); + low_picture = m_readable_low_pictures_H.value(key); +} + +/** + @brief ElementPictureFactory::readableKey + @param texts_transform : mirrors and quarter turns only + @return a number for @p texts_transform, the same for the same one +*/ +int ElementPictureFactory::readableKey(const QTransform &texts_transform) +{ + auto digit = [](qreal value) {return qRound(value) + 1;}; // -1, 0 or 1 + return ((digit(texts_transform.m11()) * 3 + digit(texts_transform.m12())) * 3 + + digit(texts_transform.m21())) * 3 + digit(texts_transform.m22()); +} + /** @brief ElementPictureFactory::dropCache Forget the cached drawing of the element at @p location, so the next @@ -113,8 +156,16 @@ void ElementPictureFactory::dropCache(const ElementsLocation &location) const QUuid uuid = cacheKey(location); m_pictures_H.remove(uuid); m_low_pictures_H.remove(uuid); + const auto keys = m_readable_pictures_H.keys(); + for (const auto &key : keys) { + if (key.first == uuid) { + m_readable_pictures_H.remove(key); + m_readable_low_pictures_H.remove(key); + } + } m_pixmap_H.remove(uuid); - m_primitives_H.remove(uuid); + //The text items belong to the cache; nothing else holds them. + qDeleteAll(m_primitives_H.take(uuid).m_texts); } /** @@ -135,14 +186,29 @@ QPixmap ElementPictureFactory::pixmap(const ElementsLocation &location) { auto doc = location.pugiXml(); //size - int w = doc.document_element().attribute("width").as_int(); - int h = doc.document_element().attribute("height").as_int(); + //Bounded first, so the rounding below cannot overflow on a + //crafted file. + int w = qBound(0, doc.document_element().attribute("width").as_int(), 1000000); + int h = qBound(0, doc.document_element().attribute("height").as_int(), 1000000); while (w % 10) ++ w; while (h % 10) ++ h; //hotspot int hsx = qMin(doc.document_element().attribute("hotspot_x").as_int(), w); int hsy = qMin(doc.document_element().attribute("hotspot_y").as_int(), h); + //The size comes straight from the file. A symbol whose parts + //span hundreds of thousands of pixels would ask for a pixmap of + //hundreds of gigabytes; draw it scaled down to fit instead. The + //largest symbols in the shipped collection are about 3200 px, + //so this only changes files nobody would draw on purpose. + const int max_side = 4096; + qreal scale = 1.0; + if (w > max_side || h > max_side) { + scale = qreal(max_side) / qMax(w, h); + w = qMax(1, qRound(w * scale)); + h = qMax(1, qRound(h * scale)); + } + QPixmap pix(w, h); //Element definitions almost always draw with a hardcoded black //stroke color, on the assumption of the white diagram sheet they @@ -157,6 +223,7 @@ QPixmap ElementPictureFactory::pixmap(const ElementsLocation &location) QPainter painter(&pix); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::SmoothPixmapTransform, true); + painter.scale(scale, scale); painter.translate(hsx, hsy); painter.drawPicture(0, 0, m_pictures_H.value(uuid)); @@ -200,11 +267,16 @@ ElementPictureFactory::~ElementPictureFactory() this function draw on it and don't store it. if null, this function create a QPicture for normal and low zoom, draw on it and store it in m_pictures_H and m_low_pictures_H + (m_readable_pictures_H and m_readable_low_pictures_H if + @p texts_transform is not the identity) + @param texts_transform : what an element does to the texts of its + symbol, which the drawing undoes, see getReadablePictures() @return */ bool ElementPictureFactory::build(const ElementsLocation &location, QPicture *picture, - QPicture *low_picture) + QPicture *low_picture, + const QTransform &texts_transform) { QDomElement dom = location.xml(); @@ -233,6 +305,9 @@ bool ElementPictureFactory::build(const ElementsLocation &location, QPainter painter; QPicture pic; primitives primitives_; + //The low-zoom pass fills a second set of primitives that is only + //drawn, never kept: its text items are deleted at the end. + primitives low_primitives; if (picture) { painter.begin(picture); } @@ -261,6 +336,8 @@ bool ElementPictureFactory::build(const ElementsLocation &location, tmp.setCosmetic(true); low_painter.setPen(tmp); + m_build_texts_undo = texts_transform.inverted(); + //scroll of the Children of the Definition: Parts of the Drawing // Extract PLC master data for rendering plc_table parts QDomElement plc_master_data; @@ -304,8 +381,7 @@ bool ElementPictureFactory::build(const ElementsLocation &location, // complex font/text operations. } else { parseElement(qde, painter, primitives_); - primitives fake_prim; - parseElement(qde, low_painter, fake_prim); + parseElement(qde, low_painter, low_primitives); } } } @@ -314,8 +390,23 @@ bool ElementPictureFactory::build(const ElementsLocation &location, //End of the drawing painter.end(); low_painter.end(); + m_build_texts_undo = QTransform(); + qDeleteAll(low_primitives.m_texts); const auto uuid_ = cacheKey(location); + if (!texts_transform.isIdentity()) { + //The primitives are those of the plain drawing, already kept + //by the build of that one + qDeleteAll(primitives_.m_texts); + const QPair key(uuid_, readableKey(texts_transform)); + if (!picture) { + m_readable_pictures_H.insert(key, pic); + } + if (!low_picture) { + m_readable_low_pictures_H.insert(key, low_pic); + } + return true; + } if (!picture) { m_pictures_H.insert(uuid_, pic); m_primitives_H.insert(uuid_, primitives_); @@ -596,8 +687,6 @@ void ElementPictureFactory::parseText(const QDomElement &dom, QPainter &painter, text_document.setPlainText(dom.attribute("text")); painter.setTransform(QTransform(), false); - painter.translate(dom.attribute("x").toDouble(), dom.attribute("y").toDouble()); - painter.rotate(dom.attribute("rotation", "0").toDouble()); /* Moves the QPainter's coordinate system to render in the right place; @@ -631,7 +720,24 @@ void ElementPictureFactory::parseText(const QDomElement &dom, QPainter &painter, } } - painter.translate(qpainter_offset); + QTransform text_transform; + text_transform.translate(dom.attribute("x").toDouble(), dom.attribute("y").toDouble()); + text_transform.rotate(dom.attribute("rotation", "0").toDouble()); + text_transform.translate(qpainter_offset.x(), qpainter_offset.y()); + + if (!m_build_texts_undo.isIdentity()) + { + //The element mirrors or turns its symbol when it is drawn. + //Undo that on the text first, about the centre of its box: the + //letters read as in the symbol itself, and the box still ends + //up where the element puts it. + const QRectF box(QPointF(0, 0), text_document.size()); + const QPointF centre = text_transform.mapRect(box).center(); + painter.setTransform(QTransform::fromTranslate(-centre.x(), -centre.y()) + * m_build_texts_undo + * QTransform::fromTranslate(centre.x(), centre.y())); + } + painter.setTransform(text_transform, true); // force the palette used to render the QTextDocument QAbstractTextDocumentLayout::PaintContext ctx; diff --git a/sources/factory/elementpicturefactory.h b/sources/factory/elementpicturefactory.h index d1f2c307a..b2b16c26b 100644 --- a/sources/factory/elementpicturefactory.h +++ b/sources/factory/elementpicturefactory.h @@ -21,6 +21,8 @@ #include #include #include +#include +#include class ElementsLocation; class QPicture; @@ -83,6 +85,8 @@ class ElementPictureFactory } void getPictures(const ElementsLocation &location, QPicture &picture, QPicture &low_picture); + void getReadablePictures(const ElementsLocation &location, const QTransform &texts_transform, + QPicture &picture, QPicture &low_picture); QPixmap pixmap(const ElementsLocation &location); ElementPictureFactory::primitives getPrimitives(const ElementsLocation &location); void dropCache(const ElementsLocation &location); @@ -94,7 +98,9 @@ class ElementPictureFactory ~ElementPictureFactory(); static QUuid cacheKey(const ElementsLocation &location); - bool build(const ElementsLocation &location, QPicture *picture=nullptr, QPicture *low_picture=nullptr); + static int readableKey(const QTransform &texts_transform); + bool build(const ElementsLocation &location, QPicture *picture=nullptr, QPicture *low_picture=nullptr, + const QTransform &texts_transform=QTransform()); void parseElement(const QDomElement &dom, QPainter &painter, primitives &prim) const; void parseLine (const QDomElement &dom, QPainter &painter, primitives &prim) const; void parseRect (const QDomElement &dom, QPainter &painter, primitives &prim) const; @@ -108,6 +114,13 @@ class ElementPictureFactory QHash m_pictures_H; QHash m_low_pictures_H; + /// Drawings whose texts read normally once an element has + /// mirrored or turned them, by element and readableKey(), see + /// getReadablePictures() + QHash, QPicture> m_readable_pictures_H; + QHash, QPicture> m_readable_low_pictures_H; + /// What build() undoes on each text, read by parseText() + QTransform m_build_texts_undo; QHash m_pixmap_H; QHash m_primitives_H; static ElementPictureFactory* m_factory; diff --git a/sources/factory/propertieseditorfactory.cpp b/sources/factory/propertieseditorfactory.cpp index 2fc4176e7..cc7ae1dc9 100644 --- a/sources/factory/propertieseditorfactory.cpp +++ b/sources/factory/propertieseditorfactory.cpp @@ -42,6 +42,7 @@ #include "../ui/shapegraphicsitempropertieswidget.h" #include +#include #include /** @@ -97,22 +98,30 @@ PropertiesEditorWidget *PropertiesEditorFactory::propertiesEditor( PropertiesEditorWidget *editor, QWidget *parent) { + //Selecting a conductor's text label edits its parent conductor (#500), + //mirroring how double-clicking the label opens the conductor dialog. + //A rubber band over wires selects their labels too: each label + //counts as its conductor, once. + QList mapped; + QSet seen; + for (QGraphicsItem *qgi : std::as_const(items)) { + if (auto *cti = qgraphicsitem_cast(qgi)) { + if (Conductor *parent_cond = cti->parentConductor()) { + qgi = parent_cond; + } + } + if (!seen.contains(qgi)) { + seen.insert(qgi); + mapped << qgi; + } + } + items = mapped; + const int count_ = items.size(); if (count_ == 0) { return nullptr; } QGraphicsItem *item = items.first(); - - //Selecting a conductor's text label edits its parent conductor (#500), - //mirroring how double-clicking the label opens the conductor dialog. - if (count_ == 1) { - if (auto *cti = qgraphicsitem_cast(item)) { - if (Conductor *parent_cond = cti->parentConductor()) { - items = {parent_cond}; - item = parent_cond; - } - } - } const int type_ = item->type(); //The editor widget can only edit one item @@ -139,18 +148,17 @@ PropertiesEditorWidget *PropertiesEditorFactory::propertiesEditor( false).toBool()) { return nullptr; } - //Prototype (#500): single-conductor editing in the dock. - if (count_ > 1) { - return nullptr; + QList conductors; + for (QGraphicsItem *qgi : std::as_const(items)) { + conductors << static_cast(qgi); } - auto conductor = static_cast(item); if (class_name == ConductorPropertiesEditorWidget::staticMetaObject.className()) { - static_cast(editor)->setConductor(conductor); + static_cast(editor)->setConductors(conductors); return editor; } - return new ConductorPropertiesEditorWidget(conductor, parent); + return new ConductorPropertiesEditorWidget(conductors, parent); } case Element::Type: //1000 { diff --git a/sources/foliogrid.h b/sources/foliogrid.h new file mode 100644 index 000000000..9fb3fe772 --- /dev/null +++ b/sources/foliogrid.h @@ -0,0 +1,54 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef FOLIOGRID_H +#define FOLIOGRID_H + +#include +#include +#include + +/** + The folio grid: the step, in pixels, that symbols snap to. Both steps + are kept in the settings; the preferences page only offers 1 and up, + but a hand-edited or damaged settings file can hold 0, a negative + number or text, and the code that divides by the step or loops over it + must never see such a value. +*/ +namespace FolioGrid +{ + /// QSettings keys holding the two steps. + inline const QString x_key{QStringLiteral("diagrameditor/Xgrid")}; + inline const QString y_key{QStringLiteral("diagrameditor/Ygrid")}; + + /** + @return the step held in @p value, a settings entry; or @p fallback, + the built-in step, when the entry is missing, not a number, less + than 1, or more than an int holds (QVariant::toInt() wraps such a + number around instead of failing). + */ + inline int step(const QVariant &value, int fallback) + { + bool ok = false; + const qlonglong s = value.toLongLong(&ok); + if (!ok || s < 1 || s > std::numeric_limits::max()) + return fallback; + return int(s); + } +} + +#endif // FOLIOGRID_H diff --git a/sources/genericpanel.cpp b/sources/genericpanel.cpp index dd4874d49..c5261df90 100644 --- a/sources/genericpanel.cpp +++ b/sources/genericpanel.cpp @@ -696,7 +696,13 @@ QTreeWidgetItem *GenericPanel::updateItem(QTreeWidgetItem *qtwi, bool freshly_created) { Q_UNUSED(options); Q_UNUSED(freshly_created); - QApplication::processEvents(); + //No QApplication::processEvents() here. It dates from when this + //panel also listed the whole element collection, to keep the + //window alive while that reloaded; the collection has its own + //panel now. Running the event loop from inside the panel's own + //methods let a pending deleteLater() destroy the panel while + //addProject() was still using it: closing QElectroTech without + //saving an edited project read freed memory. return(qtwi); } diff --git a/sources/gesturesettings.cpp b/sources/gesturesettings.cpp new file mode 100644 index 000000000..298c4a3c5 --- /dev/null +++ b/sources/gesturesettings.cpp @@ -0,0 +1,125 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "gesturesettings.h" + +#include + +namespace { +const QString directions_key = QStringLiteral("diagrameditor/gestures/directions"); + +QString settingsKey(ShortcutBarSettings::Context context) +{ + switch (context) + { + case ShortcutBarSettings::Canvas: + return QStringLiteral("diagrameditor/gestures/canvas"); + case ShortcutBarSettings::Selection: + return QStringLiteral("diagrameditor/gestures/selection"); + case ShortcutBarSettings::Conductor: + return QStringLiteral("diagrameditor/gestures/conductor"); + } + return QString(); +} +} + +/** + @return how many directions the ring has: 8 (the default) or 4 +*/ +int GestureSettings::directions() +{ + return QSettings().value(directions_key, 8).toInt() == 4 ? 4 : 8; +} + +/** + @brief GestureSettings::setDirections + Save 4 or 8 directions. 8 is the default and removes the key. +*/ +void GestureSettings::setDirections(int directions) +{ + QSettings settings; + if (directions == 4) { + settings.setValue(directions_key, 4); + } else { + settings.remove(directions_key); + } +} + +/** + @return true if the user picked the commands for @a context, false + when the ring follows the shortcut bar +*/ +bool GestureSettings::isCustom(ShortcutBarSettings::Context context) +{ + return QSettings().contains(settingsKey(context)); +} + +/** + @return the ids on the ring for @a context: the user's list if they + picked one, the defaults otherwise +*/ +QStringList GestureSettings::ids(ShortcutBarSettings::Context context) +{ + QSettings settings; + const QString key = settingsKey(context); + if (!settings.contains(key)) { + return defaultIds(context); + } + return settings.value(key).toStringList(); +} + +/** + @return the shortcut bar's commands for @a context, without its pinned + elements: what the ring has shown since it was added +*/ +QStringList GestureSettings::defaultIds(ShortcutBarSettings::Context context) +{ + QStringList ids; + for (const QString &id : ShortcutBarSettings::ids(context)) { + if (!ShortcutBarSettings::isElement(id)) { + ids << id; + } + } + return ids; +} + +/** + @brief GestureSettings::setIds + Save @a ids for @a context; trailing empty directions are dropped. + Saving the defaults removes the key, so the ring follows the shortcut + bar again. +*/ +void GestureSettings::setIds(ShortcutBarSettings::Context context, QStringList ids) +{ + while (!ids.isEmpty() && ids.constLast().isEmpty()) { + ids.removeLast(); + } + if (ids == defaultIds(context)) { + reset(context); + } else { + QSettings().setValue(settingsKey(context), ids); + } +} + +/** + @brief GestureSettings::reset + Make the ring for @a context follow the shortcut bar again. +*/ +void GestureSettings::reset(ShortcutBarSettings::Context context) +{ + QSettings().remove(settingsKey(context)); +} diff --git a/sources/gesturesettings.h b/sources/gesturesettings.h new file mode 100644 index 000000000..2089e877f --- /dev/null +++ b/sources/gesturesettings.h @@ -0,0 +1,47 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef GESTURESETTINGS_H +#define GESTURESETTINGS_H + +#include "shortcutbarsettings.h" + +#include + +/** + @brief The commands on the mouse gesture ring (right-drag on a folio). + + Until the user picks them, the ring shows the shortcut bar's commands + for the selection, as it always has. A picked list is stored in + QSettings, one key per context, and is positional: entry i is the + command in direction i, clockwise from the top, and an empty entry is + an empty direction. Pinned elements are never on the ring. +*/ +class GestureSettings +{ + public: + static int directions(); + static void setDirections(int directions); + + static bool isCustom(ShortcutBarSettings::Context context); + static QStringList ids(ShortcutBarSettings::Context context); + static QStringList defaultIds(ShortcutBarSettings::Context context); + static void setIds(ShortcutBarSettings::Context context, QStringList ids); + static void reset(ShortcutBarSettings::Context context); +}; + +#endif // GESTURESETTINGS_H diff --git a/sources/main.cpp b/sources/main.cpp index 5c8f78ab8..09aab1f21 100644 --- a/sources/main.cpp +++ b/sources/main.cpp @@ -34,11 +34,21 @@ #include #include #include +#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) +#include +#endif #include #include #include +#include +#include +#ifdef Q_OS_WIN +#include +#include +#endif + #ifdef Q_OS_MACOS #include @@ -93,11 +103,80 @@ void qetLogMessageHandler(QtMsgType type, \~French paramètres \~ @return exit code */ +/** + @brief headlessArguments + For the headless export and --run, which return before QETApp parses + the command line: apply the folder options (--common-elements-dir= and + the others QETArguments knows) and return the arguments without them, + so they are not read as the project or output path (issue #1178). +*/ +static QStringList headlessArguments(const QStringList &args) +{ + QETApp::applyDirectoryArguments(QETArguments(args.mid(1))); + static const QStringList folder_options { + QStringLiteral("--common-elements-dir="), QStringLiteral("--common-tbt-dir="), + QStringLiteral("--config-dir="), QStringLiteral("--data-dir="), + QStringLiteral("--lang-dir=")}; + QStringList kept; + for (const QString &arg : args) { + bool folder = false; + for (const QString &option : folder_options) + folder = folder || arg.startsWith(option); + if (!folder) kept << arg; + } + return kept; +} + +/** + The headless runs below (the exports, --info, --resave and --run) return + before the log-file handler is installed further down, so they keep + Qt's default handler. On Linux and macOS that one writes to stderr. On + Windows it writes to the debugger when the program has no console, and + a GUI program started by another program never has one: what the run + reports -- a wire that could not be reconnected, which way the project + database was filled -- never reached the caller. Write it to stderr + ourselves, in the form the default handler uses on the other systems, + so a caller reads the same lines on every system. +*/ +static void headlessMessageHandler(QtMsgType type, + const QMessageLogContext &context, + const QString &msg) +{ + const QByteArray line = qFormatLogMessage(type, context, msg).toUtf8(); + fprintf(stderr, "%s\n", line.constData()); + fflush(stderr); + if (type == QtFatalMsg) { + abort(); + } +} + +static void installHeadlessMessageHandler() +{ +#ifdef Q_OS_WIN + // stdout and stderr are in text mode on Windows and turn "\n" into + // "\r\n": a caller would read lines ending in '\r' where the other + // systems give none. Binary mode gives both streams the same line + // ending on every system, for the JSON of --info, the messages of the + // exports and what a script logs. + _setmode(_fileno(stdout), _O_BINARY); + _setmode(_fileno(stderr), _O_BINARY); +#endif + qInstallMessageHandler(headlessMessageHandler); +} + int main(int argc, char **argv) { // before creating Application: - // export environment-variable "QT_HASH_SEED" with value "0" to - // disable radomisation for hashes in order to obtain "clean" XML-diffs: + // disable randomisation for hashes in order to obtain "clean" XML-diffs, + // and the same PDF for the same project (the PDF engine writes its fonts + // in QHash order). Setting QT_HASH_SEED alone came too late: Qt reads it + // once, when the first hash is made, and that happens before main(). + // The variable is still set for the processes QElectroTech starts. +#if QT_VERSION >= QT_VERSION_CHECK(6, 2, 0) + QHashSeed::setDeterministicGlobalSeed(); +#else + qSetGlobalQHashSeed(0); +#endif qputenv("QT_HASH_SEED", "0"); //Some setup, notably to use with QSetting. QCoreApplication::setOrganizationName("QElectroTech"); @@ -112,6 +191,12 @@ int main(int argc, char **argv) // system (issue #1178). Set before anything reads a setting. const QString settings_dir = qEnvironmentVariable("QET_SETTINGS_DIR"); if (!settings_dir.isEmpty()) { +#ifdef Q_OS_DARWIN + // On macOS, Qt names that subfolder after the organization domain + // when there is one (/qelectrotech.org/) (issue #1246). + // Nothing in QElectroTech reads the domain. + QCoreApplication::setOrganizationDomain(QString()); +#endif QSettings::setDefaultFormat(QSettings::IniFormat); QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, settings_dir); QSettings::setPath(QSettings::IniFormat, QSettings::SystemScope, settings_dir); @@ -149,6 +234,7 @@ int main(int argc, char **argv) for (int i = 0; i < argc; ++i) raw_args << QString::fromLocal8Bit(argv[i]); if (CLIExport::isExportRequest(raw_args)) { + installHeadlessMessageHandler(); QApplication export_app(argc, argv); // No crash-recovery backups in one-shot CLI mode: the backup write // runs on a background thread referencing the project and races the @@ -159,17 +245,18 @@ int main(int argc, char **argv) // QETProject::readProjectXml(), and with nobody able to dismiss it // QDialog::exec() would spin its event loop forever. QET::QetMessageBox::setNonInteractive(true); - return CLIExport::run(export_app.arguments()); + return CLIExport::run(headlessArguments(export_app.arguments())); } #ifdef QET_HAS_SCRIPTING // Headless scripting: --run (bugtracker // #162). Same reasoning as the export branch above for running // before SingleApplication and answering message boxes headlessly. if (QetScripting::isRunRequest(raw_args)) { + installHeadlessMessageHandler(); QApplication script_app(argc, argv); QETProject::setBackupEnabled(false); QET::QetMessageBox::setNonInteractive(true); - return QetScripting::run(script_app.arguments()); + return QetScripting::run(headlessArguments(script_app.arguments())); } #endif } diff --git a/sources/newelementwizard.cpp b/sources/newelementwizard.cpp index 3cd3870e8..017f91a22 100644 --- a/sources/newelementwizard.cpp +++ b/sources/newelementwizard.cpp @@ -25,6 +25,7 @@ #include "qetmessagebox.h" #include "qfilenameedit.h" +#include #include #include #include @@ -45,7 +46,7 @@ NewElementWizard::NewElementWizard(QWidget *parent, Qt::WindowFlags f) : setWizardStyle(QWizard::MacStyle); #endif - setPixmap(LogoPixmap, QPixmap(":/ico/256x256/qelectrotech.png").scaled(64, 64, Qt::KeepAspectRatio, Qt::SmoothTransformation)); + setPixmap(LogoPixmap, QIcon::fromTheme("qelectrotech").pixmap(64, 64)); setWindowTitle(tr("Créer un nouvel élément : Assistant", "window title")); setButtonText(QWizard::NextButton, tr("&Suivant >")); addPage(buildStep1()); diff --git a/sources/palettegraphicsview.cpp b/sources/palettegraphicsview.cpp index ab9b322db..77c7ddeda 100644 --- a/sources/palettegraphicsview.cpp +++ b/sources/palettegraphicsview.cpp @@ -18,6 +18,7 @@ #include "palettegraphicsview.h" #include "qetpalette.h" +#include "darkimagerendering.h" #include #include @@ -99,12 +100,13 @@ bool PaletteGraphicsView::eventFilter(QObject *watched, QEvent *event) */ void PaletteGraphicsView::paintEvent(QPaintEvent *event) { - if (invertsLightness() && !customBackgroundColor()) + if (invertsLightness()) { paintInverted(event); return; } m_buffer = QImage(); + m_composite = QImage(); QGraphicsView::paintEvent(event); } @@ -130,7 +132,7 @@ void PaletteGraphicsView::paintInverted(QPaintEvent *event) const QSize size(qCeil(viewport()->width() * ratio), qCeil(viewport()->height() * ratio)); if (m_buffer.size() != size || m_buffer.devicePixelRatio() != ratio) { - m_buffer = QImage(size, QImage::Format_RGB32); + m_buffer = QImage(size, QImage::Format_ARGB32_Premultiplied); m_buffer.setDevicePixelRatio(ratio); } @@ -141,9 +143,13 @@ void PaletteGraphicsView::paintInverted(QPaintEvent *event) m_buffer_painter.setClipRect(exposed); m_buffer_painter.setRenderHints(renderHints()); m_buffer_painter.setWorldTransform(viewportTransform()); + m_exposed = exposed; + m_layered = false; + DarkImageRendering::Context context{&m_buffer_painter, !customBackgroundColor(), [this](bool invert, const QRect &bounds) { flushLayer(invert, bounds); }}; + DarkImageRendering::Scope rasterScope(&context); m_inverting = true; - paintingInverted(true); + paintingInverted(!customBackgroundColor()); const OptimizationFlags flags = optimizationFlags(); setOptimizationFlag(QGraphicsView::IndirectPainting, true); QGraphicsView::paintEvent(event); @@ -151,10 +157,44 @@ void PaletteGraphicsView::paintInverted(QPaintEvent *event) paintingInverted(false); m_inverting = false; + if (m_layered) flushLayer(!customBackgroundColor()); m_buffer_painter.end(); blitInverted(exposed); } +void PaletteGraphicsView::flushLayer(bool invert, const QRect &bounds) +{ + const QRect area = bounds.isNull() ? m_exposed : bounds.intersected(m_exposed); + if (area.isEmpty()) return; + const qreal ratio = m_buffer.devicePixelRatio(); + const QRect pixels = QRectF(area.topLeft() * ratio, area.size() * ratio).toAlignedRect(); + QImage layer = m_buffer.copy(pixels); + layer.setDevicePixelRatio(ratio); + if (invert) { + const QPalette palette = QApplication::palette(); + QET::Palette::invertLightnessLayer(layer, palette.color(QPalette::Base), palette.color(QPalette::Text)); + } + if (!m_layered) { + if (m_composite.size() != m_buffer.size() || m_composite.devicePixelRatio() != ratio) { + m_composite = QImage(m_buffer.size(), QImage::Format_ARGB32_Premultiplied); + m_composite.setDevicePixelRatio(ratio); + } + m_composite.fill(Qt::transparent); + m_layered = true; + } + QPainter composite(&m_composite); + composite.drawImage(QPointF(pixels.topLeft()) / ratio, layer); + // Keep Qt's active painter and its saved state stack intact. Replacing + // or restarting it here would lose ancestor clipping and opacity. + m_buffer_painter.save(); + m_buffer_painter.resetTransform(); + m_buffer_painter.setClipping(false); + m_buffer_painter.setOpacity(1.0); + m_buffer_painter.setCompositionMode(QPainter::CompositionMode_Source); + m_buffer_painter.fillRect(QRectF(QPointF(pixels.topLeft()) / ratio, QSizeF(pixels.size()) / ratio), Qt::transparent); + m_buffer_painter.restore(); +} + /** @brief PaletteGraphicsView::drawBackground Into the off-screen image while painting inverted, else as @@ -199,15 +239,16 @@ void PaletteGraphicsView::drawForeground(QPainter *painter, const QRectF &rect) void PaletteGraphicsView::blitInverted(const QRect &area) { const qreal ratio = m_buffer.devicePixelRatio(); - QImage part = m_buffer.copy(QRectF(area.topLeft() * ratio, area.size() * ratio).toAlignedRect()); + const QRect pixels = QRectF(area.topLeft() * ratio, area.size() * ratio).toAlignedRect(); + QImage part = (m_layered ? m_composite : m_buffer).copy(pixels); part.setDevicePixelRatio(ratio); // The application palette, for the reason given in invertsLightness(). const QPalette application_palette = QApplication::palette(); - QET::Palette::invertLightness(part, application_palette.color(QPalette::Base), + if (!m_layered && !customBackgroundColor()) QET::Palette::invertLightness(part, application_palette.color(QPalette::Base), application_palette.color(QPalette::Text)); QPainter painter(viewport()); - painter.drawImage(area.topLeft(), part); + painter.drawImage(QPointF(pixels.topLeft()) / ratio, part); drawRubberBand(painter); } diff --git a/sources/palettegraphicsview.h b/sources/palettegraphicsview.h index 96d2ace36..36818e51b 100644 --- a/sources/palettegraphicsview.h +++ b/sources/palettegraphicsview.h @@ -90,11 +90,15 @@ class PaletteGraphicsView : public QGraphicsView void paintInverted(QPaintEvent *event); void blitInverted(const QRect &area); void drawRubberBand(QPainter &painter); + void flushLayer(bool invert, const QRect &bounds = QRect()); /// The off-screen image the hooks paint into while m_inverting: /// the viewport's size, in its coordinates. Kept between paints, /// dropped when the view paints on a light palette again. QImage m_buffer; + QImage m_composite; + QRect m_exposed; + bool m_layered = false; QPainter m_buffer_painter; /// True while paintEvent() paints for an inverted display. bool m_inverting = false; diff --git a/sources/pdf_links.cpp b/sources/pdf_links.cpp index 96664f87f..4fc9fc357 100644 --- a/sources/pdf_links.cpp +++ b/sources/pdf_links.cpp @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -36,6 +37,8 @@ #include #include +#include + namespace PdfLinks { void injectCrossRefLinks(QPdfEngine *engine, Diagram *diagram, @@ -87,6 +90,14 @@ void injectCrossRefLinks(QPdfEngine *engine, Diagram *diagram, QPointF(qMax(a.x(), b.x()), qMax(a.y(), b.y()))); }; + // The links are collected first and drawn sorted, not in the order the + // loop below finds them: a cross-reference's contacts are keyed by + // Element pointer and the scene's items come in stacking order, so that + // order changes from run to run and the same project gave a different + // PDF each time it was exported. + struct Link { QRectF rect; QUrl url; }; + QList links; + // One clickable link: @p sceneRect on THIS folio leads to // @p targetDiagram, framed around @p targetScene over there. auto injectLinkTo = [&](const QRectF &sceneRect, Diagram *targetDiagram, @@ -106,7 +117,7 @@ void injectCrossRefLinks(QPdfEngine *engine, Diagram *diagram, QUrl url = QUrl::fromLocalFile(outputFileName); url.setFragment(frag); - engine->drawHyperlink(devRect, url); + links.append({devRect, url}); }; auto injectLink = [&](const QRectF &sceneRect, Element *targetElmt) { @@ -187,6 +198,38 @@ void injectCrossRefLinks(QPdfEngine *engine, Diagram *diagram, continue; } } + + // Top to bottom, then left to right; the target breaks a tie between + // two links on the same spot. + std::sort(links.begin(), links.end(), [](const Link &a, const Link &b) { + if (a.rect.top() != b.rect.top()) + return a.rect.top() < b.rect.top(); + if (a.rect.left() != b.rect.left()) + return a.rect.left() < b.rect.left(); + if (a.rect.bottom() != b.rect.bottom()) + return a.rect.bottom() < b.rect.bottom(); + if (a.rect.right() != b.rect.right()) + return a.rect.right() < b.rect.right(); + return a.url.fragment() < b.url.fragment(); + }); + for (const Link &link : std::as_const(links)) + engine->drawHyperlink(link.rect, link.url); +} + +/// The trailer dictionary of the xref table at \a xrefStart, from +/// "trailer" up to its startxref, which the caller writes again with the +/// new offset. Copying the old startxref too left a second one in the +/// file, with the size the file had before its links were rewritten, so +/// the bytes depended on the output path the links carry (#1178). +static QByteArray trailerDictionary(const QByteArray &data, int xrefStart) +{ + const int start = data.indexOf("trailer", xrefStart); + if (start == -1) + return "trailer\n<<>>"; + const int end = data.indexOf("startxref", start); + if (end == -1) + return "trailer\n<<>>"; + return data.mid(start, end - start).trimmed(); } void convertUriToGoTo(const QString &pdfPath) @@ -378,19 +421,7 @@ void convertUriToGoTo(const QString &pdfPath) } } - // Find trailer dict from the original xref section - int trailerPos = data.indexOf("trailer", xrefStart); - int trailerEnd = -1; - if (trailerPos != -1) { - trailerEnd = data.indexOf("%%EOF", trailerPos); - if (trailerEnd != -1) trailerEnd += 5; - } - - QByteArray trailer; - if (trailerPos != -1 && trailerEnd != -1) - trailer = data.mid(trailerPos, trailerEnd - trailerPos); - else - trailer = "trailer\n<<>>\n%%EOF"; + const QByteArray trailer = trailerDictionary(data, xrefStart); int newXrefOffset = body.size(); @@ -433,6 +464,171 @@ void removeUnusedPdfxNamespace(const QString &pdfPath) f.close(); } +QUuid placeholderDocumentId() +{ + // Any fixed uuid: it is also the namespace of the ids made from it. + return QUuid(QStringLiteral("{6f1c2d4e-9a3b-4c5d-8e7f-0a1b2c3d4e5f}")); +} + +void setDocumentIdFromContent(const QString &pdfPath) +{ + QFile f(pdfPath); + if (!f.open(QIODevice::ReadOnly)) return; + QByteArray data = f.readAll(); + f.close(); + + // Qt writes the id as text in the XMP ("uuid:6f1c...") and as the hex + // of that same text in the trailer ("/ID [ <3666...> <3666...> ]"). + const QUuid placeholder = placeholderDocumentId(); + const QByteArray text = placeholder.toByteArray(QUuid::WithoutBraces); + if (!data.contains(text) && !data.contains(text.toHex())) return; + + const QUuid id = QUuid::createUuidV5( + placeholder, QCryptographicHash::hash(data, QCryptographicHash::Sha256)); + const QByteArray idText = id.toByteArray(QUuid::WithoutBraces); + data.replace(text, idText); + data.replace(text.toHex(), idText.toHex()); + + if (!f.open(QIODevice::WriteOnly | QIODevice::Truncate)) return; + f.write(data); +} + +void setDocumentDate(const QString &pdfPath, const QDateTime &when) +{ + QFile f(pdfPath); + if (!f.open(QIODevice::ReadOnly)) return; + const QByteArray data = f.readAll(); + f.close(); + + const QDateTime utc = when.toUTC(); + const QByteArray pdfDate = + "(D:" + utc.toString(QStringLiteral("yyyyMMddHHmmss")).toLatin1() + "Z)"; + const QByteArray xmpDate = + utc.toString(QStringLiteral("yyyy-MM-ddTHH:mm:ss")).toLatin1() + "Z"; + + // Each edit replaces [start, end) of the original file. + struct Edit { int start; int end; QByteArray text; }; + QList edits; + + // The document information: "/CreationDate (D:...)" and, from Qt 6.8, + // "/ModDate (D:...)". Its other strings are UTF-16, so they cannot hold + // these keys. + for (const QByteArray &key : {QByteArray("/CreationDate "), QByteArray("/ModDate ")}) { + const int k = data.indexOf(key); + if (k == -1) { + if (key.startsWith("/ModDate")) continue; + return; + } + const int start = k + key.size(); + const int end = data.indexOf(')', start); + if (end == -1 || data.at(start) != '(') return; + edits.append({start, end + 1, pdfDate}); + } + + // The XMP metadata stream, which Qt writes uncompressed from Qt 6.8 + // (before, only for PDF/A): its three dates, and its /Length, which + // changes with them. + const QByteArray metadata("/Type /Metadata /Subtype /XML"); + const int m = data.indexOf(metadata); + if (m != -1) { + const QByteArray lengthKey("/Length "); + const int l = data.indexOf(lengthKey, m); + const int streamStart = data.indexOf("stream\n", m); + if (l == -1 || streamStart == -1 || l > streamStart) return; + const int lengthStart = l + lengthKey.size(); + int lengthEnd = lengthStart; + while (lengthEnd < data.size() && QChar(data.at(lengthEnd)).isDigit()) + ++lengthEnd; + const int streamEnd = data.indexOf("endstream", streamStart); + if (lengthEnd == lengthStart || streamEnd == -1) return; + + // The last of each in the stream: the title and author come before + // the dates, and are text a project could fill with anything. + int xmpDelta = 0; + QList xmpEdits; + for (const QByteArray &attr : {QByteArray("xmp:CreateDate=\""), + QByteArray("xmp:ModifyDate=\""), + QByteArray("xmp:MetadataDate=\"")}) { + const int a = data.lastIndexOf(attr, streamEnd); + if (a < streamStart) return; + const int start = a + attr.size(); + const int end = data.indexOf('"', start); + if (end == -1 || end > streamEnd) return; + xmpEdits.append({start, end, xmpDate}); + xmpDelta += xmpDate.size() - (end - start); + } + const int length = data.mid(lengthStart, lengthEnd - lengthStart).toInt(); + edits.append({lengthStart, lengthEnd, QByteArray::number(length + xmpDelta)}); + edits.append(xmpEdits); + } + + std::sort(edits.begin(), edits.end(), + [](const Edit &a, const Edit &b) { return a.start < b.start; }); + + // Where an offset in the original file is in the new one. + auto moved = [&edits](int offset) { + int shift = 0; + for (const Edit &e : std::as_const(edits)) + if (e.end <= offset) + shift += e.text.size() - (e.end - e.start); + return offset + shift; + }; + + // The xref table the last startxref points at, which is the one a + // reader uses. + const int sx = data.lastIndexOf("startxref"); + if (sx == -1) return; + int numStart = sx + 9; + while (numStart < data.size() && QChar(data.at(numStart)).isSpace()) + ++numStart; + int numEnd = numStart; + while (numEnd < data.size() && QChar(data.at(numEnd)).isDigit()) + ++numEnd; + const int xref = data.mid(numStart, numEnd - numStart).toInt(); + if (numEnd == numStart || !data.mid(xref).startsWith("xref")) return; + for (const Edit &e : std::as_const(edits)) + if (e.end > xref) return; // every edit is in the objects before it + + QByteArray out; + out.reserve(data.size() + 64); + int pos = 0; + for (const Edit &e : std::as_const(edits)) { + if (e.start < pos) return; // overlapping: not a file Qt wrote + out += data.mid(pos, e.start - pos); + out += e.text; + pos = e.end; + } + + // The xref entries: "0000012345 00000 n \n", 20 bytes each, after the + // "xref" line and one "first count" line. + int line = data.indexOf('\n', xref) + 1; + line = data.indexOf('\n', line) + 1; + if (line <= 0) return; + out += data.mid(pos, line - pos); + pos = line; + static const QRegularExpression entry(QStringLiteral(R"(^(\d{10}) (\d{5}) ([nf])\s*$)")); + while (pos + 18 <= data.size()) { + const QByteArray row = data.mid(pos, 20); + const auto match = entry.match(QString::fromLatin1(row)); + if (!match.hasMatch()) break; + if (match.captured(3) == QLatin1String("n")) { + const int offset = match.captured(1).toInt(); + out += QByteArray::number(moved(offset)).rightJustified(10, '0'); + out += row.mid(10); + } else { + out += row; + } + pos += 20; + } + out += data.mid(pos, numStart - pos); + out += QByteArray::number(moved(xref)); + out += data.mid(numEnd); + + if (!f.open(QIODevice::WriteOnly | QIODevice::Truncate)) return; + f.write(out); + f.close(); +} + void convertComponentInfoAnnotations(const QString &pdfPath, const QList &annotations) { @@ -644,18 +840,7 @@ void convertComponentInfoAnnotations(const QString &pdfPath, } // Copy trailer and bump /Size to account for the new XObject - QByteArray trailer; - { - int tPos = data.indexOf("trailer", xrefStart); - if (tPos != -1) { - int tEnd = data.indexOf("%%EOF", tPos); - if (tEnd != -1) tEnd += 5; - if (tEnd != -1) - trailer = data.mid(tPos, tEnd - tPos); - } - } - if (trailer.isEmpty()) - trailer = "trailer\n<<>>\n%%EOF"; + QByteArray trailer = trailerDictionary(data, xrefStart); // Bump /Size: original was maxObjNum+1, now it's emptyXObjNum+1 { @@ -672,16 +857,6 @@ void convertComponentInfoAnnotations(const QString &pdfPath, } } - // Remove duplicate startxref if present in copied trailer - { - int stPos = trailer.indexOf("\nstartxref\n"); - if (stPos != -1) - trailer = trailer.left(stPos); - // Ensure trailer ends with %%EOF - if (!trailer.endsWith("%%EOF\n")) - trailer += "\n%%EOF\n"; - } - QByteArray result; result.reserve(out.size() + xref.size() + trailer.size() + 64); result += out; diff --git a/sources/pdf_links.h b/sources/pdf_links.h index 325367c53..2cc07af6d 100644 --- a/sources/pdf_links.h +++ b/sources/pdf_links.h @@ -18,11 +18,13 @@ #ifndef PDF_LINKS_H #define PDF_LINKS_H +#include #include #include #include #include #include +#include #include class QPdfEngine; @@ -83,6 +85,29 @@ namespace PdfLinks { */ void removeUnusedPdfxNamespace(const QString &pdfPath); + /** + Post-process a Qt-generated PDF file: replace the creation and + modification dates Qt wrote (the time of the export, in local time) + with @p when, in UTC, in the document information and the XMP + metadata, and shift the xref table to match. Used for a repeatable + export (SOURCE_DATE_EPOCH). Leaves the file alone if it is not laid + out as Qt writes it. + */ + void setDocumentDate(const QString &pdfPath, const QDateTime &when); + + /// The document id to give QPdfWriter before a repeatable export, for + /// setDocumentIdFromContent() to find and replace afterwards. + QUuid placeholderDocumentId(); + + /** + Post-process a PDF written with placeholderDocumentId(): replace that + id, in the XMP metadata and in the trailer's /ID, with one derived + from the bytes of the file. The same pages give the same id, however + the project was made. Same length, so no offset changes. No-op when + the placeholder is absent. + */ + void setDocumentIdFromContent(const QString &pdfPath); + struct ComponentInfo { QString contents; }; diff --git a/sources/positionorder.h b/sources/positionorder.h new file mode 100644 index 000000000..4d895f419 --- /dev/null +++ b/sources/positionorder.h @@ -0,0 +1,69 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef POSITIONORDER_H +#define POSITIONORDER_H + +#include +#include + +/** + The order of items by their position on a folio, for std::sort: left to + right then top to bottom, or top to bottom then left to right. Each + function is a strict weak ordering, which std::sort requires: two items + at the same position come out in either order, but never "both before + each other", and the order is transitive. A comparison with "<=", or + with a tolerance ("within 1 px counts as aligned"), is neither, and + std::sort may then read past the range or assert. +*/ +namespace PositionOrder +{ + /// a before b when a is left of b, or level with it and above it. + inline bool xThenY(const QPointF &a, const QPointF &b) + { + if (a.x() != b.x()) return a.x() < b.x(); + return a.y() < b.y(); + } + + /// a before b when a is above b, or level with it and left of it. + inline bool yThenX(const QPointF &a, const QPointF &b) + { + if (a.y() != b.y()) return a.y() < b.y(); + return a.x() < b.x(); + } + + /// The position rounded to whole pixels, so that items placed a + /// fraction of a pixel apart count as aligned. + inline QPointF rounded(const QPointF &p) + { + return QPointF(qRound(p.x()), qRound(p.y())); + } + + /// xThenY() on the positions rounded to whole pixels. + inline bool roundedXThenY(const QPointF &a, const QPointF &b) + { + return xThenY(rounded(a), rounded(b)); + } + + /// yThenX() on the positions rounded to whole pixels. + inline bool roundedYThenX(const QPointF &a, const QPointF &b) + { + return yThenX(rounded(a), rounded(b)); + } +} + +#endif // POSITIONORDER_H diff --git a/sources/print/projectprintwindow.cpp b/sources/print/projectprintwindow.cpp index 3204a8527..2bd922c1c 100644 --- a/sources/print/projectprintwindow.cpp +++ b/sources/print/projectprintwindow.cpp @@ -427,7 +427,7 @@ void ProjectPrintWindow::printDiagram(Diagram *diagram, bool fit_page, QPainter lines << QETInformation::translatedInfoKey(key) + ": " + info.value(key).toString(); } for (const QString &key : info.keys()) { - if (key == "formula") continue; + if (key == "formula" || key == QETInformation::ELMT_FORMULA_ID) continue; QString translated = QETInformation::translatedInfoKey(key); if (lines.contains(translated + ": " + info.value(key).toString())) continue; if (info.value(key).toString().isEmpty()) continue; diff --git a/sources/print/projectprintwindow.ui b/sources/print/projectprintwindow.ui index beae39275..70cbf2e59 100644 --- a/sources/print/projectprintwindow.ui +++ b/sources/print/projectprintwindow.ui @@ -134,8 +134,7 @@ - - :/ico/16x16/dialog-ok.png:/ico/16x16/dialog-ok.png + true @@ -305,8 +304,7 @@ - - :/ico/22x22/view_fit_width.png:/ico/22x22/view_fit_width.png + Ajuster la largeur @@ -314,8 +312,7 @@ - - :/ico/22x22/view-fit-window.png:/ico/22x22/view-fit-window.png + Ajuster la page @@ -323,8 +320,7 @@ - - :/ico/16x16/zoom-out.png:/ico/16x16/zoom-out.png + Zoom arrière @@ -332,8 +328,7 @@ - - :/ico/16x16/zoom-in.png:/ico/16x16/zoom-in.png + Zoom avant @@ -365,8 +360,7 @@ - - :/ico/16x16/arrow-left.png:/ico/16x16/arrow-left.png + Page précédente @@ -374,8 +368,7 @@ - - :/ico/16x16/arrow-right.png:/ico/16x16/arrow-right.png + Page suivante @@ -391,8 +384,7 @@ - - :/ico/22x22/single_page.png:/ico/22x22/single_page.png + Afficher une seule page @@ -400,8 +392,7 @@ - - :/ico/22x22/two_pages.png:/ico/22x22/two_pages.png + Afficher deux pages @@ -417,8 +408,7 @@ - - :/ico/48x48/document-print-frame.png:/ico/48x48/document-print-frame.png + mise en page diff --git a/sources/properties/xrefproperties.cpp b/sources/properties/xrefproperties.cpp index cc6ca5e93..9594084db 100644 --- a/sources/properties/xrefproperties.cpp +++ b/sources/properties/xrefproperties.cpp @@ -22,6 +22,36 @@ #include #include +namespace { +/** + @brief xrefPosFromKey + @param key : stored name of the position, e.g. "AlignBottom" + @return the position, or Qt::AlignBottom if key is empty or not one of + the positions the cross-reference settings offer. Older versions saved + an empty "xrefpos", which drew the cross-reference over the label. +*/ +Qt::AlignmentFlag xrefPosFromKey(const QString &key) +{ + bool ok = false; + const int value = QMetaEnum::fromType() + .keyToValue(key.toStdString().data(), &ok); + if (!ok) + return Qt::AlignBottom; + + switch (value) { + case Qt::AlignBottom: + case Qt::AlignTop: + case Qt::AlignLeft: + case Qt::AlignRight: + case Qt::AlignBaseline: + case Qt::AlignHCenter: + return Qt::AlignmentFlag(value); + default: + return Qt::AlignBottom; + } +} +} + /** @brief XRefProperties::XRefProperties Default Constructor @@ -31,6 +61,7 @@ XRefProperties::XRefProperties() m_show_power_ctc = true; m_show_terminal_name = true; m_show_all_configured_slaves = false; + m_stack_overlapping = true; m_display = Cross; m_snap_to = Bottom; m_prefix_keys << "power" << "delay" << "switch"; @@ -54,6 +85,7 @@ void XRefProperties::toSettings(QSettings &settings, settings.setValue(prefix % "showpowerctc", m_show_power_ctc); settings.setValue(prefix % "showterminalname", m_show_terminal_name); settings.setValue(prefix % "showallconfiguredslaves", m_show_all_configured_slaves); + settings.setValue(prefix % "stackoverlapping", m_stack_overlapping); QString display = m_display == Cross? "cross" : "contacts"; settings.setValue(prefix % "displayhas", display); QString snap = m_snap_to == Bottom? "bottom" : "label"; @@ -89,6 +121,7 @@ void XRefProperties::fromSettings(const QSettings &settings, m_show_power_ctc = settings.value(prefix % "showpowerctc", true).toBool(); m_show_terminal_name = settings.value(prefix % "showterminalname", true).toBool(); m_show_all_configured_slaves = settings.value(prefix % "showallconfiguredslaves", false).toBool(); + m_stack_overlapping = settings.value(prefix % "stackoverlapping", true).toBool(); QString display = settings.value(prefix % "displayhas", "cross").toString(); display == "cross"? m_display = Cross : m_display = Contacts; QString snap = settings.value(prefix % "snapto", "label").toString(); @@ -99,8 +132,7 @@ void XRefProperties::fromSettings(const QSettings &settings, m_slave_label = settings.value(prefix % "slave_label", "(%f-%l%c)").toString(); m_font = settings.value(prefix % "font").toString(); - QMetaEnum var = QMetaEnum::fromType(); - m_xref_pos = Qt::AlignmentFlag(var.keyToValue((settings.value(prefix % "xrefpos", "AlignBottom").toString()).toStdString().data())); + m_xref_pos = xrefPosFromKey(settings.value(prefix % "xrefpos").toString()); for (QString key : m_prefix_keys) { m_prefix.insert(key, settings.value(prefix + key % "prefix").toString()); @@ -122,6 +154,7 @@ QDomElement XRefProperties::toXml(QDomDocument &xml_document) const xml_element.setAttribute("showpowerctc", m_show_power_ctc? "true" : "false"); xml_element.setAttribute("showterminalname", m_show_terminal_name? "true" : "false"); xml_element.setAttribute("showallconfiguredslaves", m_show_all_configured_slaves? "true" : "false"); + xml_element.setAttribute("stackoverlapping", m_stack_overlapping? "true" : "false"); QString display = m_display == Cross? "cross" : "contacts"; xml_element.setAttribute("displayhas", display); QString snap = m_snap_to == Bottom? "bottom" : "label"; @@ -156,19 +189,13 @@ bool XRefProperties::fromXml(const QDomElement &xml_element) { m_show_power_ctc = xml_element.attribute("showpowerctc") == "true"; m_show_terminal_name = xml_element.attribute("showterminalname", "true") == "true"; m_show_all_configured_slaves = xml_element.attribute("showallconfiguredslaves", "false") == "true"; + m_stack_overlapping = xml_element.attribute("stackoverlapping", "true") == "true"; QString display = xml_element.attribute("displayhas", "cross"); display == "cross"? m_display = Cross : m_display = Contacts; QString snap = xml_element.attribute("snapto", "label"); snap == "bottom"? m_snap_to = Bottom : m_snap_to = Label; - QString xrefpos = xml_element.attribute("xrefpos","Left"); - - QMetaEnum var = QMetaEnum::fromType(); - - if(xml_element.hasAttribute("xrefpos")) - m_xref_pos = Qt::AlignmentFlag(var.keyToValue(xml_element.attribute("xrefpos").toStdString().data())); - else - m_xref_pos = Qt::AlignBottom; + m_xref_pos = xrefPosFromKey(xml_element.attribute("xrefpos")); m_offset = xml_element.attribute("offset", "0").toInt(); m_slave_offset = xml_element.attribute("slave_offset", "0").toInt(); @@ -220,6 +247,7 @@ bool XRefProperties::operator ==(const XRefProperties &xrp) const{ return (m_show_power_ctc == xrp.m_show_power_ctc && m_show_terminal_name == xrp.m_show_terminal_name && m_show_all_configured_slaves == xrp.m_show_all_configured_slaves + && m_stack_overlapping == xrp.m_stack_overlapping && m_display == xrp.m_display && m_snap_to == xrp.m_snap_to && m_prefix == xrp.m_prefix diff --git a/sources/properties/xrefproperties.h b/sources/properties/xrefproperties.h index 6fd0a97c9..50fa569f8 100644 --- a/sources/properties/xrefproperties.h +++ b/sources/properties/xrefproperties.h @@ -63,6 +63,9 @@ class XRefProperties : public PropertiesInterface void setShowAllConfiguredSlaves (const bool a) {m_show_all_configured_slaves = a;} bool showAllConfiguredSlaves () const {return m_show_all_configured_slaves;} + void setStackOverlapping (const bool a) {m_stack_overlapping = a;} + bool stackOverlapping () const {return m_stack_overlapping;} + void setDisplayHas (const DisplayHas dh) {m_display = dh;} DisplayHas displayHas () const {return m_display;} @@ -100,6 +103,7 @@ class XRefProperties : public PropertiesInterface bool m_show_power_ctc; bool m_show_terminal_name; bool m_show_all_configured_slaves; + bool m_stack_overlapping; DisplayHas m_display; SnapTo m_snap_to; Qt::AlignmentFlag m_xref_pos; diff --git a/sources/qetapp.cpp b/sources/qetapp.cpp index 62abbace0..955a453ae 100644 --- a/sources/qetapp.cpp +++ b/sources/qetapp.cpp @@ -41,7 +41,12 @@ #include "ui/aboutqetdialog.h" #include "ui/configpage/generalconfigurationpage.h" #include "ui/configpage/shortcutsconfigpage.h" +#include "ui/configpage/gesturesconfigpage.h" #include "ui/configpage/shortcutbarconfigpage.h" +#include "ui/configpage/toolbarsconfigpage.h" +#include "ui/configpage/toolbarcommandsconfigpage.h" +#include "ui/customizedialog.h" +#include #include "machine_info.h" #include "TerminalStrip/ui/terminalstripeditorwindow.h" #include "qetversion.h" @@ -658,6 +663,15 @@ QString QETApp::commonElementsDir() { m_common_element_dir_is_set = true; +#ifdef QET_ALLOW_OVERRIDE_CED_OPTION + //A folder given on the command line, for this run, comes + //before the one saved in the settings. + if (m_overrided_common_elements_dir != QString()) { + m_common_element_dir = m_overrided_common_elements_dir; + return(m_common_element_dir); + } +#endif + //Check if user define a custom path //for the common collection QSettings settings; @@ -674,12 +688,6 @@ QString QETApp::commonElementsDir() } } -#ifdef QET_ALLOW_OVERRIDE_CED_OPTION - if (m_overrided_common_elements_dir != QString()) { - m_common_element_dir = m_overrided_common_elements_dir; - return(m_common_element_dir); - } -#endif #ifndef QET_COMMON_COLLECTION_PATH /* in the absence of a compilation option, * we use the elements folder, located next to the executable binary @@ -2313,6 +2321,9 @@ void QETApp::configureQET() cd.addPage(new PrintConfigPage()); cd.addPage(new ShortcutsConfigPage()); cd.addPage(new ShortcutBarConfigPage()); + cd.addPage(new GesturesConfigPage()); + cd.addPage(new ToolbarsConfigPage()); + cd.addPage(new ToolbarCommandsConfigPage()); #ifdef QET_SPACEMOUSE_SUPPORT cd.addPage(new SpaceMouseConfigPage()); #endif @@ -2340,6 +2351,36 @@ void QETApp::configureQET() #endif } +/** + @brief QETApp::customizeQET + Open the Customise window: the toolbar, shortcut bar, keyboard and + gesture pages of the configuration dialog, as tabs of one window. + @param tab : the tab to show first +*/ +void QETApp::customizeQET(int tab) +{ + QWidget *parent_widget = qApp->activeWindow(); + + CustomizeDialog dialog; + //Same reason as the configuration dialog (#527) + dialog.setWindowModality(Qt::ApplicationModal); + dialog.addPage(new ToolbarsConfigPage()); + dialog.addPage(new ToolbarCommandsConfigPage()); + dialog.addPage(new ShortcutBarConfigPage()); + dialog.addPage(new ShortcutsConfigPage()); + dialog.addPage(new GesturesConfigPage()); + if (auto *tabs = dialog.findChild(QStringLiteral("customizeTabs"))) { + tabs->setCurrentIndex(tab); + } + QET::trackDialogGeometry(&dialog); + + if (parent_widget) { + dialog.setParent(parent_widget, dialog.windowFlags()); + } + dialog.exec(); + dialog.setParent(nullptr, dialog.windowFlags()); +} + /** @brief QETApp::exportConfiguration Save the settings of QElectroTech to a file the user chooses, to keep @@ -2480,6 +2521,42 @@ QList QETApp::floatingToolbarsAndDocksForMainWindow( } +/** + @brief QETApp::applyDirectoryArguments + Apply the folder options (--common-elements-dir=, --common-tbt-dir=, + --config-dir=, --data-dir=, --lang-dir=) of @p arguments. Static, so + the headless export and --run in main() can apply them too: they + return before a QETApp exists. +*/ +void QETApp::applyDirectoryArguments(const QETArguments &arguments) +{ +#ifdef QET_ALLOW_OVERRIDE_CED_OPTION + if (arguments.commonElementsDirSpecified()) { + overrideCommonElementsDir(arguments.commonElementsDir()); + } +#endif +#ifdef QET_ALLOW_OVERRIDE_CTBTD_OPTION + if (arguments.commonTitleBlockTemplatesDirSpecified()) { + overrideCommonTitleBlockTemplatesDir( + arguments.commonTitleBlockTemplatesDir()); + } +#endif +#ifdef QET_ALLOW_OVERRIDE_CD_OPTION + if (arguments.configDirSpecified()) { + overrideConfigDir(arguments.configDir()); + } +#endif +#ifdef QET_ALLOW_OVERRIDE_DD_OPTION + if (arguments.dataDirSpecified()) { + overrideDataDir(arguments.dataDir()); + } +#endif + + if (arguments.langDirSpecified()) { + overrideLangDir(arguments.langDir()); + } +} + /** @brief QETApp::parseArguments Parse the following arguments: @@ -2521,32 +2598,7 @@ void QETApp::parseArguments() // analyze the arguments // analyse les arguments qet_arguments_ = QETArguments(arguments_list); - -#ifdef QET_ALLOW_OVERRIDE_CED_OPTION - if (qet_arguments_.commonElementsDirSpecified()) { - overrideCommonElementsDir(qet_arguments_.commonElementsDir()); - } -#endif -#ifdef QET_ALLOW_OVERRIDE_CTBTD_OPTION - if (qet_arguments_.commonTitleBlockTemplatesDirSpecified()) { - overrideCommonTitleBlockTemplatesDir( - qet_arguments_.commonTitleBlockTemplatesDir()); - } -#endif -#ifdef QET_ALLOW_OVERRIDE_CD_OPTION - if (qet_arguments_.configDirSpecified()) { - overrideConfigDir(qet_arguments_.configDir()); - } -#endif -#ifdef QET_ALLOW_OVERRIDE_DD_OPTION - if (qet_arguments_.dataDirSpecified()) { - overrideDataDir(qet_arguments_.dataDir()); - } -#endif - - if (qet_arguments_.langDirSpecified()) { - overrideLangDir(qet_arguments_.langDir()); - } + applyDirectoryArguments(qet_arguments_); if (qet_arguments_.printLicenseRequested()) { printLicense(); diff --git a/sources/qetapp.h b/sources/qetapp.h index a029c8e66..7810547c8 100644 --- a/sources/qetapp.h +++ b/sources/qetapp.h @@ -115,6 +115,7 @@ class QETApp : public QObject static QStringList handledFiles(const QList &); static RecentFiles *projectsRecentFiles(); static RecentFiles *elementsRecentFiles(); + static void applyDirectoryArguments(const QETArguments &); #ifdef QET_ALLOW_OVERRIDE_CED_OPTION public: @@ -281,6 +282,8 @@ class QETApp : public QObject signals: /// The text grid setting changed, see TextGrid. void textGridChanged(); + /// A kind of item was shown or hidden, see ShownKinds. + void shownKindsChanged(); public slots: void systray(QSystemTrayIcon::ActivationReason); @@ -309,6 +312,7 @@ class QETApp : public QObject void openTitleBlockTemplate(const QString &); void openTitleBlockTemplateFiles(const QStringList &); void configureQET(); + void customizeQET(int tab = 0); /// Save the settings to a file (discussion #610) void exportConfiguration(); /// Replace the settings with a saved file, then close QElectroTech diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index 34ce1b81e..ef316fe88 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -16,14 +16,22 @@ along with QElectroTech. If not, see . */ #include "qetdiagrameditor.h" +#include "shownkinds.h" #ifdef QET_HAS_SCRIPTING #include "scripting/qetscripting.h" +#include "scripting/scriptlibrary.h" +#include "scripting/scriptmanagerdialog.h" +#include "scripting/liveserver.h" +#include "scripting/macrorecorder.h" +#include "scripting/assistantinfo.h" #endif #include #include +#include #include "ElementsCollection/elementscollectionwidget.h" #include "ElementsCollection/elementpickerpopup.h" #include "shortcutbarsettings.h" +#include "diagramtoolbarsettings.h" #include "qetgraphicsitem/conductor.h" #include "itemgroups.h" #include "commandsearchpopup.h" @@ -39,6 +47,7 @@ #include "diagramevent/diagrameventaddshape.h" #include "diagramevent/diagrameventaddpath.h" #include "diagramevent/diagrameventaddcable.h" +#include "diagramevent/diagrameventfillet.h" #include "diagramevent/diagrameventaddtext.h" #include "cable/cablepart.h" #include "cable/editcablecommand.h" @@ -70,10 +79,13 @@ #include "ui/backupdialog.h" #include "ui/dialogwaiting.h" #include "undocommand/addelementtextcommand.h" +#include "undocommand/changeelementinformationcommand.h" +#include "qetinformation.h" #include "utils/qetsettings.h" #include "utils/qetutils.h" #include "undocommand/groupitemscommand.h" #include "undocommand/alignselectioncommand.h" +#include "undocommand/mirrorselectioncommand.h" #include "undocommand/rotateselectioncommand.h" #include "undocommand/rotatetextscommand.h" #include "diagram.h" @@ -84,10 +96,28 @@ #include "ui/wiringlistdialog.h" #include "ui/terminalnumberingdialog.h" #include "ui/cablenumberingdialog.h" +#include "toolbarsettings.h" #include #include #include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #ifdef BUILD_WITHOUT_KF # include "ui/nokde/kautosavefile.h" @@ -168,6 +198,17 @@ QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) : readSettings(); // restoreGeometry before show() show(); readSettingsState(); // restoreState() must be called after show() in Qt6 + ToolbarSettings::applyTo(this); +#ifdef QET_HAS_SCRIPTING + setUpLiveIndicator(); + setUpMacroRecorder(); + //Live mode asks once per run, from the first window to open, and + //only once that window is on screen to anchor its warning. + QTimer::singleShot(0, this, [this]() { LiveServer::instance().askAndStart(this); }); + //A toolbar saved as shown while there were scripts stays out of + //the way while there are none. + if (m_script_actions.isEmpty()) m_scripts_tool_bar->hide(); +#endif //If valid file path is given as arguments uint opened_projects = 0; @@ -336,6 +377,7 @@ void QETDiagramEditor::setUpActions() //export to pdf m_export_to_pdf = new QAction(QET::Icons::PDF, tr("Exporter en pdf"), this); + ShortcutManager::instance().registerAction(m_export_to_pdf, "diagrameditor.export_to_pdf", tr("Éditeur de schémas"), QKeySequence()); m_export_to_pdf->setStatusTip(tr("Exporte un ou plusieurs folios du projet courant", "status bar tip")); connect(m_export_to_pdf, &QAction::triggered, [this] () { auto project = currentProject(); @@ -365,14 +407,22 @@ void QETDiagramEditor::setUpActions() m_cut = new QAction(QET::Icons::EditCut, tr("Co&uper"), this); m_copy = new QAction(QET::Icons::EditCopy, tr("Cop&ier"), this); m_paste = new QAction(QET::Icons::EditPaste, tr("C&oller"), this); + m_paste_origin = new QAction(QET::Icons::EditPaste, tr("Coller au point d'origine"), this); + m_paste_element_info = new QAction(QET::Icons::EditPaste, tr("Coller les informations de l'élément"), this); ShortcutManager::instance().registerAction(m_cut, "diagrameditor.cut", tr("Éditeur de schémas"), QKeySequence::Cut); ShortcutManager::instance().registerAction(m_copy, "diagrameditor.copy", tr("Éditeur de schémas"), QKeySequence::Copy); ShortcutManager::instance().registerAction(m_paste, "diagrameditor.paste", tr("Éditeur de schémas"), QKeySequence::Paste); + ShortcutManager::instance().registerAction(m_paste_origin, "diagrameditor.paste_origin", tr("Éditeur de schémas"), QKeySequence(Qt::CTRL | Qt::SHIFT | Qt::Key_V)); + //No default shortcut: Ctrl+Shift+V is taken by m_paste_origin. + ShortcutManager::instance().registerAction(m_paste_element_info, "diagrameditor.paste_element_info", tr("Éditeur de schémas"), QKeySequence()); m_cut -> setStatusTip(tr("Transfère les éléments sélectionnés dans le presse-papier", "status bar tip")); m_copy -> setStatusTip(tr("Copie les éléments sélectionnés dans le presse-papier", "status bar tip")); m_paste -> setStatusTip(tr("Place les éléments du presse-papier sur le folio", "status bar tip")); + m_paste_origin -> setStatusTip(tr("Place les éléments du presse-papier à leur position d'origine et déplace le curseur vers ce point", "status bar tip")); + m_paste_element_info -> setStatusTip(tr("Copie les informations renseignées de l'élément du presse-papier sur les éléments sélectionnés", "status bar tip")); + m_paste_element_info -> setEnabled(false); connect(m_cut, &QAction::triggered, [this]() { if (currentDiagramView()) @@ -382,7 +432,10 @@ void QETDiagramEditor::setUpActions() if (currentDiagramView()) currentDiagramView()->copy(); }); - connect(m_paste, &QAction::triggered, [this]() { + + //Both paste shortcuts share one starter; they differ only in the + //placement mode handed to DiagramEventAddPaste. + const auto start_paste = [this](DiagramEventAddPaste::PastePlacement placement) { auto *dv = currentDiagramView(); if (!dv || !dv->diagram()) return; @@ -405,8 +458,16 @@ void QETDiagramEditor::setUpActions() const QPointF start_pos = dv->mapToScene(view_pos); dv->diagram()->setEventInterface( - new DiagramEventAddPaste(dv->diagram(), start_pos)); + new DiagramEventAddPaste(dv->diagram(), start_pos, placement)); + }; + connect(m_paste, &QAction::triggered, [start_paste]() { + start_paste(DiagramEventAddPaste::UnderCursor); }); + connect(m_paste_origin, &QAction::triggered, [start_paste]() { + start_paste(DiagramEventAddPaste::AtOrigin); + }); + connect(m_paste_element_info, &QAction::triggered, + this, &QETDiagramEditor::pasteElementInformations); //Duplicate: copy the selection and place it at a configured, //grid-step offset immediately -- no interactive follow-the- @@ -440,6 +501,7 @@ void QETDiagramEditor::setUpActions() //setting, so it does not need a diagram open or anything //selected the way m_duplicate itself does. m_configure_duplicate = new QAction(tr("Configurer la duplication..."), this); + ShortcutManager::instance().registerAction(m_configure_duplicate, "diagrameditor.configure_duplicate", tr("Éditeur de schémas"), QKeySequence()); m_configure_duplicate->setStatusTip(tr("Choisir l'espacement et la direction utilisés par Dupliquer", "status bar tip")); connect(m_configure_duplicate, &QAction::triggered, [this]() { DuplicateOffsetDialog dialog(this); @@ -475,6 +537,7 @@ void QETDiagramEditor::setUpActions() //AutoBreakConductor m_auto_break_conductor = new QAction (QET::Icons::Conductor, tr("Coupure automatique de conducteur(s)","Tool tip of auto break conductor"), this); + ShortcutManager::instance().registerAction(m_auto_break_conductor, "diagrameditor.auto_break_conductor", tr("Éditeur de schémas"), QKeySequence()); m_auto_break_conductor->setStatusTip (tr("Couper automatiquement les conducteurs existants lors du placement d'un élément", "Status tip of auto break conductor")); m_auto_break_conductor->setCheckable (true); { @@ -493,6 +556,7 @@ void QETDiagramEditor::setUpActions() //Draw or not the background grid m_draw_grid = new QAction ( QET::Icons::Grid, tr("Afficher la grille"), this); + ShortcutManager::instance().registerAction(m_draw_grid, "diagrameditor.draw_grid", tr("Éditeur de schémas"), QKeySequence()); m_draw_grid->setStatusTip(tr("Affiche ou masque la grille des folios")); QSettings settings; m_draw_grid->setCheckable(true); @@ -534,6 +598,7 @@ void QETDiagramEditor::setUpActions() // Draw or not the custom guides m_draw_guides = new QAction ( QIcon::fromTheme("guides"), tr("Afficher les guides"), this); + ShortcutManager::instance().registerAction(m_draw_guides, "diagrameditor.draw_guides", tr("Éditeur de schémas"), QKeySequence()); m_draw_guides->setStatusTip(tr("Affiche ou masque les guides")); m_draw_guides->setCheckable(true); m_draw_guides->setChecked(settings.value("diagrameditor/guides_display_startup", false).toBool()); @@ -546,6 +611,7 @@ void QETDiagramEditor::setUpActions() //Keep the column numbers and row letters of the folio in sight m_cell_rulers = new QAction(tr("Garder les en-têtes visibles"), this); + ShortcutManager::instance().registerAction(m_cell_rulers, "diagrameditor.cell_rulers", tr("Éditeur de schémas"), QKeySequence()); m_cell_rulers->setStatusTip(tr("Garde les numéros de colonne et les lettres de ligne du folio visibles au bord de la vue")); m_cell_rulers->setCheckable(true); m_cell_rulers->setChecked(settings.value("diagrameditor/cell_rulers", false).toBool()); @@ -558,6 +624,7 @@ void QETDiagramEditor::setUpActions() //Draw the limits of the folio columns and rows across the drawing m_cell_lines = new QAction(tr("Afficher les limites des cases"), this); + ShortcutManager::instance().registerAction(m_cell_lines, "diagrameditor.cell_lines", tr("Éditeur de schémas"), QKeySequence()); m_cell_lines->setStatusTip(tr("Trace les limites des colonnes et des lignes du folio sur le schéma, à l'écran seulement")); m_cell_lines->setCheckable(true); m_cell_lines->setChecked(settings.value("diagrameditor/cell_lines", false).toBool()); @@ -568,6 +635,36 @@ void QETDiagramEditor::setUpActions() dv->setCellLinesShown(checked); }); + //Show or hide whole kinds of items on every folio (bugtracker #301) + m_shown_kinds_menu = new QMenu(tr("Afficher"), this); + const QList> kinds { + {ShownKinds::SymbolTexts, tr("Textes des éléments")}, + {ShownKinds::WireNumbers, tr("Textes des conducteurs")}, + {ShownKinds::FreeTexts, tr("Champs de texte")}, + {ShownKinds::Shapes, tr("Formes")}, + {ShownKinds::Pictures, tr("Images")}, + {ShownKinds::Tables, tr("Tableaux")}, + {ShownKinds::CrossReferences, tr("Références croisées")}}; + for (const auto &kind : kinds) + { + QAction *action = m_shown_kinds_menu->addAction(kind.second); + action->setCheckable(true); + action->setData(int(kind.first)); + connect(action, &QAction::triggered, this, [kind](bool checked) { + ShownKinds::setShown(kind.first, checked); + for (QETProject *project : QETApp::registeredProjects()) + for (Diagram *diagram : project->diagrams()) + ShownKinds::apply(diagram, kind.first); + emit QETApp::instance()->shownKindsChanged(); + }); + } + m_hidden_kinds_label = new QLabel(this); + m_hidden_kinds_label->setToolTip(tr("Voir Affichage > Afficher")); + statusBar()->addPermanentWidget(m_hidden_kinds_label); + connect(QETApp::instance(), &QETApp::shownKindsChanged, + this, &QETDiagramEditor::updateShownKinds); + updateShownKinds(); + //Edit current diagram properties m_edit_diagram_properties = new QAction(QET::Icons::DialogInformation, tr("Propriétés du folio"), this); ShortcutManager::instance().registerAction(m_edit_diagram_properties, "diagrameditor.edit_diagram_properties", tr("Éditeur de schémas"), Qt::CTRL | Qt::Key_L); @@ -582,6 +679,7 @@ void QETDiagramEditor::setUpActions() //Edit current project properties m_project_edit_properties = new QAction(QET::Icons::ProjectProperties, tr("Propriétés du projet"), this); + ShortcutManager::instance().registerAction(m_project_edit_properties, "diagrameditor.project_edit_properties", tr("Éditeur de schémas"), QKeySequence()); connect(m_project_edit_properties, &QAction::triggered, [this]() { editProjectProperties(currentProjectView()); }); @@ -597,10 +695,12 @@ void QETDiagramEditor::setUpActions() //Remove current folio from current project m_remove_diagram_from_project = new QAction(QET::Icons::DiagramDelete, tr("Supprimer le folio"), this); + ShortcutManager::instance().registerAction(m_remove_diagram_from_project, "diagrameditor.remove_diagram_from_project", tr("Éditeur de schémas"), QKeySequence()); connect(m_remove_diagram_from_project, &QAction::triggered, this, &QETDiagramEditor::removeDiagramFromProject); //Clean the current project m_clean_project = new QAction(QET::Icons::EditClear, tr("Nettoyer le projet"), this); + ShortcutManager::instance().registerAction(m_clean_project, "diagrameditor.clean_project", tr("Éditeur de schémas"), QKeySequence()); connect(m_clean_project, &QAction::triggered, [this]() { if (ProjectView *current_project = currentProjectView()) { if (current_project->cleanProject()) { @@ -611,6 +711,7 @@ void QETDiagramEditor::setUpActions() //Export nomenclature to CSV m_csv_export = new QAction(QET::Icons::DocumentSpreadsheet, tr("Exporter au format CSV"), this); + ShortcutManager::instance().registerAction(m_csv_export, "diagrameditor.csv_export", tr("Éditeur de schémas"), QKeySequence()); connect(m_csv_export, &QAction::triggered, [this]() { BOMExportDialog bom(currentProjectView()->project(), this); bom.exec(); @@ -618,6 +719,7 @@ void QETDiagramEditor::setUpActions() //Add a nomenclature item m_add_nomenclature = new QAction(QET::Icons::TableOfContent, tr("Ajouter une nomenclature"), this); + ShortcutManager::instance().registerAction(m_add_nomenclature, "diagrameditor.add_nomenclature", tr("Éditeur de schémas"), QKeySequence()); connect(m_add_nomenclature, &QAction::triggered, this, [this]() { if(this->currentDiagramView()) { QetGraphicsTableFactory::createAndAddNomenclature(this->currentDiagramView()->diagram()); @@ -626,6 +728,7 @@ void QETDiagramEditor::setUpActions() //Add a summary item m_add_summary = new QAction(QET::Icons::TableOfContent, tr("Ajouter un sommaire"), this); + ShortcutManager::instance().registerAction(m_add_summary, "diagrameditor.add_summary", tr("Éditeur de schémas"), QKeySequence()); connect(m_add_summary, &QAction::triggered, this, [this]() { if(this->currentDiagramView()) { QetGraphicsTableFactory::createAndAddSummary(this->currentDiagramView()->diagram()); @@ -633,6 +736,7 @@ void QETDiagramEditor::setUpActions() }); m_terminal_strip_dialog = new QAction(QET::Icons::TerminalStrip, tr("Gestionnaire de borniers (DEV)"), this); + ShortcutManager::instance().registerAction(m_terminal_strip_dialog, "diagrameditor.terminal_strip_dialog", tr("Éditeur de schémas"), QKeySequence()); connect(m_terminal_strip_dialog, &QAction::triggered, this, [this]() { if (auto project = this->currentProject()) @@ -643,6 +747,7 @@ void QETDiagramEditor::setUpActions() //Launch the plugin of terminal generator m_project_terminalBloc = new QAction(QET::Icons::TerminalStrip, tr("Lancer le plugin de création de borniers"), this); + ShortcutManager::instance().registerAction(m_project_terminalBloc, "diagrameditor.terminal_strip_plugin", tr("Éditeur de schémas"), QKeySequence()); connect(m_project_terminalBloc, &QAction::triggered, this, &QETDiagramEditor::generateTerminalBlock); //Add a cable list @@ -668,6 +773,7 @@ void QETDiagramEditor::setUpActions() //Export conductor num to csv m_project_export_conductor_num = new QAction(QET::Icons::DocumentSpreadsheet, tr("Exporter la liste des noms de conducteurs"), this); + ShortcutManager::instance().registerAction(m_project_export_conductor_num, "diagrameditor.export_conductor_names", tr("Éditeur de schémas"), QKeySequence()); connect(m_project_export_conductor_num, &QAction::triggered, [this]() { QETProject *project = this->currentProject(); if (project) @@ -678,6 +784,7 @@ void QETDiagramEditor::setUpActions() }); // Export wiring list to CSV m_project_export_wiring_list = new QAction(QET::Icons::DocumentSpreadsheet, tr("Exporter le plan de câblage"), this); + ShortcutManager::instance().registerAction(m_project_export_wiring_list, "diagrameditor.export_wiring_list", tr("Éditeur de schémas"), QKeySequence()); connect(m_project_export_wiring_list, &QAction::triggered, [this]() { QETProject *project = this->currentProject(); if (project) @@ -689,6 +796,7 @@ void QETDiagramEditor::setUpActions() // Show the wiring list read from the project database m_project_wiring_list_view = new QAction(QET::Icons::DocumentSpreadsheet, tr("Liste de câblage (base de données)"), this); + ShortcutManager::instance().registerAction(m_project_wiring_list_view, "diagrameditor.wiring_list_view", tr("Éditeur de schémas"), QKeySequence()); connect(m_project_wiring_list_view, &QAction::triggered, [this]() { QETProject *project = this->currentProject(); if (project) @@ -700,6 +808,7 @@ void QETDiagramEditor::setUpActions() // Terminal Numbering m_terminal_numbering = new QAction(QET::Icons::TerminalStrip, tr("Numérotation automatique des bornes"), this); + ShortcutManager::instance().registerAction(m_terminal_numbering, "diagrameditor.terminal_numbering", tr("Éditeur de schémas"), QKeySequence()); connect(m_terminal_numbering, &QAction::triggered, this, &QETDiagramEditor::slot_terminalNumbering); // Cable numbering: the rule the project numbers its cables with, and @@ -712,6 +821,7 @@ void QETDiagramEditor::setUpActions() // Reload element drawings from their current definition (bugtracker #802) m_reload_element_drawings = new QAction(QET::Icons::ViewRefresh, tr("Recharger les dessins des éléments"), this); + ShortcutManager::instance().registerAction(m_reload_element_drawings, "diagrameditor.reload_element_drawings", tr("Éditeur de schémas"), QKeySequence()); m_reload_element_drawings->setStatusTip( tr("Redessine chaque élément placé d'après sa définition actuelle," " sans avoir à fermer et rouvrir le projet (action non annulable)")); @@ -720,14 +830,70 @@ void QETDiagramEditor::setUpActions() #ifdef QET_HAS_SCRIPTING // Run a JavaScript macro against the current project (bugtracker #162). m_run_script = new QAction(tr("Exécuter un script..."), this); + ShortcutManager::instance().registerAction(m_run_script, "diagrameditor.run_script", tr("Éditeur de schémas"), QKeySequence()); m_run_script->setStatusTip( tr("Exécute un script JavaScript sur le projet courant (voir qet.*" " dans le script pour l'API disponible)")); connect(m_run_script, &QAction::triggered, this, &QETDiagramEditor::slot_runScript); + + //Record what the user does, for an assistant to turn into a script + { + QPixmap dot(32, 32); + dot.fill(Qt::transparent); + QPainter painter(&dot); + painter.setRenderHint(QPainter::Antialiasing); + painter.setPen(Qt::NoPen); + painter.setBrush(QColor(0xd0, 0x30, 0x30)); + painter.drawEllipse(QRectF(6, 6, 20, 20)); + painter.end(); + m_record_macro = new QAction(QIcon(dot), tr("Enregistrer une macro"), this); + } + m_record_macro->setCheckable(true); + m_record_macro->setStatusTip(tr("Enregistre ce que vous faites sur le projet, pour qu'un " + "assistant IA en fasse un script ; recliquez pour arrêter")); + connect(m_record_macro, &QAction::triggered, this, [this](bool checked) { + if (checked) { + if (!MacroRecorder::instance().start(this)) m_record_macro->setChecked(false); + } else { + MacroRecorder::instance().stop(); + } + }); + ShortcutManager::instance().registerAction(m_record_macro, "diagrameditor.record_macro", + tr("Éditeur de schémas"), QKeySequence()); + + //Write, try, give an icon to and delete stored scripts + m_manage_scripts = new QAction(tr("Gérer les scripts…"), this); + m_manage_scripts->setStatusTip(tr("Écrire un script et en faire un bouton avec une icône")); + connect(m_manage_scripts, &QAction::triggered, this, [this]() { + if (!m_script_manager) { + m_script_manager = new ScriptManagerDialog( + [this](const QString &path, const QString &name) { + runStoredScript(path, name); + }, this); + } + m_script_manager->show(); + m_script_manager->raise(); + m_script_manager->activateWindow(); + }); + ShortcutManager::instance().registerAction(m_manage_scripts, "diagrameditor.manage_scripts", + tr("Éditeur de schémas"), QKeySequence()); + + //Stored scripts are files in a folder, written by hand, by the + //script manager or by an assistant: open it to add one. + m_open_scripts_folder = new QAction(QET::Icons::FolderOpen, tr("Ouvrir le dossier des scripts"), this); + ShortcutManager::instance().registerAction(m_open_scripts_folder, "diagrameditor.open_scripts_folder", tr("Éditeur de schémas"), QKeySequence()); + m_open_scripts_folder->setStatusTip( + tr("Chaque fichier .js de ce dossier qui commence par un en-tête" + " // ==QETScript== devient un bouton")); + connect(m_open_scripts_folder, &QAction::triggered, this, []() { + QDir().mkpath(ScriptLibrary::folder()); + QDesktopServices::openUrl(QUrl::fromLocalFile(ScriptLibrary::folder())); + }); #endif #ifdef QET_EXPORT_PROJECT_DB m_export_project_db = new QAction(QET::Icons::DocumentSpreadsheet, tr("Exporter la base de donnée interne du projet"), this); + ShortcutManager::instance().registerAction(m_export_project_db, "diagrameditor.export_project_db", tr("Éditeur de schémas"), QKeySequence()); connect(m_export_project_db, &QAction::triggered, [this]() { projectDataBase::exportDb(this->currentProject()->dataBase(), this); }); @@ -735,11 +901,13 @@ void QETDiagramEditor::setUpActions() //MDI view style m_tabbed_view_mode = new QAction(tr("en utilisant des onglets"), this); + ShortcutManager::instance().registerAction(m_tabbed_view_mode, "diagrameditor.tabbed_view_mode", tr("Éditeur de schémas"), QKeySequence()); m_tabbed_view_mode->setStatusTip(tr("Présente les différents projets ouverts des onglets", "status bar tip")); m_tabbed_view_mode->setCheckable(true); connect(m_tabbed_view_mode, &QAction::triggered, this, &QETDiagramEditor::setTabbedMode); m_windowed_view_mode = new QAction(tr("en utilisant des fenêtres"), this); + ShortcutManager::instance().registerAction(m_windowed_view_mode, "diagrameditor.windowed_view_mode", tr("Éditeur de schémas"), QKeySequence()); m_windowed_view_mode->setStatusTip(tr("Présente les différents projets ouverts dans des sous-fenêtres", "status bar tip")); m_windowed_view_mode->setCheckable(true); connect(m_windowed_view_mode, &QAction::triggered, this, &QETDiagramEditor::setWindowedMode); @@ -750,15 +918,18 @@ void QETDiagramEditor::setUpActions() m_group_view_mode -> setExclusive(true); m_tile_window = new QAction(tr("&Mosaïque"), this); + ShortcutManager::instance().registerAction(m_tile_window, "diagrameditor.tile_windows", tr("Éditeur de schémas"), QKeySequence()); m_tile_window->setStatusTip(tr("Dispose les fenêtres en mosaïque", "status bar tip")); connect(m_tile_window, &QAction::triggered, &m_workspace, &QMdiArea::tileSubWindows); m_cascade_window = new QAction(tr("&Cascade"), this); + ShortcutManager::instance().registerAction(m_cascade_window, "diagrameditor.cascade_windows", tr("Éditeur de schémas"), QKeySequence()); m_cascade_window->setStatusTip(tr("Dispose les fenêtres en cascade", "status bar tip")); connect(m_cascade_window, &QAction::triggered, &m_workspace, &QMdiArea::cascadeSubWindows); //Switch selection/view mode m_mode_selection = new QAction(QET::Icons::PartSelect, tr("Mode Selection"), this); + ShortcutManager::instance().registerAction(m_mode_selection, "diagrameditor.mode_selection", tr("Éditeur de schémas"), QKeySequence()); m_mode_selection->setStatusTip(tr("Permet de sélectionner les éléments", "status bar tip")); m_mode_selection->setCheckable(true); m_mode_selection->setChecked(true); @@ -771,6 +942,7 @@ void QETDiagramEditor::setUpActions() }); m_mode_visualise = new QAction(QET::Icons::ViewMove, tr("Mode Visualisation"), this); + ShortcutManager::instance().registerAction(m_mode_visualise, "diagrameditor.mode_visualise", tr("Éditeur de schémas"), QKeySequence()); m_mode_visualise->setStatusTip(tr("Permet de visualiser le folio sans pouvoir le modifier", "status bar tip")); m_mode_visualise->setCheckable(true); connect(m_mode_visualise, &QAction::triggered, [this]() { @@ -842,6 +1014,12 @@ void QETDiagramEditor::setUpActions() add_row ->setData("add_row"); remove_row ->setData("remove_row"); + for (QAction *action : m_row_column_actions_group.actions()) { + ShortcutManager::instance().registerAction( + action, "diagrameditor." + action->data().toString(), + tr("Éditeur de schémas"), QKeySequence()); + } + connect(&m_row_column_actions_group, &QActionGroup::triggered, this, &QETDiagramEditor::rowColumnGroupTriggered); //Selections Actions (related to a selected item) @@ -849,6 +1027,8 @@ void QETDiagramEditor::setUpActions() m_rotate_selection = m_selection_actions_group.addAction( QET::Icons::TransformRotate, tr("Pivoter") ); m_rotate_group_selection = m_selection_actions_group.addAction( QET::Icons::TransformRotate, tr("Pivoter le groupe") ); m_rotate_texts = m_selection_actions_group.addAction( QET::Icons::ObjectRotateRight, tr("Orienter les textes") ); + m_mirror_horizontal = m_selection_actions_group.addAction( QET::Icons::ImageFlipHorizontal, tr("Miroir horizontal") ); + m_mirror_vertical = m_selection_actions_group.addAction( QET::Icons::ImageFlipVertical, tr("Miroir vertical") ); m_find_element = m_selection_actions_group.addAction( QET::Icons::ZoomDraw, tr("Retrouver dans le panel") ); m_edit_selection = m_selection_actions_group.addAction( QET::Icons::ElementEdit, tr("Éditer l'item sélectionné") ); m_group_selected_texts = m_selection_actions_group.addAction( QET::Icons::textGroup, tr("Grouper les textes sélectionnés")); @@ -859,6 +1039,11 @@ void QETDiagramEditor::setUpActions() ShortcutManager::instance().registerAction(m_rotate_selection, "diagrameditor.rotate_selection", tr("Éditeur de schémas"), Qt::Key_Space); ShortcutManager::instance().registerAction(m_rotate_group_selection, "diagrameditor.rotate_group_selection", tr("Éditeur de schémas"), Qt::SHIFT | Qt::Key_Space); ShortcutManager::instance().registerAction(m_rotate_texts, "diagrameditor.rotate_texts", tr("Éditeur de schémas"), Qt::CTRL | Qt::Key_Space); + //M and F, the keys of the same two actions in the element editor + ShortcutManager::instance().registerAction(m_mirror_horizontal, "diagrameditor.mirror_horizontal", tr("Éditeur de schémas"), Qt::Key_M); + ShortcutManager::instance().registerAction(m_mirror_vertical, "diagrameditor.mirror_vertical", tr("Éditeur de schémas"), Qt::Key_F); + ShortcutManager::instance().registerAction(m_find_element, "diagrameditor.find_element", tr("Éditeur de schémas"), QKeySequence()); + ShortcutManager::instance().registerAction(m_group_selected_texts, "diagrameditor.group_selected_texts", tr("Éditeur de schémas"), QKeySequence()); ShortcutManager::instance().registerAction(m_edit_selection, "diagrameditor.edit_selection", tr("Éditeur de schémas"), Qt::CTRL | Qt::Key_E); //Re-enter placement mode with the element placed last. Bare A rather @@ -950,12 +1135,16 @@ void QETDiagramEditor::setUpActions() m_rotate_selection->setStatusTip( tr("Pivote les éléments et textes sélectionnés", "status bar tip")); m_rotate_group_selection->setStatusTip( tr("Pivote la sélection comme un groupe autour de son centre, au lieu de chaque élément sur place", "status bar tip")); m_rotate_texts ->setStatusTip( tr("Pivote les textes sélectionnés à un angle précis", "status bar tip")); + m_mirror_horizontal->setStatusTip( tr("Retourne les éléments sélectionnés de gauche à droite", "status bar tip")); + m_mirror_vertical ->setStatusTip( tr("Retourne les éléments sélectionnés de haut en bas", "status bar tip")); m_find_element ->setStatusTip( tr("Retrouve l'élément sélectionné dans le panel", "status bar tip")); m_delete_selection ->setData("delete_selection"); m_rotate_selection ->setData("rotate_selection"); m_rotate_group_selection->setData("rotate_group_selection"); m_rotate_texts ->setData("rotate_selected_text"); + m_mirror_horizontal ->setData("mirror_horizontal"); + m_mirror_vertical ->setData("mirror_vertical"); m_find_element ->setData("find_selected_element"); m_edit_selection ->setData("edit_selected_element"); m_group_selected_texts->setData("group_selected_texts"); @@ -1086,6 +1275,7 @@ void QETDiagramEditor::setUpActions() QAction *add_arc = m_add_item_actions_group.addAction(QET::Icons::PartArc, tr("Ajouter un arc")); QAction *add_polyline = m_add_item_actions_group.addAction(QET::Icons::PartPolygon, tr("Ajouter une polyligne")); QAction *add_path = m_add_item_actions_group.addAction(QET::Icons::PartBezier, tr("Ajouter une courbe")); + QAction *add_fillet = m_add_item_actions_group.addAction(QET::Icons::DrawFillet, tr("Ajouter un congé")); QAction *add_terminal_strip = m_add_item_actions_group.addAction(QET::Icons::TerminalStrip, tr("Ajouter un plan de bornes")); //Not an element of the drawing but a line drawn across the //conductors: what it crosses becomes the cores of a cable. @@ -1102,6 +1292,7 @@ void QETDiagramEditor::setUpActions() add_arc ->setStatusTip(tr("Ajoute un arc sur le folio actuel")); add_polyline ->setStatusTip(tr("Ajoute une polyligne sur le folio actuel")); add_path ->setStatusTip(tr("Ajoute une courbe de Bézier sur le folio actuel")); + add_fillet ->setStatusTip(tr("Arrondit le coin entre deux lignes du folio actuel")); add_terminal_strip->setStatusTip(tr("Ajoute un plan de bornier sur le folio actuel")); m_add_cable ->setStatusTip(tr("Trace la ligne maîtresse d'un câble : chaque conducteur traversé devient une de ses âmes")); @@ -1116,6 +1307,7 @@ void QETDiagramEditor::setUpActions() add_arc ->setData(QStringLiteral("arc")); add_polyline ->setData(QStringLiteral("polyline")); add_path ->setData(QStringLiteral("path")); + add_fillet ->setData(QStringLiteral("fillet")); add_terminal_strip->setData(QStringLiteral("terminal_strip")); m_add_cable ->setData(QStringLiteral("cable")); @@ -1127,6 +1319,7 @@ void QETDiagramEditor::setUpActions() add_polyline->setCheckable(true); add_path->setCheckable(true); m_add_cable->setCheckable(true); + add_fillet->setCheckable(true); connect(&m_add_item_actions_group, &QActionGroup::triggered, this, &QETDiagramEditor::addItemGroupTriggered); //No default key, but an id: they can then be found by the command @@ -1185,64 +1378,97 @@ void QETDiagramEditor::setUpToolBar() diagram_tool_bar = new QToolBar(tr("Schéma"), this); diagram_tool_bar -> setObjectName("diagram"); - main_tool_bar -> addActions(m_file_actions_group.actions()); - main_tool_bar -> addAction(m_print); - main_tool_bar -> addAction(m_export_to_pdf); - main_tool_bar -> addSeparator(); - main_tool_bar -> addAction(undo); - main_tool_bar -> addAction(redo); - main_tool_bar -> addSeparator(); - main_tool_bar -> addAction(m_cut); - main_tool_bar -> addAction(m_copy); - main_tool_bar -> addAction(m_paste); - main_tool_bar -> addAction(m_duplicate); - main_tool_bar -> addSeparator(); - main_tool_bar -> addAction(m_delete_selection); - main_tool_bar -> addAction(m_rotate_selection); - - // Modes selection / visualisation et zoom - view_tool_bar -> addAction(m_mode_selection); - view_tool_bar -> addAction(m_mode_visualise); - view_tool_bar -> addSeparator(); - view_tool_bar -> addWidget(new DiagramEditorHandlerSizeWidget(this)); - view_tool_bar -> addSeparator(); - view_tool_bar -> addAction(m_draw_grid); - view_tool_bar -> addWidget(m_text_grid_button); - view_tool_bar -> addAction(m_draw_guides); - view_tool_bar -> addWidget(m_background_color_button); - view_tool_bar -> addSeparator(); - view_tool_bar -> addActions(m_zoom_action_toolBar); - - diagram_tool_bar -> addAction (m_edit_diagram_properties); - diagram_tool_bar -> addAction (m_conductor_reset); - diagram_tool_bar -> addAction (m_auto_conductor); - diagram_tool_bar -> addAction (m_auto_break_conductor); - //Drawn across the conductors those two actions work on, so it - //sits with them rather than with the shapes of the "Ajouter" - //toolbar, where nobody would think to look for it. - diagram_tool_bar -> addSeparator(); - diagram_tool_bar -> addAction (m_add_cable); - //Sits with the conductor actions it works alongside: it colours - //the selected conductors and sets the colour of the next one drawn. - m_conductor_color_button = new ConductorColorToolButton(this, this); - diagram_tool_bar -> addWidget (m_conductor_color_button); - m_add_item_tool_bar = new QToolBar(tr("Ajouter"), this); m_add_item_tool_bar->setObjectName("adding"); - m_add_item_tool_bar->addActions(m_add_item_actions_group.actions()); - if (m_add_cable) { - m_add_item_tool_bar->removeAction(m_add_cable); - } m_depth_tool_bar = new QToolBar(tr("Profondeur", "toolbar title")); m_depth_tool_bar->setObjectName("diagram_depth_toolbar"); - m_depth_tool_bar->addActions(m_depth_action_group->actions()); + + //The toolbar buttons that are widgets, not commands. Each is held by + //an action of this window, so it survives being taken off a toolbar. + auto add_widget = [this](const QString &id, QWidget *widget) { + auto *action = new QWidgetAction(this); + action->setDefaultWidget(widget); + action->setText(DiagramToolbarSettings::widgetTitle(id)); + m_toolbar_widgets.insert(id, action); + }; + add_widget(QStringLiteral("widget:handler_size"), new DiagramEditorHandlerSizeWidget(this)); + add_widget(QStringLiteral("widget:text_grid"), m_text_grid_button); + add_widget(QStringLiteral("widget:background_color"), m_background_color_button); + //Sits with the conductor actions it works alongside: it colours + //the selected conductors and sets the colour of the next one drawn. + m_conductor_color_button = new ConductorColorToolButton(this, this); + add_widget(QStringLiteral("widget:conductor_color"), m_conductor_color_button); addToolBar(Qt::TopToolBarArea, main_tool_bar); addToolBar(Qt::TopToolBarArea, view_tool_bar); addToolBar(Qt::TopToolBarArea, diagram_tool_bar); addToolBar(Qt::TopToolBarArea, m_add_item_tool_bar); addToolBar(Qt::TopToolBarArea, m_depth_tool_bar); + + DiagramToolbarSettings::markWindow(this); + rebuildToolBars(); + + m_scripts_tool_bar = new QToolBar(tr("Scripts", "toolbar title"), this); + m_scripts_tool_bar->setObjectName("scripts"); + addToolBar(Qt::TopToolBarArea, m_scripts_tool_bar); +#ifndef QET_HAS_SCRIPTING + m_scripts_tool_bar->toggleViewAction()->setVisible(false); + m_scripts_tool_bar->hide(); +#endif +} + +/** + @brief QETDiagramEditor::rebuildToolBars + Fill every toolbar from DiagramToolbarSettings, adding the user's own + toolbars that this window does not have yet and removing those that + were deleted. Called when the window is built, when the settings + change, and when the stored scripts change (a script can be on any + toolbar). +*/ +void QETDiagramEditor::rebuildToolBars() +{ + const QList custom = DiagramToolbarSettings::customToolbars(); + QStringList custom_names; + for (const DiagramToolbarSettings::Toolbar &toolbar : custom) { + custom_names << toolbar.name; + } + for (QToolBar *toolbar : m_custom_tool_bars) { + if (!custom_names.contains(toolbar->objectName())) { + removeToolBar(toolbar); + toolbar->deleteLater(); + } + } + m_custom_tool_bars.erase(std::remove_if(m_custom_tool_bars.begin(), m_custom_tool_bars.end(), + [&custom_names](QToolBar *toolbar) { return !custom_names.contains(toolbar->objectName()); }), + m_custom_tool_bars.end()); + + for (const DiagramToolbarSettings::Toolbar &toolbar : custom) + { + auto existing = std::find_if(m_custom_tool_bars.cbegin(), m_custom_tool_bars.cend(), + [&toolbar](QToolBar *t) { return t->objectName() == toolbar.name; }); + if (existing != m_custom_tool_bars.cend()) { + (*existing)->setWindowTitle(toolbar.title); + continue; + } + auto *new_tool_bar = new QToolBar(toolbar.title, this); + new_tool_bar->setObjectName(toolbar.name); + new_tool_bar->setMovable(!ToolbarSettings::locked()); + addToolBar(Qt::TopToolBarArea, new_tool_bar); + m_custom_tool_bars << new_tool_bar; + } + + auto resolve = [this](const QString &id) -> QAction * { + if (DiagramToolbarSettings::isWidget(id)) { + return m_toolbar_widgets.value(id); + } + return ShortcutManager::instance().action(id, this); + }; + const QList built_in {main_tool_bar, view_tool_bar, diagram_tool_bar, + m_add_item_tool_bar, m_depth_tool_bar}; + for (QToolBar *toolbar : built_in + m_custom_tool_bars) { + DiagramToolbarSettings::fill(toolbar, DiagramToolbarSettings::ids(toolbar->objectName()), resolve); + } } /** @@ -1302,14 +1528,13 @@ void QETDiagramEditor::setUpMenu() menu_edition -> addAction(m_cut); menu_edition -> addAction(m_copy); menu_edition -> addAction(m_paste); + menu_edition -> addAction(m_paste_origin); + menu_edition -> addAction(m_paste_element_info); menu_edition -> addAction(m_duplicate); menu_edition -> addAction(m_configure_duplicate); + menu_edition -> addSeparator(); menu_edition -> addAction(m_insert_last_element); menu_edition -> addAction(m_show_element_picker); - menu_edition -> addAction(m_show_shortcut_bar); - menu_edition -> addAction(m_repeat_last_command); - menu_edition -> addAction(m_command_search); - menu_edition -> addSeparator(); //The same actions the "Ajouter" toolbar holds. They were toolbar-only, //which left them unreachable for anyone working without a mouse: a //toolbar button has no key, so text fields, images and every drawing @@ -1319,9 +1544,24 @@ void QETDiagramEditor::setUpMenu() m_add_item_menu -> setIcon(QET::Icons::Add); m_add_item_menu -> addActions(m_add_item_actions_group.actions()); menu_edition -> addSeparator(); - menu_edition -> addActions(m_select_actions_group.actions()); + //The menu had grown to over forty entries and no longer fitted on a + //laptop screen (issue #1336). Whole families now sit one level down, + //as Ajouter and Aligner already did; every action and its shortcut + //is unchanged. + QMenu *select_menu = menu_edition -> addMenu(QET::Icons::EditSelectAll, tr("Sélection")); + select_menu -> addActions(m_select_actions_group.actions()); menu_edition -> addSeparator(); - menu_edition -> addActions(m_selection_actions_group.actions()); + menu_edition -> addAction(m_delete_selection); + menu_edition -> addAction(m_rotate_selection); + menu_edition -> addAction(m_rotate_group_selection); + menu_edition -> addAction(m_rotate_texts); + menu_edition -> addAction(m_find_element); + menu_edition -> addAction(m_edit_selection); + QMenu *group_menu = menu_edition -> addMenu(QET::Icons::textGroup, tr("Grouper")); + group_menu -> addAction(m_group_selection); + group_menu -> addAction(m_ungroup_selection); + group_menu -> addSeparator(); + group_menu -> addAction(m_group_selected_texts); m_align_menu = menu_edition -> addMenu(tr("Aligner")); //Snap to grid, then the horizontal three, then the vertical three, //in the order setUpActions() adds them @@ -1334,18 +1574,20 @@ void QETDiagramEditor::setUpMenu() menu_edition -> addAction(m_conductor_reset); menu_edition -> addSeparator(); menu_edition -> addAction(m_edit_diagram_properties); - menu_edition -> addActions(m_row_column_actions_group.actions()); - //Not added to a menu here: it exists so the folio's context menu can - //hold the row and column actions one level down (see + //Shared with the folio's context menu (see //DiagramView::contextMenuActions()). - m_row_column_menu = new QMenu(tr("Lignes et colonnes"), this); + m_row_column_menu = menu_edition -> addMenu(tr("Lignes et colonnes")); m_row_column_menu -> setIcon(QET::Icons::EditTableInsertColumnRight); m_row_column_menu -> addActions(m_row_column_actions_group.actions()); - menu_edition -> addSeparator(); - menu_edition -> addActions(m_depth_action_group->actions()); + QMenu *depth_menu = menu_edition -> addMenu(QET::Icons::BringForward, tr("Profondeur")); + depth_menu -> addActions(m_depth_action_group->actions()); menu_edition -> addSeparator(); menu_edition -> addAction(m_find); menu_edition -> addAction(m_jump_to_element); + menu_edition -> addAction(m_command_search); + menu_edition -> addSeparator(); + menu_edition -> addAction(m_show_shortcut_bar); + menu_edition -> addAction(m_repeat_last_command); // menu Projet menu_project -> addAction(m_project_edit_properties); @@ -1365,7 +1607,11 @@ void QETDiagramEditor::setUpMenu() menu_project -> addAction(m_project_wiring_list_view); menu_project -> addAction(m_reload_element_drawings); #ifdef QET_HAS_SCRIPTING - menu_project -> addAction(m_run_script); + m_scripts_menu = menu_project -> addMenu(tr("Scripts")); + rebuildScriptActions(); + connect(&ScriptLibrary::instance(), &ScriptLibrary::changed, + this, &QETDiagramEditor::rebuildScriptActions); + AssistantInfo::watch(); #endif #ifdef QET_EXPORT_PROJECT_DB menu_project -> addSeparator(); @@ -1415,6 +1661,7 @@ void QETDiagramEditor::setUpMenu() menu_affichage -> addAction(m_draw_guides); menu_affichage -> addAction(m_cell_rulers); menu_affichage -> addAction(m_cell_lines); + menu_affichage -> addMenu(m_shown_kinds_menu); menu_affichage -> addMenu(m_background_color_button->menu()); menu_affichage -> addSeparator(); menu_affichage -> addActions(m_zoom_actions_group.actions()); @@ -1781,8 +2028,10 @@ bool QETDiagramEditor::openAndAddProject( box.exec(); } + //Not when nobody is there to answer: an assistant opening a + //project in live mode would wait on a window it cannot see BackupDialog backup_dialog(this); - if (backup_dialog.exec() == QDialog::Accepted) + if (interactive && backup_dialog.exec() == QDialog::Accepted) { QString backup_path = filepath_info.absolutePath() + QDir::separator() + QDateTime::currentDateTime().toString("yyyy-MM-dd-hh-mm") + "_" + @@ -2197,6 +2446,8 @@ void QETDiagramEditor::addItemGroupTriggered(QAction *action) } diagram_event = new DiagramEventAddCable(d); } + else if (value == "fillet") + diagram_event = new DiagramEventFillet (d); else if (value == "image") { DiagramEventAddImage *deai = new DiagramEventAddImage(d); @@ -2328,6 +2579,16 @@ void QETDiagramEditor::selectionGroupTriggered(QAction *action) if(c->isValid()) diagram->undoStack().push(c); } + else if (value == "mirror_horizontal" || value == "mirror_vertical") + { + auto *c = new MirrorSelectionCommand( + diagram, + value == "mirror_horizontal" ? Qt::Horizontal : Qt::Vertical); + if (c->isValid()) + diagram->undoStack().push(c); + else + delete c; + } else if (value == "rotate_group_selection") { RotateSelectionCommand *c = new RotateSelectionCommand(diagram, 90, nullptr, true); @@ -2553,6 +2814,9 @@ void QETDiagramEditor::slot_updateUndoStack() */ void QETDiagramEditor::slot_updateComplexActions() { +#ifdef QET_HAS_SCRIPTING + updateScriptActions(); +#endif DiagramView *dv = currentDiagramView(); if(!dv) { @@ -2561,10 +2825,13 @@ void QETDiagramEditor::slot_updateComplexActions() << m_find_element << m_cut << m_copy + << m_paste_element_info << m_duplicate << m_delete_selection << m_rotate_selection << m_rotate_group_selection + << m_mirror_horizontal + << m_mirror_vertical << m_edit_selection << m_group_selected_texts << m_group_selection @@ -2588,6 +2855,8 @@ void QETDiagramEditor::slot_updateComplexActions() // number of selected elements int selected_elements_count = dc.count(DiagramContent::Elements); m_find_element->setEnabled(selected_elements_count == 1); + m_mirror_horizontal->setEnabled(!ro && selected_elements_count); + m_mirror_vertical->setEnabled(!ro && selected_elements_count); //Actions that need items (elements, conductors, texts...) selected, to be enabled //A cable line is drawn on the folio but held by the cable, not @@ -2607,6 +2876,7 @@ void QETDiagramEditor::slot_updateComplexActions() m_cut -> setEnabled(!ro && copiable_items); m_copy -> setEnabled(copiable_items); m_duplicate -> setEnabled(!ro && copiable_items); + updatePasteElementInfoAction(); m_delete_selection -> setEnabled(!ro && deletable_items); m_rotate_selection -> setEnabled(!ro && diagram_->canRotateSelection()); m_rotate_group_selection -> setEnabled(!ro && diagram_->canRotateSelection()); @@ -2773,6 +3043,39 @@ void QETDiagramEditor::slot_updateModeActions() } } +namespace { +/** + @return true if @p element has information the user can edit, the + same element kinds ElementPropertiesWidget gives an ElementInfoWidget. + Plain slaves and folio reports take theirs from what they are linked to. +*/ +bool takesElementInformations(const Element *element) +{ + switch (element->linkType()) { + case Element::Simple: + case Element::Thumbnail: + case Element::Master: + case Element::Terminale: + return true; + default: + return false; + } +} + +/** + @return the elements of @p diagram's selection which take information +*/ +QList selectedInformationElements(Diagram *diagram) +{ + QList list; + for (Element *element : DiagramContent(diagram).m_elements) { + if (takesElementInformations(element)) + list << element; + } + return list; +} +} // namespace + /** @brief QETDiagramEditor::slot_updatePasteAction Gere les actions ayant besoin du presse-papier @@ -2783,7 +3086,101 @@ void QETDiagramEditor::slot_updatePasteAction() bool editable_diagram = (dv && !dv -> diagram() -> isReadOnly()); // pour coller, il faut un schema ouvert et un schema dans le presse-papier - m_paste -> setEnabled(editable_diagram && Diagram::clipboardMayContainDiagram()); + const bool may_be_diagram = Diagram::clipboardMayContainDiagram(); + m_paste -> setEnabled(editable_diagram && may_be_diagram); + m_paste_origin -> setEnabled(editable_diagram && may_be_diagram); + + //Read the clipboard once here rather than on every selection + //change: it can hold a whole folio. + m_clipboard_element_info.clear(); + m_clipboard_has_element = false; + if (may_be_diagram) + { + QDomDocument document; + if (document.setContent(QApplication::clipboard()->text())) + { + const QList elements = QET::findInDomElement( + document.documentElement(), + QStringLiteral("elements"), + QStringLiteral("element")); + if (elements.size() == 1) + { + m_clipboard_element_info.fromXml( + elements.first().firstChildElement(QStringLiteral("elementInformations")), + QStringLiteral("elementInformation")); + m_clipboard_has_element = true; + } + } + } + updatePasteElementInfoAction(); +} + +/** + @brief QETDiagramEditor::updatePasteElementInfoAction + Enable "paste element information" when the clipboard holds exactly one + element and the selection of an editable folio has an element to give + its information to. +*/ +void QETDiagramEditor::updatePasteElementInfoAction() +{ + DiagramView *dv = currentDiagramView(); + m_paste_element_info->setEnabled( + m_clipboard_has_element + && dv && dv->diagram() && !dv->diagram()->isReadOnly() + && !selectedInformationElements(dv->diagram()).isEmpty()); +} + +/** + @brief QETDiagramEditor::pasteElementInformations + Copy the information of the element on the clipboard onto the selected + elements, in one undo step (#1375). Every field filled in on the copied + element replaces the same field; a field it leaves empty is left alone, + since an empty field is not written to the clipboard and cannot be told + from one the copied element does not have. + The label and its formula travel together: one without the other would + have the formula rebuild a label the user did not copy. +*/ +void QETDiagramEditor::pasteElementInformations() +{ + DiagramView *dv = currentDiagramView(); + if (!m_clipboard_has_element || !dv || !dv->diagram() + || dv->diagram()->isReadOnly()) + return; + + const DiagramContext &source = m_clipboard_element_info; + const bool takes_label = source.contains(QETInformation::ELMT_LABEL) + || source.contains(QETInformation::ELMT_FORMULA); + //A numbering scheme id is only kept if it names a scheme of this + //project; one copied from another project would name nothing. + QETProject *project = dv->diagram()->project(); + const QUuid scheme_id(source.value(QETInformation::ELMT_FORMULA_ID).toString()); + const bool keep_scheme_id = project && !scheme_id.isNull() + && !project->elementAutoNumTitle(scheme_id).isEmpty(); + + QMap, QPair> changes; + for (Element *element : selectedInformationElements(dv->diagram())) + { + const DiagramContext old_info = element->elementInformations(); + DiagramContext new_info = old_info; + if (takes_label) { + new_info.remove(QETInformation::ELMT_LABEL); + new_info.remove(QETInformation::ELMT_FORMULA); + new_info.remove(QETInformation::ELMT_FORMULA_ID); + } + for (const QString &key : source.keys()) { + if (key == QETInformation::ELMT_FORMULA_ID && !keep_scheme_id) + continue; + new_info.addValue(key, source.value(key), source.keyMustShow(key)); + } + if (new_info != old_info) + changes.insert(element, qMakePair(old_info, new_info)); + } + if (changes.isEmpty()) + return; + + auto *undo = new ChangeElementInformationCommand(changes); + undo->setText(tr("Coller les informations de l'élément")); + dv->diagram()->undoStack().push(undo); } /** @@ -3930,28 +4327,7 @@ void QETDiagramEditor::slot_runScript() { QETProject *project = currentProject(); if (!project) return; - // Scripting is off until somebody says otherwise, so the first use has - // to ask. Asking here rather than greying the action out keeps the - // feature discoverable: a disabled menu entry tells a user that - // something exists and nothing about how to have it. - if (!QetSettings::scriptingEnabled()) { - const QMessageBox::StandardButton answer = QET::QetMessageBox::question( - this, - tr("Exécuter un script"), - tr("Les scripts sont désactivés.\n\n" - "Un script s'exécute avec vos droits : il peut lire et " - "modifier le projet ouvert et écrire des fichiers. " - "N'exécutez que des scripts dont vous connaissez " - "l'origine.\n\n" - "Activer les scripts ? Ce réglage est modifiable dans " - "Configurer QElectroTech > Général > Projets."), - QMessageBox::Yes | QMessageBox::Cancel, - QMessageBox::Cancel); - if (answer != QMessageBox::Yes) { - return; - } - QetSettings::setScriptingEnabled(true); - } + if (!ensureScriptingEnabled(tr("Exécuter un script"))) return; const QString script_path = QFileDialog::getOpenFileName( this, @@ -3963,8 +4339,320 @@ void QETDiagramEditor::slot_runScript() { QetScripting::runOnProject(script_path, project, currentDiagramView()); } + +/** + @brief QETDiagramEditor::ensureScriptingEnabled + @return true if scripts may run, asking to switch them on if they are + off. Shared by "Run a script..." and the stored script buttons, so + there is one prompt to keep right. +*/ +bool QETDiagramEditor::ensureScriptingEnabled(const QString &title) +{ + // Scripting is off until somebody says otherwise, so the first use has + // to ask. Asking here rather than greying the action out keeps the + // feature discoverable: a disabled menu entry tells a user that + // something exists and nothing about how to have it. + if (!QetSettings::scriptingEnabled()) { + const QMessageBox::StandardButton answer = QET::QetMessageBox::question( + this, + title, + tr("Les scripts sont désactivés.\n\n" + "Un script s'exécute avec vos droits : il peut lire et " + "modifier le projet ouvert et écrire des fichiers. " + "N'exécutez que des scripts dont vous connaissez " + "l'origine.\n\n" + "Activer les scripts ? Ce réglage est modifiable dans " + "Configurer QElectroTech > Général > Projets."), + QMessageBox::Yes | QMessageBox::Cancel, + QMessageBox::Cancel); + if (answer != QMessageBox::Yes) { + return false; + } + QetSettings::setScriptingEnabled(true); + } + return true; +} + +/** + @brief QETDiagramEditor::runStoredScript + Run the stored script at @a path on the current project, as one undo + step named after the script. The file is read again on every run, so + an edit to it takes effect on the next click. +*/ +void QETDiagramEditor::runStoredScript(const QString &path, const QString &name) +{ + QETProject *project = currentProject(); + if (!project) return; + if (!ensureScriptingEnabled(name)) return; + QetScripting::runOnProject(path, project, currentDiagramView(), name); +} + +/** + @brief QETDiagramEditor::rebuildScriptActions + One action per stored script, in the Projet > Scripts menu and on the + Scripts toolbar, registered with ShortcutManager under + diagrameditor.script.: that one registration is what lists + it in the shortcut settings, the shortcut bar (S) and command search. + Rebuilt from scratch whenever the scripts folder changes. +*/ +void QETDiagramEditor::rebuildScriptActions() +{ + for (QAction *action : std::as_const(m_script_actions)) { + ShortcutManager::instance().unregisterAction( + action, action->property("qet_script_action_id").toString()); + delete action; + } + m_script_actions.clear(); + m_scripts_menu->clear(); + m_scripts_tool_bar->clear(); + + const ScriptLibrary &library = ScriptLibrary::instance(); + for (const ScriptLibrary::Script &script : library.scripts()) { + const ScriptHeader &h = script.header; + auto *action = new QAction(ScriptLibrary::icon(script), h.name, this); + action->setStatusTip(h.tooltip); + action->setToolTip(h.tooltip.isEmpty() ? h.name : h.name + QLatin1Char('\n') + h.tooltip); + action->setProperty("qet_script_action_id", ScriptLibrary::actionId(h.id)); + action->setProperty("qet_script_context", h.context); + connect(action, &QAction::triggered, this, [this, path = script.path, name = h.name]() { + runStoredScript(path, name); + }); + ShortcutManager::instance().registerAction(action, ScriptLibrary::actionId(h.id), + tr("Scripts"), + QKeySequence::fromString(h.shortcut)); + m_scripts_menu->addAction(action); + m_scripts_tool_bar->addAction(action); + m_script_actions << action; + } + + //A script with a header that cannot be used gets no button: say + //which file and why, where its author will look for the button. + const QStringList errors = library.errors(); + if (!errors.isEmpty()) { + m_scripts_menu->addSeparator(); + for (const QString &error : errors) { + QAction *ignored = m_scripts_menu->addAction(QET::Icons::DialogInformation, + tr("Ignoré : %1").arg(error)); + ignored->setEnabled(false); + } + } + + m_scripts_menu->addSeparator(); + m_scripts_menu->addAction(m_record_macro); + m_scripts_menu->addAction(m_manage_scripts); + m_scripts_menu->addAction(m_run_script); + m_scripts_menu->addAction(m_open_scripts_folder); + + //Show the toolbar when the first script arrives, hide it when the + //last one goes; in between it is the user's to show or hide. + const bool has_scripts = !m_script_actions.isEmpty(); + if (has_scripts != m_had_scripts) m_scripts_tool_bar->setVisible(has_scripts); + m_had_scripts = has_scripts; + + rebuildToolBars(); + updateScriptActions(); +} + +/** + @brief QETDiagramEditor::setUpMacroRecorder + While recording: the action checked, and "● Enregistrement : N étapes" + with Arrêter on the status bar. At the end, where it was saved and the + request to paste into the assistant. +*/ +void QETDiagramEditor::setUpMacroRecorder() +{ + auto *box = new QWidget(this); + auto *layout = new QHBoxLayout(box); + layout->setContentsMargins(0, 0, 0, 0); + auto *label = new QLabel(box); + label->setStyleSheet(QStringLiteral("color: #d03030; font-weight: bold")); + auto *stop = new QToolButton(box); + stop->setText(tr("Arrêter")); + stop->setToolTip(tr("Arrêter l'enregistrement de la macro")); + layout->addWidget(label); + layout->addWidget(stop); + statusBar()->addPermanentWidget(box); + box->hide(); + connect(stop, &QToolButton::clicked, this, []() { MacroRecorder::instance().stop(); }); + + connect(&MacroRecorder::instance(), &MacroRecorder::stateChanged, box, + [this, box, label](bool recording, int steps) { + box->setVisible(recording); + label->setText(tr("● Enregistrement : %n étape(s)", nullptr, steps)); + const QSignalBlocker blocker(m_record_macro); + m_record_macro->setChecked(recording); + updateScriptActions(); + }); + connect(&MacroRecorder::instance(), &MacroRecorder::finished, this, + [this](const QJsonObject &recording, QETDiagramEditor *editor) { + if (editor == this) macroRecorded(recording); + }); +} + +void QETDiagramEditor::macroRecorded(const QJsonObject &recording) +{ + const int steps = recording.value(QStringLiteral("steps")).toArray().size(); + const QString dir = recording.value(QStringLiteral("folder")).toString(); + QMessageBox box(QMessageBox::Information, tr("Macro enregistrée"), + tr("« %1 » : %n étape(s).\n\nPour en faire un script, demandez-le à " + "votre assistant IA : le bouton ci-dessous copie la demande, il " + "suffit de la coller dans sa fenêtre.", nullptr, steps) + .arg(recording.value(QStringLiteral("name")).toString()), + QMessageBox::NoButton, this); + box.setInformativeText(QDir::toNativeSeparators(dir) + + (recording.value(QStringLiteral("complete")).toBool() + ? QString() : QStringLiteral("\n") + recording.value(QStringLiteral("note")).toString())); + QPushButton *copy = box.addButton(tr("&Copier la demande pour l'assistant"), QMessageBox::AcceptRole); + QPushButton *open = box.addButton(tr("&Ouvrir le dossier"), QMessageBox::ActionRole); + box.addButton(tr("&Fermer"), QMessageBox::RejectRole); + box.setDefaultButton(copy); + box.exec(); + if (box.clickedButton() == copy) { + QGuiApplication::clipboard()->setText(MacroRecorder::assistantRequest(recording)); + statusBar()->showMessage(tr("Demande copiée : collez-la dans la fenêtre de l'assistant"), 8000); + } else if (box.clickedButton() == open) { + QDesktopServices::openUrl(QUrl::fromLocalFile(dir)); + } +} + +/** + @brief QETDiagramEditor::setUpLiveIndicator + "Assistant connecté" and a Stop button on the status bar, shown + whenever live mode is open, so it is never on without being seen. +*/ +void QETDiagramEditor::setUpLiveIndicator() +{ + auto *box = new QWidget(this); + auto *layout = new QHBoxLayout(box); + layout->setContentsMargins(0, 0, 0, 0); + auto *label = new QLabel(box); + auto *stop = new QToolButton(box); + stop->setText(tr("Arrêter")); + stop->setToolTip(tr("Couper la connexion de l'assistant pour le reste de la session")); + layout->addWidget(label); + layout->addWidget(stop); + statusBar()->addPermanentWidget(box); + connect(stop, &QToolButton::clicked, this, []() { LiveServer::instance().stop(); }); + + auto update = [box, label](LiveServer::State state) { + box->setVisible(state != LiveServer::Off); + label->setText(state == LiveServer::Connected + ? tr("Mode direct : assistant connecté") + : tr("Mode direct : en attente d'un assistant")); + label->setStyleSheet(state == LiveServer::Connected + ? QStringLiteral("font-weight: bold") : QString()); + }; + connect(&LiveServer::instance(), &LiveServer::stateChanged, box, update); + update(LiveServer::instance().state()); + + //The Assistant dock: every action, and whether to be asked first + auto *dock = new QDockWidget(tr("Assistant"), this); + dock->setObjectName(QStringLiteral("assistant_dock")); + auto *content = new QWidget(dock); + auto *dock_layout = new QVBoxLayout(content); + auto *ask = new QCheckBox(tr("Demander avant d'exécuter un script écrit par l'assistant"), content); + ask->setChecked(LiveServer::instance().askFirst()); + ask->setToolTip(tr("Retenu après un redémarrage")); + auto *log = new QListWidget(content); + log->setWordWrap(true); + dock_layout->addWidget(ask); + dock_layout->addWidget(log); + dock->setWidget(content); + addDockWidget(Qt::RightDockWidgetArea, dock); + dock->hide(); + connect(ask, &QCheckBox::toggled, &LiveServer::instance(), &LiveServer::setAskFirst); + connect(&LiveServer::instance(), &LiveServer::askFirstChanged, ask, &QCheckBox::setChecked); + connect(&LiveServer::instance(), &LiveServer::stateChanged, dock, + [dock](LiveServer::State state) { + if (state == LiveServer::Waiting) dock->show(); + else if (state == LiveServer::Off) dock->hide(); + }); + connect(&LiveServer::instance(), &LiveServer::handled, log, + [log](const QJsonObject &request, const QJsonObject &answer) { + const QString cmd = request.value(QStringLiteral("cmd")).toString(); + if (cmd == QLatin1String("status")) return; + const bool ok = answer.value(QStringLiteral("ok")).toBool(); + QString what = answer.value(QStringLiteral("undo")).toString(); + for (const char *key : {"name", "script", "action"}) + if (what.isEmpty()) what = request.value(QLatin1String(key)).toString(); + if (what.isEmpty()) what = cmd; + auto *item = new QListWidgetItem(QStringLiteral("%1 %2 %3") + .arg(QTime::currentTime().toString(QStringLiteral("HH:mm:ss")), + ok ? QStringLiteral("✓") : QStringLiteral("✗"), what)); + QStringList details; + if (!ok) details << answer.value(QStringLiteral("error")).toString(); + const QJsonArray lines = answer.value(QStringLiteral("log")).toArray(); + for (const QJsonValue &l : lines) details << l.toString(); + const QString source = request.value(QStringLiteral("source")).toString(); + if (!source.isEmpty()) details << QString() << source; + item->setToolTip(details.join(QLatin1Char('\n'))); + item->setData(Qt::UserRole, details.join(QLatin1Char('\n'))); + log->insertItem(0, item); + }); + connect(log, &QListWidget::itemDoubleClicked, this, [this](QListWidgetItem *item) { + QET::QetMessageBox::information(this, tr("Assistant"), + item->data(Qt::UserRole).toString()); + }); + //What the assistant just did, where the user is already looking + connect(&LiveServer::instance(), &LiveServer::handled, box, + [label](const QJsonObject &request, const QJsonObject &answer) { + const QString cmd = request.value(QStringLiteral("cmd")).toString(); + if (cmd == QLatin1String("status")) return; + QString what = answer.value(QStringLiteral("undo")).toString(); + if (what.isEmpty()) + what = request.value(QStringLiteral("name")).toString(); + if (what.isEmpty()) + what = request.value(QStringLiteral("script")).toString(); + if (what.isEmpty()) + what = request.value(QStringLiteral("action")).toString(); + if (what.isEmpty()) + what = cmd; + label->setText(tr("Mode direct : %1 %2 à %3") + .arg(answer.value(QStringLiteral("ok")).toBool() ? QStringLiteral("✓") + : QStringLiteral("✗"), + what, QTime::currentTime().toString(QStringLiteral("HH:mm:ss")))); + label->setToolTip(answer.value(QStringLiteral("error")).toString()); + }); +} + +/** + @brief QETDiagramEditor::updateScriptActions + Enable each script for what its header's @context asks for: always + (canvas), with something selected (selection), or with a conductor + selected (conductor). None without an open project. +*/ +void QETDiagramEditor::updateScriptActions() +{ + DiagramView *dv = currentDiagramView(); + Diagram *diagram = dv ? dv->diagram() : nullptr; + const bool selection = diagram && !diagram->selectedItems().isEmpty(); + const bool conductor = diagram && !diagram->selectedConductors().isEmpty(); + m_record_macro->setEnabled(currentProject() || MacroRecorder::instance().isRecording()); + for (QAction *action : std::as_const(m_script_actions)) { + const QString context = action->property("qet_script_context").toString(); + bool enabled = currentProject() != nullptr; + if (context == QLatin1String("selection")) enabled = enabled && selection; + else if (context == QLatin1String("conductor")) enabled = enabled && conductor; + action->setEnabled(enabled); + } +} #endif +/** + @brief QETDiagramEditor::updateShownKinds + Tick the kinds shown in View > Show, and say in the status bar how many + are hidden, so that a hidden kind is never forgotten. +*/ +void QETDiagramEditor::updateShownKinds() +{ + for (QAction *action : m_shown_kinds_menu->actions()) + action->setChecked(ShownKinds::isShown(ShownKinds::Kind(action->data().toInt()))); + + const int hidden = ShownKinds::hiddenCount(); + m_hidden_kinds_label->setText(tr("%n type(s) d'objets masqué(s)", "", hidden)); + m_hidden_kinds_label->setVisible(hidden > 0); +} + /** @brief QETDiagramEditor::updateTextGridButton Show the current text grid on its toolbar button and check it in its menu. diff --git a/sources/qetdiagrameditor.h b/sources/qetdiagrameditor.h index ffd54794f..2ff471b3f 100644 --- a/sources/qetdiagrameditor.h +++ b/sources/qetdiagrameditor.h @@ -19,6 +19,7 @@ #define QET_DIAGRAM_EDITOR_H #include "SearchAndReplace/ui/searchandreplacewidget.h" +#include "diagramcontext.h" #include "qetmainwindow.h" #include @@ -30,6 +31,7 @@ #include class QToolButton; +class QLabel; class QMdiSubWindow; class QETProject; @@ -61,6 +63,8 @@ class QETDiagramEditor : public QETMainWindow Q_OBJECT friend class TerminalStripEditorWindow; + friend class LiveServer; + friend class MacroRecorder; public: QETDiagramEditor( @@ -142,6 +146,8 @@ class QETDiagramEditor : public QETMainWindow void slot_updateModeActions(); void slot_updateComplexActions(); void slot_updatePasteAction(); + void pasteElementInformations(); + void updatePasteElementInfoAction(); void slot_updateWindowsMenu(); void slot_updateAutoNumDock(); void insertElementFromCollection(const ElementsLocation &location); @@ -149,6 +155,7 @@ class QETDiagramEditor : public QETMainWindow void rememberPlacedElement(const ElementsLocation &location); void showElementPicker(); void showShortcutBar(); + void rebuildToolBars(); bool repeatLastCommand(); void generateTerminalBlock(); void setWindowedMode(); @@ -167,6 +174,13 @@ class QETDiagramEditor : public QETMainWindow void slot_reloadElementDrawings(); #ifdef QET_HAS_SCRIPTING void slot_runScript(); + void rebuildScriptActions(); + void updateScriptActions(); + bool ensureScriptingEnabled(const QString &title); + void runStoredScript(const QString &path, const QString &name); + void setUpLiveIndicator(); + void setUpMacroRecorder(); + void macroRecorded(const QJsonObject &recording); #endif void editDiagramProperties(DiagramView *); void editDiagramProperties(Diagram *); @@ -191,6 +205,7 @@ class QETDiagramEditor : public QETMainWindow private slots: void updateTextGridButton(); + void updateShownKinds(); void selectionChanged(); public: @@ -199,6 +214,7 @@ class QETDiagramEditor : public QETMainWindow *m_conductor_reset, ///< Reset paths of selected conductors *m_cut, ///< Cut selection to clipboard *m_copy, ///< Copy selection to clipboard + *m_paste_element_info, ///< Copy the information of the copied element onto the selected elements (#1375) *m_insert_last_element = nullptr; ///< Place the last placed element again QActionGroup @@ -233,6 +249,7 @@ class QETDiagramEditor : public QETMainWindow *undo, ///< Cancel the latest action *redo, ///< Redo the latest cancelled operation *m_paste, ///< Paste clipboard content on the current diagram + *m_paste_origin, ///< Same, at the copied position, cursor warped to the origin (Ctrl+Shift+V) *m_duplicate, ///< Copy selection, offset by the configured step (#991) *m_configure_duplicate, ///< Reopen the duplicate offset/direction dialog (#991) *m_auto_conductor, ///< Enable/Disable the use of auto conductor @@ -261,6 +278,9 @@ class QETDiagramEditor : public QETMainWindow *m_reload_element_drawings, ///< Action to redraw every placed element from its current definition #ifdef QET_HAS_SCRIPTING *m_run_script, ///< Action to run a JavaScript macro against the current project + *m_open_scripts_folder, ///< Action to open the folder stored scripts are read from + *m_manage_scripts, ///< Action to open the script manager + *m_record_macro, ///< Action to start / stop recording a macro #endif *m_export_project_db, ///Export to file the internal database of the current project *m_tile_window, ///< Show MDI subwindows as tile @@ -272,6 +292,8 @@ class QETDiagramEditor : public QETMainWindow *m_rotate_selection, ///< Rotate selected elements and text items by 90 degrees *m_rotate_group_selection = nullptr, ///< Rotate the selection as a whole around its shared center, instead of each item in place *m_rotate_texts, ///< Direct selected text items to a specific angle + *m_mirror_horizontal = nullptr, ///< Mirror the selected elements, left and right swap (#1335) + *m_mirror_vertical = nullptr, ///< Mirror the selected elements, top and bottom swap (#1335) *m_find_element, ///< Find the selected element in the panel *m_group_selected_texts = nullptr, *m_group_selection = nullptr, ///< Group the selected items (#1070) @@ -288,6 +310,8 @@ class QETDiagramEditor : public QETMainWindow DiagramBgColorToolButton *m_background_color_button = nullptr; QMenu *m_text_grid_menu = nullptr; ///< Snap step used when dragging texts QToolButton *m_text_grid_button = nullptr; + QMenu *m_shown_kinds_menu = nullptr; ///< View > Show, kinds of items (#301) + QLabel *m_hidden_kinds_label = nullptr; ///< Status bar: how many kinds are hidden QList m_zoom_action_toolBar; ///Only zoom action must displayed in the toolbar @@ -317,6 +341,10 @@ class QETDiagramEditor : public QETMainWindow ElementsLocation m_last_inserted_element; DiagramPropertiesEditorDockWidget *m_selection_properties_editor; + /// Information of the one element on the clipboard, read when + /// the clipboard changes; see slot_updatePasteAction() + DiagramContext m_clipboard_element_info; + bool m_clipboard_has_element = false; /// Elements panel ElementsPanelWidget *pa; QMenu *windows_menu; @@ -326,7 +354,18 @@ class QETDiagramEditor : public QETMainWindow *view_tool_bar = nullptr, *diagram_tool_bar = nullptr, *m_add_item_tool_bar = nullptr, - *m_depth_tool_bar = nullptr; + *m_depth_tool_bar = nullptr, + *m_scripts_tool_bar = nullptr; ///< One button per stored script + /// Toolbars the user added (DiagramToolbarSettings) + QList m_custom_tool_bars; + /// The toolbar buttons that are widgets, by DiagramToolbarSettings id + QHash m_toolbar_widgets; +#ifdef QET_HAS_SCRIPTING + QMenu *m_scripts_menu = nullptr; + QList m_script_actions; ///< One per stored script, rebuilt when the folder changes + bool m_had_scripts = false; + QPointer m_script_manager; +#endif QUndoGroup undo_group; AutoNumberingDockWidget *m_autonumbering_dock; diff --git a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp index 0bc05792c..dd26eab6f 100644 --- a/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp +++ b/sources/qetgraphicsitem/ViewItem/qetgraphicstableitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "qetgraphicstableitem.h" +#include "../../shownkinds.h" #include "../../qetproject.h" #include "../../QPropertyUndoCommand/qpropertyundocommand.h" #include "../../cablelist/cablelistmodel.h" @@ -134,6 +135,7 @@ void QetGraphicsTableItem::checkInsufficientRowsCount( QetGraphicsTableItem::QetGraphicsTableItem(QGraphicsItem *parent) : QetGraphicsItem(parent) { + ShownKinds::tag(this, ShownKinds::Tables); setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsItem::ItemIsSelectable, true); setAcceptHoverEvents(true); diff --git a/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.ui b/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.ui index 3c9751697..5d07ce7a1 100644 --- a/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.ui +++ b/sources/qetgraphicsitem/ViewItem/ui/graphicstablepropertieseditor.ui @@ -62,8 +62,7 @@ - - :/ico/16x16/arrow-right.png:/ico/16x16/arrow-right.png + true @@ -178,8 +177,7 @@ - - :/ico/16x16/arrow-left.png:/ico/16x16/arrow-left.png + true diff --git a/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.ui b/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.ui index 649e756c7..2ae359594 100644 --- a/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.ui +++ b/sources/qetgraphicsitem/ViewItem/ui/projectdbmodelpropertieswidget.ui @@ -20,8 +20,7 @@ Requête - - :/ico/16x16/edit-rename.png:/ico/16x16/edit-rename.png + @@ -31,8 +30,7 @@ Recharger - - :/ico/16x16/view-refresh.png:/ico/16x16/view-refresh.png + diff --git a/sources/qetgraphicsitem/conductor.cpp b/sources/qetgraphicsitem/conductor.cpp index 59ffd4a83..660db28ef 100644 --- a/sources/qetgraphicsitem/conductor.cpp +++ b/sources/qetgraphicsitem/conductor.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "../qetgraphicsitem/conductor.h" +#include "../shownkinds.h" #include "../lastusedstyle.h" #include "../qetproject.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" @@ -1141,7 +1142,7 @@ bool Conductor::fromXml(QDomElement &dom_element) pr.fromXml(dom_element); //Load Sequential Values - if (dom_element.hasAttribute("sequ_1") || dom_element.hasAttribute("sequf_1") || dom_element.hasAttribute("seqt_1") || dom_element.hasAttribute("seqtf_1") || dom_element.hasAttribute("seqh_1") || dom_element.hasAttribute("sequf_1")) + if (dom_element.hasAttribute("sequ_1") || dom_element.hasAttribute("sequf_1") || dom_element.hasAttribute("seqt_1") || dom_element.hasAttribute("seqtf_1") || dom_element.hasAttribute("seqh_1") || dom_element.hasAttribute("seqhf_1")) ConductorXmlRetroCompatibility::loadSequential(dom_element, this); else m_autoNum_seq.fromXml(dom_element.firstChildElement("sequentialNumbers")); @@ -1389,6 +1390,46 @@ bool Conductor::moveSegment(int index, qreal dx, qreal dy) return true; } +/** + @brief Conductor::setPathPoints + Replace this conductor's path by the one through @p scene_points, and + push one undo step for it -- the same ChangeConductorCommand a manual + handle drag or moveSegment() pushes, so the path is saved as a + modified one and survives a reload. + @param scene_points in scene coordinates, from terminal1's docking + point to terminal2's, every segment horizontal or vertical + @return false, changing nothing, if the points do not make such a path +*/ +bool Conductor::setPathPoints(const QList &scene_points) +{ + if (scene_points.size() < 2 || !terminal1 || !terminal2) return false; + const auto isNear = [](const QPointF &a, const QPointF &b) { + return qAbs(a.x() - b.x()) < 0.5 && qAbs(a.y() - b.y()) < 0.5; + }; + if (!isNear(scene_points.first(), terminal1->dockConductor()) || + !isNear(scene_points.last(), terminal2->dockConductor())) + return false; + QList points; + for (int i = 0; i < scene_points.size(); ++i) { + const QPointF p = scene_points.at(i); + if (i && qAbs(p.x() - scene_points.at(i - 1).x()) > 0.01 + && qAbs(p.y() - scene_points.at(i - 1).y()) > 0.01) + return false; + points << mapFromScene(p); + } + // A two-point path has nothing to segment between: let the + // application draw it, as for a conductor with no profile. + if (points.size() < 3) return false; + + before_mov_text_pos_ = m_text_item->pos(); + pointsToSegments(points); + modified_path = true; + segmentsToPath(); + calculateTextItemPosition(); + saveProfile(); + return true; +} + /** @brief Conductor::length @return the length of this conductor @@ -1481,6 +1522,20 @@ QPointF Conductor::posForText(Qt::Orientations &flag) return p1; } +/** + @brief Conductor::updateTextVisibility + Show the text of this conductor if its properties ask for it and wire + numbers are not hidden (View > Show). With "one text per potential", + call calculateTextItemPosition() afterwards: it hides all texts of the + potential but the longest conductor's. +*/ +void Conductor::updateTextVisibility() +{ + ShownKinds::setVisible(m_text_item, + m_properties.type == ConductorProperties::Multi + && m_properties.m_show_text); +} + /** @brief Conductor::calculateTextItemPosition Move the text at middle of conductor (if is vertical or horizontal) @@ -1508,10 +1563,11 @@ void Conductor::calculateTextItemPosition() //At this point this conductor is the longest conductor we hide all text of conductor_list foreach (Conductor *c, relatedPotentialConductors(false)) { - c -> textItem() -> setVisible(false); + ShownKinds::setVisible(c -> textItem(), false); } - //Make sure text item is visible - m_text_item -> setVisible(true); + //Make sure text item is visible, unless wire numbers are hidden + //(View > Show) + ShownKinds::setVisible(m_text_item, true); } //position @@ -1766,11 +1822,7 @@ void Conductor::setProperties(const ConductorProperties &property) m_text_item->setFont(font); m_text_item->setColor(m_properties.text_color); - if (m_properties.type != ConductorProperties::Multi) - m_text_item->setVisible(false); - else - m_text_item->setVisible(m_properties.m_show_text); - + updateTextVisibility(); calculateTextItemPosition(); update(); @@ -2081,16 +2133,58 @@ QPainterPath Conductor::paintedPath() const } /** - @return la liste des positions des jonctions avec d'autres conducteurs + @return true if \a scene_point, where this conductor bends with + \a bend_type, lies on one of the segments of \a c and \a c does not + bend the same way at the same point. +*/ +bool Conductor::bendMakesJunction(const Conductor *c, const QPointF &scene_point, + Qt::Corner bend_type) const +{ + // exprime le point dans les coordonnees de l'autre conducteur + const QPointF conductor_point = c -> mapFromScene(scene_point); + bool on_conductor = false; + for (ConductorSegment *segment : c -> segmentsList()) + { + if (isContained(conductor_point, segment -> firstPoint(), segment -> secondPoint())) + { + on_conductor = true; + break; + } + } + if (!on_conductor) + return false; + + // ce point commun ne doit pas etre une bifurcation identique a celle-ci + for (const ConductorBend &cb : c -> bends()) + { + if (cb.first == conductor_point && cb.second == bend_type) + return false; + } + return true; +} + +/** + @return the positions, in this conductor's coordinates, of the junction + dots this conductor draws: each of its bends that lies on another + conductor of the same potential, unless that conductor bends the same + way at the same point. */ QList Conductor::junctions() const { QList junctions_list; - // pour qu'il y ait des jonctions, il doit y avoir d'autres conducteurs et des bifurcations - QList other_conductors = relatedConductors(this); QList bends_list = bends(); - if (other_conductors.isEmpty() || bends_list.isEmpty()) { + if (bends_list.isEmpty()) { + return(junctions_list); + } + + // Every conductor of the potential on this folio, not only those on + // this conductor's own terminals: a bend can lie on a conductor it + // shares no terminal with, e.g. when the horizontal parts of a chain + // of conductors are dragged over each other (issue #1280). + const QList other_conductors = + const_cast(this)->relatedPotentialConductors(false).values(); + if (other_conductors.isEmpty()) { return(junctions_list); } @@ -2113,37 +2207,18 @@ QList Conductor::junctions() const // si le point n'est pas une bifurcation, il ne peut etre une jonction (enfin pas au niveau de ce conducteur) if (!is_bend) continue; - bool is_junction = false; QPointF scene_point = mapToScene(point); - foreach(Conductor *c, other_conductors) + + bool is_junction = false; + for (Conductor *c : other_conductors) { - // exprime le point dans les coordonnees de l'autre conducteur - QPointF conductor_point = c -> mapFromScene(scene_point); - // recupere les segments de l'autre conducteur - QList c_segments = c -> segmentsList(); - if (c_segments.isEmpty()) - continue; - // parcoure les segments a la recherche d'un point commun - for (int j = 0 ; j < c_segments.count() ; ++ j) + if (bendMakesJunction(c, scene_point, current_bend_type)) { - ConductorSegment *segment = c_segments[j]; - // un point commun a ete trouve sur ce segment - if (isContained(conductor_point, segment -> firstPoint(), segment -> secondPoint())) - { - is_junction = true; - // ce point commun ne doit pas etre une bifurcation identique a celle-ci - QList other_conductor_bends = c -> bends(); - foreach(ConductorBend cb, other_conductor_bends) - { - if (cb.first == conductor_point && cb.second == current_bend_type) - { - is_junction = false; - } - } - } - if (is_junction) junctions_list << point; + is_junction = true; + break; } } + if (is_junction) junctions_list << point; } return(junctions_list); } @@ -2331,6 +2406,38 @@ QPointF Conductor::movePointIntoPolygon(const QPointF &point, const QPainterPath } } +namespace { + /// The two ends of @p conductor on the folio, smaller first, compared + /// by x then y. + QPair conductorEnds(const Conductor *conductor) + { + auto less = [](const QPointF &a, const QPointF &b) { + return a.x() < b.x() || (a.x() == b.x() && a.y() < b.y()); + }; + QPointF a = conductor->terminal1 ? conductor->terminal1->dockConductor() : QPointF(); + QPointF b = conductor->terminal2 ? conductor->terminal2->dockConductor() : QPointF(); + if (less(b, a)) + std::swap(a, b); + return qMakePair(a, b); + } + + /// True if @p a comes before @p b in an order that is the same in every + /// run: by where the conductor's ends are on the folio, then by uuid. + /// Not by uuid first: a project generated again by a script gets new + /// uuids each time, and a file with no conductor uuids gets new ones on + /// every load, while the drawing is the same. + bool stableConductorLess(const Conductor *a, const Conductor *b) + { + const auto ea = conductorEnds(a), eb = conductorEnds(b); + const qreal ka[4] = {ea.first.x(), ea.first.y(), ea.second.x(), ea.second.y()}; + const qreal kb[4] = {eb.first.x(), eb.first.y(), eb.second.x(), eb.second.y()}; + for (int i = 0; i < 4; ++i) + if (ka[i] != kb[i]) + return ka[i] < kb[i]; + return a->uuid() < b->uuid(); + } +} + /** @brief longestConductorInPotential @param conductor : a conductor in the potential to search @@ -2339,10 +2446,24 @@ QPointF Conductor::movePointIntoPolygon(const QPointF &point, const QPainterPath */ Conductor * longestConductorInPotential(Conductor *conductor, bool all_diagram) { Conductor *longest_conductor = conductor; - //Search the longest conductor + qreal longest_length = conductor->length(); + //Search the longest conductor. + //Conductors of equal length are common (a symmetrical layout), and the + //set is iterated in pointer order, which changes from run to run: so a + //tie is broken by an order that does not, or the potential's text lands + //on a different conductor each time the same file is opened or exported. foreach (Conductor *c, conductor -> relatedPotentialConductors(all_diagram)) - if (c -> length() > longest_conductor -> length()) + { + const qreal length = c->length(); + if (qAbs(length - longest_length) < 1e-6) { + if (stableConductorLess(c, longest_conductor)) + longest_conductor = c; + } + else if (length > longest_length) { longest_conductor = c; + longest_length = length; + } + } return longest_conductor; } diff --git a/sources/qetgraphicsitem/conductor.h b/sources/qetgraphicsitem/conductor.h index a13225239..5266e4a65 100644 --- a/sources/qetgraphicsitem/conductor.h +++ b/sources/qetgraphicsitem/conductor.h @@ -116,6 +116,7 @@ class Conductor : public QGraphicsObject QVector handlerPoints() const; const QList segmentsList() const; bool moveSegment(int index, qreal dx, qreal dy); + bool setPathPoints(const QList &scene_points); void setPropertyToPotential( const ConductorProperties &property, @@ -137,6 +138,7 @@ class Conductor : public QGraphicsObject void setProfiles(const ConductorProfilesGroup &); ConductorProfilesGroup profiles() const; void calculateTextItemPosition(); + void updateTextVisibility(); virtual Highlight highlight() const; virtual void setHighlighted(Highlight); QSet relatedPotentialConductors( @@ -244,6 +246,7 @@ class Conductor : public QGraphicsObject uint segmentsCount(QET::ConductorSegmentType = QET::Both) const; QList segmentsToPoints() const; QList bends() const; + bool bendMakesJunction(const Conductor *, const QPointF &, Qt::Corner) const; void pointsToSegments(const QList&); Qt::Corner currentPathType() const; diff --git a/sources/qetgraphicsitem/conductortextitem.cpp b/sources/qetgraphicsitem/conductortextitem.cpp index a3e3127f0..c5ee20845 100644 --- a/sources/qetgraphicsitem/conductortextitem.cpp +++ b/sources/qetgraphicsitem/conductortextitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "conductortextitem.h" +#include "../shownkinds.h" #include "../diagram.h" #include "../diagramcommands.h" @@ -31,6 +32,7 @@ ConductorTextItem::ConductorTextItem(Conductor *parent_conductor) : moved_by_user_(false), rotate_by_user_(false) { + ShownKinds::tag(this, ShownKinds::WireNumbers); setAcceptHoverEvents(true); } @@ -45,7 +47,9 @@ ConductorTextItem::ConductorTextItem( parent_conductor_(parent_conductor), moved_by_user_(false), rotate_by_user_(false) -{} +{ + ShownKinds::tag(this, ShownKinds::WireNumbers); +} /** Destructeur diff --git a/sources/qetgraphicsitem/crossrefitem.cpp b/sources/qetgraphicsitem/crossrefitem.cpp index 60b0f7ca9..88184f30d 100644 --- a/sources/qetgraphicsitem/crossrefitem.cpp +++ b/sources/qetgraphicsitem/crossrefitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "crossrefitem.h" +#include "../shownkinds.h" #include #include "../qetproject.h" @@ -36,6 +37,10 @@ static int header = 5; //define the minimal height of the cross (without header) static int cross_min_height = 33; +//margins added around the contacts by drawAsContacts() in the bounding +//rect of a cross displayed as a list of contacts. +static const qreal list_margin_left = 30; +static const qreal list_margin_right = 4; /** @brief CrossRefItem::CrossRefItem @@ -81,6 +86,7 @@ CrossRefItem::~CrossRefItem() */ void CrossRefItem::init() { + ShownKinds::tag(this, ShownKinds::CrossReferences); if(!m_element->diagram()) { qDebug() << "CrossRefItem constructor" << "element is not in a diagram"; @@ -115,8 +121,10 @@ void CrossRefItem::setUpConnection() set=true; else if(m_properties.snapTo() == XRefProperties::Bottom && !m_text && !m_group) //Snap to bottom of element and parent is the element itself { + m_update_connection << connect(m_element, &Element::xChanged, this, &CrossRefItem::autoPos); m_update_connection << connect(m_element, &Element::yChanged, this, &CrossRefItem::autoPos); m_update_connection << connect(m_element, &Element::rotationChanged, this, &CrossRefItem::autoPos); + m_update_connection << connect(m_element, &Element::mirrorChanged, this, &CrossRefItem::autoPos); set=true; } // For PLC masters, always set up connections for update notifications @@ -238,11 +246,13 @@ void CrossRefItem::updateProperties() if (m_properties != xrp) { m_properties = xrp; - hide(); + //Through ShownKinds: stays hidden while View > Show hides + //cross-references + ShownKinds::setVisible(this, false); if(m_properties.snapTo() == XRefProperties::Label && (m_text || m_group)) //Snap to label and parent is text or group - show(); + ShownKinds::setVisible(this, true); else if((m_properties.snapTo() == XRefProperties::Bottom && !m_text && !m_group)) //Snap to bottom of element is the parent - show(); + ShownKinds::setVisible(this, true); setUpConnection(); updateLabel(); @@ -259,6 +269,7 @@ void CrossRefItem::updateLabel() m_shape_path = QPainterPath(); prepareGeometryChange(); m_bounding_rect = QRectF(); + m_text_rects.clear(); // Build geometry and m_hovered_contacts_map using a QImage-backed // painter so font metrics match the screen painter in paint(). @@ -278,6 +289,7 @@ void CrossRefItem::updateLabel() QList positions = m_element->plcTablePositions(); QPointF pos = positions.isEmpty() ? QPointF(0, 0) : positions.first(); setPos(pos); + m_element->keepReadable(this); // Populate m_hovered_contacts_map using drawAsPlcTable on a // dummy painter (m_update_map=true). @@ -325,13 +337,101 @@ void CrossRefItem::autoPos() //We calculate the position according to the snapTo of the xrefproperties if (m_properties.snapTo() == XRefProperties::Bottom) - QGIUtility::centerToBottomDiagram(this, - m_element, - m_properties.offset() <= 40 - ? 5 - : m_properties.offset()); + stackAtBottom(); else QGIUtility::centerToParentBottom(this); + m_element->keepReadable(this); +} + +/** + @brief CrossRefItem::stackAtBottom + Places every cross reference of this folio that snaps to the bottom. + Each one is centred under its element at the bottom of the folio, and + when its texts would be drawn over the texts of another one, the one + of the higher element goes above the other: several coils in one + column get their crosses stacked in the same order as the coils, + instead of all on the same spot. Crosses that only touch, or overlap + without any text over text, stay where they are. + The types whose properties do not ask for stacking are only centred. +*/ +void CrossRefItem::stackAtBottom() +{ + Diagram *diagram = m_element->diagram(); + if (!diagram) return; + + QList xrefs; + for (QGraphicsItem *item : diagram->items()) { + if (item->type() != CrossRefItem::Type) continue; + auto xref = static_cast(item); + if (xref->m_properties.snapTo() == XRefProperties::Bottom + && !xref->m_text && !xref->m_group + && xref->m_element->elementData().m_master_type != ElementData::PLC) + xrefs << xref; + } + if (!xrefs.contains(this)) xrefs << this; + + // The lowest element first, so it keeps the bottom of the folio. + // Position, then uuid, so the order is the same on every load. + std::sort(xrefs.begin(), xrefs.end(), + [](const CrossRefItem *a, const CrossRefItem *b) { + const QPointF pa = a->m_element->sceneBoundingRect().center(); + const QPointF pb = b->m_element->sceneBoundingRect().center(); + if (pa.y() != pb.y()) return pa.y() > pb.y(); + if (pa.x() != pb.x()) return pa.x() < pb.x(); + return a->m_element->uuid() < b->m_element->uuid(); + }); + + struct Placed { QRectF rect; QList texts; }; + const qreal gap = 5; + QList placed; + for (CrossRefItem *xref : std::as_const(xrefs)) { + const qreal offset = xref->m_properties.offset(); + QGIUtility::centerToBottomDiagram(xref, xref->m_element, + offset <= 40 ? 5 : offset); + if (xref->boundingRect().isEmpty() + || !xref->m_properties.stackOverlapping()) + continue; + + Placed self; + self.rect = xref->sceneBoundingRect(); + const QTransform to_scene = xref->sceneTransform(); + for (const QRectF &text : std::as_const(xref->m_text_rects)) + self.texts << to_scene.mapRect(text); + const qreal bottom = self.rect.bottom(); + + // Move up past every cross already placed whose texts it would + // draw over. Each move goes strictly up, so this ends. + for (bool moved = true; moved; ) { + moved = false; + for (const Placed &other : std::as_const(placed)) { + const qreal dy = other.rect.top() - gap - self.rect.bottom(); + if (dy >= 0 || !textsOverlap(self.texts, other.texts)) + continue; + self.rect.translate(0, dy); + for (QRectF &text : self.texts) text.translate(0, dy); + moved = true; + } + } + //From pos(), not scenePos(): on a mirrored element scenePos() + //also holds the mirror that keeps the cross readable + if (self.rect.bottom() != bottom) + xref->setPos(xref->parentItem()->mapFromScene( + xref->parentItem()->mapToScene(xref->pos()) + + QPointF(0, self.rect.bottom() - bottom))); + placed << self; + } +} + +/** + @brief CrossRefItem::textsOverlap + @return true if one of the rects of a intersects one of the rects of b +*/ +bool CrossRefItem::textsOverlap(const QList &a, const QList &b) +{ + for (const QRectF &ra : a) + for (const QRectF &rb : b) + if (ra.intersects(rb)) return true; + return false; } /** @@ -528,7 +628,9 @@ void CrossRefItem::linkedChanged() m_slave_connection.clear(); - if(!isVisible()) + //Hidden only by View > Show: keep following the slaves, so the + //label is right when it is shown again + if(!isVisible() && !ShownKinds::isHidden(this)) return; for(Element *elmt : m_element->linkedElements()) @@ -901,7 +1003,7 @@ void CrossRefItem::drawAsContacts(QPainter &painter) drawLinkedSlaveContacts(painter, elmt)); } - bounding_rect.adjust(-30, -4, 4, 4); + bounding_rect.adjust(-list_margin_left, -4, list_margin_right, 4); prepareGeometryChange(); m_bounding_rect = bounding_rect; m_shape_path.addRect(bounding_rect); @@ -1079,9 +1181,9 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt, in painter.setFont(QETApp::diagramTextsFont(4)); QRectF bt(0, offset, 24, 10); if (terminal_names.size() >= 1) - painter.drawText(bt, Qt::AlignLeft|Qt::AlignTop, terminal_names[0]); + drawText(painter, bt, Qt::AlignLeft|Qt::AlignTop, terminal_names[0]); if (terminal_names.size() >= 2) - painter.drawText(bt, Qt::AlignRight|Qt::AlignTop, terminal_names[1]); + drawText(painter, bt, Qt::AlignRight|Qt::AlignTop, terminal_names[1]); painter.setFont(QETApp::diagramTextsFont(5)); } @@ -1164,7 +1266,7 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt, in QRectF text_rect = painter.boundingRect(QRectF(30, offset, 5, 10), Qt::AlignLeft | Qt::AlignVCenter, str); if (!str.isEmpty()) { - painter.drawText(text_rect, Qt::AlignLeft | Qt::AlignVCenter, str); + drawText(painter, text_rect, Qt::AlignLeft | Qt::AlignVCenter, str); bounding_rect = bounding_rect.united(text_rect); } @@ -1209,13 +1311,13 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt, in painter.setFont(QETApp::diagramTextsFont(4)); // Storage order set above: [0]=NC, [1]=NO, [2]=Common if (terminal_names.size() >= 2) - painter.drawText(QRectF(0, offset, 8, 8), + drawText(painter, QRectF(0, offset, 8, 8), Qt::AlignLeft|Qt::AlignTop, terminal_names[1]); // NO top-left if (terminal_names.size() >= 3) - painter.drawText(QRectF(16, offset+4, 8, 6), + drawText(painter, QRectF(16, offset+4, 8, 6), Qt::AlignRight|Qt::AlignTop, terminal_names[2]); // Common right if (terminal_names.size() >= 1) - painter.drawText(QRectF(0, offset+9, 8, 6), + drawText(painter, QRectF(0, offset+9, 8, 6), Qt::AlignLeft|Qt::AlignTop, terminal_names[0]); // NC bottom-left painter.setFont(QETApp::diagramTextsFont(5)); } @@ -1248,7 +1350,7 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt, in str); if (!str.isEmpty()) { - painter.drawText(text_rect, + drawText(painter, text_rect, Qt::AlignLeft | Qt::AlignVCenter, str); bounding_rect = bounding_rect.united(text_rect); @@ -1284,7 +1386,7 @@ QRectF CrossRefItem::drawContact(QPainter &painter, int flags, Element *elmt, in str); if (!str.isEmpty()) { - painter.drawText(text_rect, + drawText(painter, text_rect, Qt::AlignLeft | Qt::AlignVCenter, str); bounding_rect = bounding_rect.united(text_rect); @@ -1377,7 +1479,7 @@ void CrossRefItem::fillCrossRef(QPainter &painter) QSize(middle_cross, 1)), Qt::AlignLeft, str); - painter.drawText(bounding, Qt::AlignLeft, str); + drawText(painter, bounding, Qt::AlignLeft, str); if (m_update_map) { QString pos_str = elementPositionText(elmt, true); @@ -1457,7 +1559,7 @@ void CrossRefItem::fillCrossRef(QPainter &painter) QSize(middle_cross, 1)), Qt::AlignRight, str); - painter.drawText(bounding, Qt::AlignRight, str); + drawText(painter, bounding, Qt::AlignRight, str); if (m_update_map) { QString pos_str = elementPositionText(elmt, true); @@ -1505,7 +1607,7 @@ void CrossRefItem::AddExtraInfo(QPainter &painter, const QString& type) r, Qt::TextWordWrap | Qt::AlignHCenter, text); - painter.drawText(text_bounding, + drawText(painter, text_bounding, Qt::TextWordWrap | Qt::AlignHCenter, text); @@ -1521,6 +1623,21 @@ void CrossRefItem::AddExtraInfo(QPainter &painter, const QString& type) } } +/** + @brief CrossRefItem::drawText + Draws text in rect with painter, like QPainter::drawText. While the + geometry is built (m_update_map), also stores the rect really covered + by the text, so stackAtBottom() can tell texts drawn over each other. +*/ +void CrossRefItem::drawText(QPainter &painter, const QRectF &rect, + int flags, const QString &text) +{ + QRectF drawn; + painter.drawText(rect, flags, text, &drawn); + if (m_update_map && !text.isEmpty()) + m_text_rects << painter.transform().mapRect(drawn); +} + /** @brief CrossRefItem::NOElements @return The linked elements of m_element which are open or switch contact. diff --git a/sources/qetgraphicsitem/crossrefitem.h b/sources/qetgraphicsitem/crossrefitem.h index bff9c13e8..a16167d83 100644 --- a/sources/qetgraphicsitem/crossrefitem.h +++ b/sources/qetgraphicsitem/crossrefitem.h @@ -58,6 +58,9 @@ class CrossRefItem : public QGraphicsObject private: void init(); void setUpConnection(); + void stackAtBottom(); + static bool textsOverlap(const QList &a, + const QList &b); public: enum { Type = UserType + 1009 }; @@ -137,6 +140,8 @@ class CrossRefItem : public QGraphicsObject const QStringList &master_labels = QStringList()); void fillCrossRef(QPainter &painter); void AddExtraInfo(QPainter &painter, const QString&); + void drawText(QPainter &painter, const QRectF &rect, int flags, + const QString &text); QList NOElements() const; QList NCElements() const; @@ -149,6 +154,7 @@ class CrossRefItem : public QGraphicsObject int m_drawed_contacts; bool m_update_map = false; QMultiMap m_hovered_contacts_map; + QList m_text_rects; //rects of the drawn texts (local coords) Element *m_hovered_contact = nullptr; DynamicElementTextItem *m_text = nullptr; ElementTextItemGroup *m_group = nullptr; diff --git a/sources/qetgraphicsitem/diagramimageitem.cpp b/sources/qetgraphicsitem/diagramimageitem.cpp index ade3d987c..da8931748 100644 --- a/sources/qetgraphicsitem/diagramimageitem.cpp +++ b/sources/qetgraphicsitem/diagramimageitem.cpp @@ -16,6 +16,8 @@ along with QElectroTech. If not, see . */ #include "diagramimageitem.h" +#include "../darkimagerendering.h" +#include "../shownkinds.h" #include "../PropertiesEditor/propertieseditordialog.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" @@ -50,6 +52,7 @@ DiagramImageItem::DiagramImageItem(QetGraphicsItem *parent_item): QetGraphicsItem(parent_item) { + ShownKinds::tag(this, ShownKinds::Pictures); setFlags(QGraphicsItem::ItemIsSelectable|QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemSendsGeometryChanges); setAcceptHoverEvents(true); } @@ -66,6 +69,7 @@ DiagramImageItem::DiagramImageItem(const QPixmap &pixmap, QetGraphicsItem *paren m_base_pixmap(pixmap), m_crop_rect(pixmap.rect()) { + ShownKinds::tag(this, ShownKinds::Pictures); // m_transform.toMatrix(), not QGraphicsItem::setRotation()/setScale(): // those are a single uniform scale() float, which is exactly why an // image could never break its own aspect ratio before this class @@ -94,7 +98,7 @@ DiagramImageItem::~DiagramImageItem() @param widget the QWidget where we draw the pixmap */ void DiagramImageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { - painter -> drawPixmap(pixmap_.rect(),pixmap_); + DarkImageRendering::paintPixmap(painter, pixmap_, m_adapt_to_dark_theme); Q_UNUSED(option); Q_UNUSED(widget); @@ -152,6 +156,14 @@ void DiagramImageItem::setLabel(const QString &label) emit labelChanged(); } +void DiagramImageItem::setAdaptToDarkTheme(bool adapt) +{ + if (m_adapt_to_dark_theme == adapt) return; + m_adapt_to_dark_theme = adapt; + update(); + emit adaptToDarkThemeChanged(); +} + /** @brief DiagramImageItem::editProperty Open the appropriate dialog to edit this image @@ -191,6 +203,32 @@ void DiagramImageItem::setPixmap(const QPixmap &pixmap) { emit pixmapChanged(); } +/** + @brief DiagramImageItem::setImageSource + Set the picture's source -- original, crop rectangle and transparent + colours -- and show the picture computed from it. The displayed + pixmap is never set on its own by an edit: an action that changed + one and not the other would be undone half-way. +*/ +void DiagramImageItem::setImageSource(const ImageSource &source) +{ + m_base_pixmap = source.base; + m_crop_rect = source.crop; + m_transparent_colors = source.colors; + setPixmap(computeDisplayPixmap(m_base_pixmap, m_crop_rect, m_transparent_colors)); +} + +QVariant DiagramImageItem::imageSourceVariant() const +{ + return QVariant::fromValue(imageSource()); +} + +void DiagramImageItem::setImageSourceVariant(const QVariant &source) +{ + if (source.canConvert()) + setImageSource(source.value()); +} + /** @brief DiagramImageItem::setScaleFactorX / setScaleFactorY / setRotationAngle Matching QetShapeItem's own setters for the identical fields -- @@ -767,6 +805,7 @@ void DiagramImageItem::handlerMousePressEvent(int index, Qt::KeyboardModifiers m m_vector_index = index; m_original_pos = pos(); m_original_transform = m_transform; + m_original_pivotIsCustom = m_pivotIsCustom; if (m_handleRoles.at(index) == HandleRole::Resize) { @@ -883,7 +922,12 @@ void DiagramImageItem::handlerMouseReleaseEvent(int index) undo = new QUndoCommand(tr("Déplacer le centre de rotation d'une image")); new QPropertyUndoCommand(this, "pos", m_original_pos, pos(), undo); new QPropertyUndoCommand(this, "rawPivot", m_original_transform.pivot, m_transform.pivot, undo); + // dragPivot() marked the pivot as hand-placed; undoing + // the move has to take that back as well. + new QPropertyUndoCommand(this, "pivotIsCustom", m_original_pivotIsCustom, m_pivotIsCustom, undo); } + else + m_pivotIsCustom = m_original_pivotIsCustom; // dragged back to where it was: nothing to undo break; } @@ -1452,6 +1496,7 @@ bool DiagramImageItem::fromXml(const QDomElement &e) if (e.tagName() != "image") { return (false); } + setAdaptToDarkTheme(e.attribute("adapt_to_dark_theme", "false") == "true"); const QUuid uuid(e.attribute(QStringLiteral("uuid"))); if (!uuid.isNull() && uuid != m_uuid) setUuid(uuid); @@ -1550,6 +1595,18 @@ bool DiagramImageItem::fromXml(const QDomElement &e) m_crop_rect = m_crop_rect.intersected(m_base_pixmap.rect()); if (m_crop_rect.isEmpty()) m_crop_rect = m_base_pixmap.rect(); + + // The picture shown is always exactly the crop's size. When it is + // not, the crop is stale: older versions saved it after the crop + // was undone (fixed in #1310), with the uncropped picture shown. + // The next edit would apply that crop again, and undoing the edit + // would show the cropped picture. Keep what was shown instead. + if (hasCrop && pixmap.size() != m_crop_rect.size()) + { + if (pixmap.size() != m_base_pixmap.size()) + m_base_pixmap = pixmap; + m_crop_rect = m_base_pixmap.rect(); + } } // Baseline: the plain "rotation"/"size" attributes, understood by @@ -1596,6 +1653,7 @@ QDomElement DiagramImageItem::toXml(QDomDocument &document) const { QDomElement result = document.createElement("image"); result.setAttribute("uuid", m_uuid.toString()); + if (m_adapt_to_dark_theme) result.setAttribute("adapt_to_dark_theme", "true"); //write some attribute result.setAttribute("x", QString::number(pos().x())); result.setAttribute("y", QString::number(pos().y())); @@ -1803,7 +1861,6 @@ void DiagramImageItem::replaceImage() return; } - const QPixmap oldPixmap = pixmap_; const QPixmap newPixmap = QPixmap::fromImage(image); // A wholesale replacement, not an edit of the existing image -- the @@ -1811,22 +1868,10 @@ void DiagramImageItem::replaceImage() // or region was cropped for the old one, so this starts that // memory fresh rather than carrying over choices that would no // longer make sense. - m_base_pixmap = newPixmap; - m_crop_rect = newPixmap.rect(); - m_transparent_colors.clear(); + const ImageSource oldSource = imageSource(); + const ImageSource newSource{newPixmap, newPixmap.rect(), {}}; - auto *undo = new QPropertyUndoCommand(this, "pixmap", oldPixmap, newPixmap); - undo->setText(tr("Remplacer une image")); - // Every call here is a separate, deliberate menu action with no - // compound child of its own (unlike crop(), which always chains a - // pos/rawPivot change and is naturally immune) -- two of them in a - // row would carry the exact same object, property, and text, which - // is indistinguishable from a legitimate merge to - // QPropertyUndoCommand::mergeWith(). A dummy child (already treated - // as "never merge" by that check) keeps each one its own, separate - // undo step regardless. - new QUndoCommand(undo); - diagram()->undoStack().push(undo); + pushImageSourceChange(tr("Remplacer une image"), oldSource, newSource); } /** @@ -1842,16 +1887,16 @@ void DiagramImageItem::mirror(bool horizontal) if (!diagram() || diagram()->isReadOnly()) return; - const QPixmap oldPixmap = pixmap_; const QTransform flip = horizontal ? QTransform(-1, 0, 0, 1, 0, 0) : QTransform(1, 0, 0, -1, 0, 0); - const QPixmap newPixmap = pixmap_.transformed(flip); - // The base is flipped the same way, to stay in sync with pixmap_ -- - // but the picked-colours list itself is left untouched: the actual - // colour values don't change when the image is mirrored, only their + // The base is flipped; the displayed pixmap follows from it. The + // picked-colours list itself is left untouched: the actual colour + // values don't change when the image is mirrored, only their // positions, so whatever was already keyed transparent should stay // remembered and still apply correctly to the flipped version. - m_base_pixmap = m_base_pixmap.transformed(flip); + const ImageSource oldSource = imageSource(); + ImageSource newSource = oldSource; + newSource.base = m_base_pixmap.transformed(flip); // m_crop_rect, unlike the colour list, DOES need to change: it's // defined in terms of positions within the base, and those @@ -1861,36 +1906,16 @@ void DiagramImageItem::mirror(bool horizontal) // whether this reads m_base_pixmap's size from before or after the // assignment above). if (horizontal) - m_crop_rect = QRect(m_base_pixmap.width() - m_crop_rect.left() - m_crop_rect.width(), + newSource.crop = QRect(m_base_pixmap.width() - m_crop_rect.left() - m_crop_rect.width(), m_crop_rect.top(), m_crop_rect.width(), m_crop_rect.height()); else - m_crop_rect = QRect(m_crop_rect.left(), m_base_pixmap.height() - m_crop_rect.top() - m_crop_rect.height(), + newSource.crop = QRect(m_crop_rect.left(), m_base_pixmap.height() - m_crop_rect.top() - m_crop_rect.height(), m_crop_rect.width(), m_crop_rect.height()); - auto *undo = new QPropertyUndoCommand(this, "pixmap", oldPixmap, newPixmap); - undo->setText(horizontal ? tr("Miroir horizontal d'une image") : tr("Miroir vertical d'une image")); - // See replaceImage()'s identical comment: a separate, deliberate - // action with no compound child of its own, so a dummy one is - // needed to stop two consecutive same-direction mirrors (identical - // object, property, and text) from silently merging into one. - new QUndoCommand(undo); - diagram()->undoStack().push(undo); + pushImageSourceChange(horizontal ? tr("Miroir horizontal d'une image") : tr("Miroir vertical d'une image"), + oldSource, newSource); } -/** - @brief DiagramImageItem::setTransparentColor - Context-menu action: opens ImageTransparentColorDialog against - m_base_pixmap (the pristine source), pre-populated with whatever - colours and tolerance were remembered from a previous session -- - both problems fixed together, since they had the same root cause: - passing pixmap_ (the already colour-keyed result) as if it were the - source, with nowhere to remember which colours produced it. Applies - the result the same way replaceImage() and mirror() do, through the - "pixmap" property, so undo/redo stays consistent across all three; - m_base_pixmap itself is deliberately left untouched here, since this - action only ever changes which colours are keyed out of it, not the - source those colours are keyed out of. -*/ /** @brief DiagramImageItem::setTransparentColor Context-menu action: opens ImageTransparentColorDialog against the @@ -1898,12 +1923,12 @@ void DiagramImageItem::mirror(bool horizontal) uncropped original -- picking a colour from a region that's already been permanently cropped away would be picking a colour that isn't even part of the image anymore. Pre-populated with whatever colours - and tolerance were remembered from a previous session. Applies the - result the same way replaceImage() and mirror() do, through the - "pixmap" property, so undo/redo stays consistent across all three; - m_base_pixmap and m_crop_rect are deliberately left untouched here, - since this action only ever changes which colours are keyed out, - never the source region they're keyed out of. + and tolerance were remembered from a previous session. Only the + colour list changes; m_base_pixmap and m_crop_rect are deliberately + left untouched here, since this action only ever changes which + colours are keyed out, never the source region they're keyed out of. + The displayed pixmap is computed from the new list by + setImageSource(), with the same colour keying the dialog previewed. */ void DiagramImageItem::setTransparentColor() { @@ -1916,41 +1941,31 @@ void DiagramImageItem::setTransparentColor() if (dialog.exec() != QDialog::Accepted) return; - m_transparent_colors = dialog.pickedColors(); + const ImageSource oldSource = imageSource(); + ImageSource newSource = oldSource; + newSource.colors = dialog.pickedColors(); - const QPixmap oldPixmap = pixmap_; - const QPixmap newPixmap = dialog.resultPixmap(); - - auto *undo = new QPropertyUndoCommand(this, "pixmap", oldPixmap, newPixmap); - undo->setText(tr("Définir une couleur transparente")); - // See replaceImage()'s identical comment: a separate, deliberate - // action with no compound child of its own, so a dummy one is - // needed to stop two consecutive transparency edits (identical - // object, property, and text) from silently merging into one. - new QUndoCommand(undo); - diagram()->undoStack().push(undo); + pushImageSourceChange(tr("Définir une couleur transparente"), oldSource, newSource); } /** - @brief DiagramImageItem::crop - Context-menu action: opens ImageCropDialog against pixmap_ (the - current, already colour-keyed display, so cropping is WYSIWYG - against whatever is actually visible), then applies the chosen - rectangle to both pixmap_ and m_base_pixmap together -- kept in - sync the same way mirror() keeps them in sync, since cropping is a - permanent, geometric change to the image's own content, unlike - setTransparentColor()'s non-destructive colour keying. - - pos() also needs adjusting, not just pixmap_: setPixmap() (called - via the "pixmap" undo command below) recomputes - transformOriginPoint() from the new, smaller boundingRect(), but - pos() itself is untouched by that -- without fixing it up here too, - the surviving content would visually jump to wherever local (0,0) - happens to land after shrinking, rather than staying exactly where - it already was. Chained into one undo step together with the pixmap - change, since undoing a crop has to restore both, or the restored - (larger) image ends up in the wrong place. + @brief DiagramImageItem::pushImageSourceChange + One undo step, named @a text, that takes the picture from + @a oldSource to @a newSource. A plain QUndoCommand holds the property + change so that two identical actions in a row (two horizontal + mirrors, say) stay two steps: QPropertyUndoCommand::mergeWith() would + merge them, and that is right for a slider's ticks, not for two + separate menu actions. */ +void DiagramImageItem::pushImageSourceChange(const QString &text, const ImageSource &oldSource, + const ImageSource &newSource) +{ + auto *undo = new QUndoCommand(text); + new QPropertyUndoCommand(this, "imageSource", QVariant::fromValue(oldSource), + QVariant::fromValue(newSource), undo); + diagram()->undoStack().push(undo); +} + /** @brief DiagramImageItem::crop Context-menu action: opens ImageCropDialog against m_base_pixmap @@ -1959,27 +1974,7 @@ void DiagramImageItem::setTransparentColor() destructive: nothing about the original content is ever discarded, only which region of it is currently being shown, exactly the same principle setTransparentColor() already follows for its own choices. - Recomputes pixmap_ via computeDisplayPixmap() so any already-picked - transparent colours are correctly re-applied to the newly-cropped - region, rather than lost (the crop dialog itself knows nothing - about them). - - pos() also needs adjusting, not just pixmap_: setPixmap() (called - via the "pixmap" undo command below) recomputes - transformOriginPoint() from the new boundingRect(), but pos() itself - is untouched by that -- without fixing it up here too, the - surviving content would visually jump to wherever local (0,0) ends - up after the crop rect changes, rather than staying exactly where - it already was. This has to work whether this is the first crop - ever applied or an adjustment of an existing one, so the position - math is always done relative to the CURRENT crop rect (m_crop_rect, - before it's updated below) -- when there's no previous crop, that's - simply the whole base, which is what the very first version of this - method assumed unconditionally. - - Chained into one undo step together with the pixmap change, since - undoing a crop has to restore both, or the restored (larger) image - ends up in the wrong place. + The crop itself is done by applyCrop(). */ void DiagramImageItem::crop() { @@ -1991,9 +1986,40 @@ void DiagramImageItem::crop() if (dialog.exec() != QDialog::Accepted) return; - const QRect newCropRect = dialog.cropRect(); + applyCrop(dialog.cropRect()); +} + +/** + @brief DiagramImageItem::applyCrop + Show @a cropRect of the original (in the original's own pixels), + keeping the centre of the kept region where it is on the folio. + setImageSource() recomputes pixmap_ so any already-picked + transparent colours are correctly re-applied to the newly-cropped + region, rather than lost. + + pos() also needs adjusting, not just pixmap_: the new pixmap has a + new boundingRect(), but pos() itself + is untouched by that -- without fixing it up here too, the + surviving content would visually jump to wherever local (0,0) ends + up after the crop rect changes, rather than staying exactly where + it already was. This has to work whether this is the first crop + ever applied or an adjustment of an existing one, so the position + math is always done relative to the CURRENT crop rect (m_crop_rect, + before it's updated below) -- when there's no previous crop, that's + simply the whole base. + + One undo step, which restores the pixmap, the position, the pivot + (and whether it was hand-placed) and the crop rectangle together. + @return false if nothing was cropped: read-only folio, or a + rectangle that is empty, outside the original, or the current one. +*/ +bool DiagramImageItem::applyCrop(const QRect &cropRect) +{ + if (!diagram() || diagram()->isReadOnly()) + return false; + const QRect newCropRect = cropRect.intersected(m_base_pixmap.rect()); if (newCropRect.isEmpty() || newCropRect == m_crop_rect) - return; // nothing actually changed + return false; // nothing actually changed // newCropRect is in m_base_pixmap's own coordinates; converting its // center into the CURRENT local space (pixmap_'s own coordinates, @@ -2004,26 +2030,30 @@ void DiagramImageItem::crop() const QPointF cropCenterScene = mapToScene(newCropCenterInCurrentLocal); const QPointF oldPos = pos(); - const QPixmap oldPixmap = pixmap_; - const QPixmap newPixmap = computeDisplayPixmap(m_base_pixmap, newCropRect, m_transparent_colors); - m_crop_rect = newCropRect; + const ImageSource oldSource = imageSource(); + ImageSource newSource = oldSource; + newSource.crop = newCropRect; - // boundingRect() is exactly QRectF(pixmap_.rect()) (confirmed by - // reading the actual implementation, not assumed) -- so the new - // origin point can be derived directly from newPixmap here. Unlike - // before this class gained a proper transform, setPixmap() no - // longer manages the pivot automatically at all (see its own - // comment for why) -- crop() now has to set it explicitly itself, - // chained into the same undo step as the pixmap and position + // The new pixmap is the kept region, so its rectangle is known + // before it is computed: imageRect() will be newCropRect's size at + // (0,0). Unlike before this class gained a proper transform, + // setPixmap() no longer manages the pivot automatically at all (see + // its own comment for why) -- the crop has to set it explicitly + // itself, chained into the same undo step as the source and position // changes, since all three genuinely change together here. const QPointF oldPivot = m_transform.pivot; - const QPointF newOriginPoint = QRectF(newPixmap.rect()).center(); + const QPointF newOriginPoint = QRectF(QPointF(), QSizeF(newCropRect.size())).center(); const QPointF newPos = cropCenterScene - newOriginPoint; - auto *undo = new QPropertyUndoCommand(this, "pixmap", oldPixmap, newPixmap); - undo->setText(tr("Rogner une image")); + auto *undo = new QUndoCommand(tr("Rogner une image")); + new QPropertyUndoCommand(this, "imageSource", QVariant::fromValue(oldSource), + QVariant::fromValue(newSource), undo); new QPropertyUndoCommand(this, "pos", oldPos, newPos, undo); new QPropertyUndoCommand(this, "rawPivot", oldPivot, newOriginPoint, undo); - m_pivotIsCustom = false; + // The pivot goes to the centre of the kept region, so it is no longer + // hand-placed -- until the crop is undone, which brings the old pivot + // back and must bring its flag back with it. + new QPropertyUndoCommand(this, "pivotIsCustom", m_pivotIsCustom, false, undo); diagram()->undoStack().push(undo); + return true; } diff --git a/sources/qetgraphicsitem/diagramimageitem.h b/sources/qetgraphicsitem/diagramimageitem.h index 570d06770..820c9fd5c 100644 --- a/sources/qetgraphicsitem/diagramimageitem.h +++ b/sources/qetgraphicsitem/diagramimageitem.h @@ -49,6 +49,12 @@ class DiagramImageItem : public QetGraphicsItem { Q_PROPERTY(qreal skewY READ skewY WRITE setSkewY NOTIFY transformChanged) Q_PROPERTY(QPointF pivot READ pivot WRITE setPivot NOTIFY transformChanged) Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged) + // The picture's source -- original, crop rectangle, transparent + // colours -- as one value. The displayed pixmap is computed from it, + // so every edit of it (crop, colour key, mirror, replace) is one + // undo step on this property alone. + Q_PROPERTY(QVariant imageSource READ imageSourceVariant WRITE setImageSourceVariant) + Q_PROPERTY(bool adaptToDarkTheme READ adaptToDarkTheme WRITE setAdaptToDarkTheme NOTIFY adaptToDarkThemeChanged) // A second, deliberately non-compensating property on the SAME // underlying value -- setPivot() (above) intentionally adjusts // pos() to keep the image visually in place, which is exactly @@ -59,12 +65,29 @@ class DiagramImageItem : public QetGraphicsItem { // would silently overwrite that already-correct pos() a second // time. rawPivot exists solely for that one caller. Q_PROPERTY(QPointF rawPivot READ pivot WRITE setPivotRaw NOTIFY transformChanged) + // Whether the pivot was placed by hand: a hand-placed pivot is saved + // and kept through a resize. Changes in the same undo step as the + // pivot itself, so that Ctrl+Z restores both. + Q_PROPERTY(bool pivotIsCustom READ pivotIsCustom WRITE setPivotIsCustom) // constructors, destructor public: DiagramImageItem(QetGraphicsItem * = nullptr); DiagramImageItem(const QPixmap &pixmap, QetGraphicsItem * = nullptr); ~DiagramImageItem() override; + + struct ImageSource + { + QPixmap base; + QRect crop; + QList colors; + }; + ImageSource imageSource() const { return {m_base_pixmap, m_crop_rect, m_transparent_colors}; } + void setImageSource(const ImageSource &source); + QVariant imageSourceVariant() const; + void setImageSourceVariant(const QVariant &source); + QRect cropRect() const { return m_crop_rect; } + bool applyCrop(const QRect &cropRect); // attributes public: @@ -101,6 +124,8 @@ class DiagramImageItem : public QetGraphicsItem { void editProperty() override; void setPixmap(const QPixmap &pixmap); QPixmap pixmap() const { return pixmap_; } + bool pivotIsCustom() const { return m_pivotIsCustom; } + void setPivotIsCustom(bool custom) { m_pivotIsCustom = custom; } QRectF boundingRect() const override; QString name() const override; @@ -132,12 +157,15 @@ class DiagramImageItem : public QetGraphicsItem { void setPivotRaw(const QPointF &pivot); QString label() const { return m_label; } void setLabel(const QString &label); + bool adaptToDarkTheme() const { return m_adapt_to_dark_theme; } + void setAdaptToDarkTheme(bool adapt); signals: void pixmapChanged(); void transformChanged(); void uuidChanged(); void labelChanged(); + void adaptToDarkThemeChanged(); protected: void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) override; @@ -153,6 +181,7 @@ class DiagramImageItem : public QetGraphicsItem { void mirror(bool horizontal); void setTransparentColor(); void crop(); + void pushImageSourceChange(const QString &text, const ImageSource &oldSource, const ImageSource &newSource); void restoreAspectRatio(); void saveImageAs(); void saveOriginalImageAs(); @@ -236,14 +265,18 @@ class DiagramImageItem : public QetGraphicsItem { int m_vector_index = -1; QPointF m_original_pos; // scene position at the start of a resize/rotate/pivot drag, for Escape-to-cancel ShapeTransform m_original_transform; + bool m_original_pivotIsCustom = false; bool m_deferHandleReposition = false; // see setPivot()'s comment // Optional caption drawn centred under the picture (issue #349). // Empty by default, and then neither saved nor painted, so a picture // without one costs exactly what it did before. QString m_label; + bool m_adapt_to_dark_theme = false; QFont m_label_font; QSizeF m_label_size; // in scene units, measured once in setLabel() QPointF m_label_scale{1.0, 1.0}; // scale the label rect was last computed for -- see updateLabelScale() bool m_resizeCenterAnchored = false; // decided once, at press time -- see handlerMousePressEvent()'s comment for why, mirroring the identical fix already made for shape creation }; +Q_DECLARE_METATYPE(DiagramImageItem::ImageSource) + #endif diff --git a/sources/qetgraphicsitem/diagramtextitem.cpp b/sources/qetgraphicsitem/diagramtextitem.cpp index c94695926..08fdfafb8 100644 --- a/sources/qetgraphicsitem/diagramtextitem.cpp +++ b/sources/qetgraphicsitem/diagramtextitem.cpp @@ -22,6 +22,8 @@ #include "../qetapp.h" #include "../richtext/richtexteditor_p.h" #include "../textanchor.h" +#include "../utils/qetutils.h" +#include "../QetGraphicsItemModeler/textresizehandles.h" /** @brief DiagramTextItem::DiagramTextItem @@ -269,7 +271,9 @@ void DiagramTextItem::setHtml(const QString &text) block = block.next(); } - if (m_non_left_alignment) { + //Room for centred or right-aligned lines, unless the user has + //given this text a width of its own + if (m_non_left_alignment && !hasUserTextWidth()) { document()->setTextWidth(document()->idealWidth() + 40.0); } } @@ -333,6 +337,7 @@ void DiagramTextItem::focusInEvent(QFocusEvent *event) m_previous_html_text = toHtml(); m_previous_text = toPlainText(); + refreshTextResizeHandles(); } /** @@ -355,6 +360,89 @@ void DiagramTextItem::focusOutEvent(QFocusEvent *event) setFlag(QGraphicsItem::ItemIsMovable, true); setFlag(QGraphicsTextItem::ItemIsFocusable, false); + refreshTextResizeHandles(); +} + +/** + @brief DiagramTextItem::itemChange + Show or hide the resize handles with the selection and the scene. + @param change + @param value + @return +*/ +QVariant DiagramTextItem::itemChange(GraphicsItemChange change, const QVariant &value) +{ + //Also when the text comes back to a scene: Qt keeps it selected + //across removeItem()/addItem() (undoing a delete) and sends no + //selection change, and its handles were removed with the scene. + if (change == QGraphicsItem::ItemSelectedHasChanged + || change == QGraphicsItem::ItemSceneHasChanged) + refreshTextResizeHandles(); + + return QGraphicsTextItem::itemChange(change, value); +} + +/** + @brief DiagramTextItem::textResizeHandlesWanted + @return true when the corner handles to change the width of this text + should be shown. A text without a "textWidth" property never has them. +*/ +bool DiagramTextItem::textResizeHandlesWanted() const +{ + return false; +} + +/** + @brief DiagramTextItem::isEditing + @return true while the text itself is being typed in +*/ +bool DiagramTextItem::isEditing() const +{ + return textInteractionFlags() & Qt::TextEditable; +} + +/** + @brief DiagramTextItem::refreshTextResizeHandles + Create or remove the corner handles to change the width of this text, + according to textResizeHandlesWanted(). + Called from itemChange() and when the edition starts or ends, not from + paint(): moving items from paint() left fragments behind + (qelectrotech#1002). +*/ +void DiagramTextItem::refreshTextResizeHandles() +{ + const bool wanted = scene() && textResizeHandlesWanted(); + if (wanted && !m_resize_handles) + { + m_resize_handles = new TextResizeHandles(this, QETUtils::graphicsHandlerSize(this)); + connect(m_resize_handles, &TextResizeHandles::resizeFinished, + this, &DiagramTextItem::pushResizeCommand); + } + else if (!wanted && m_resize_handles) { + removeTextResizeHandles(); + } +} + +/** + @brief DiagramTextItem::removeTextResizeHandles +*/ +void DiagramTextItem::removeTextResizeHandles() +{ + delete m_resize_handles; + m_resize_handles = nullptr; +} + +/** + @brief DiagramTextItem::pushResizeCommand + Make the width change done with the resize handles undoable. The change + is already applied, live during the drag. +*/ +void DiagramTextItem::pushResizeCommand(qreal old_width, qreal new_width, + QPointF old_pos, QPointF new_pos) +{ + if (Diagram *diagram_ = diagram()) + diagram_->undoStack().push(new TextResizeCommand(this, old_width, new_width, + old_pos, new_pos)); } /** diff --git a/sources/qetgraphicsitem/diagramtextitem.h b/sources/qetgraphicsitem/diagramtextitem.h index e0c807cca..3a5d5ca4d 100644 --- a/sources/qetgraphicsitem/diagramtextitem.h +++ b/sources/qetgraphicsitem/diagramtextitem.h @@ -24,6 +24,7 @@ class Diagram; class QDomElement; class QDomDocument; +class TextResizeHandles; /** This class represents a selectable, movable and editable text field on a @@ -91,11 +92,15 @@ class DiagramTextItem : public QGraphicsTextItem bool isHtml() const; protected: + void refreshTextResizeHandles(); + TextResizeHandles *textResizeHandles() const {return m_resize_handles;} + void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *) override; void focusInEvent(QFocusEvent *) override; void focusOutEvent(QFocusEvent *) override; + QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; void mouseDoubleClickEvent (QGraphicsSceneMouseEvent *event) override; void mousePressEvent (QGraphicsSceneMouseEvent *event) override; @@ -110,6 +115,11 @@ class DiagramTextItem : public QGraphicsTextItem void prepareAlignment(); void finishAlignment(); + virtual bool textResizeHandlesWanted() const; + virtual bool hasUserTextWidth() const {return false;} + bool isEditing() const; + void removeTextResizeHandles(); + protected: bool @@ -126,7 +136,11 @@ class DiagramTextItem : public QGraphicsTextItem QPointF m_mouse_to_origin_movement; private: + void pushResizeCommand(qreal old_width, qreal new_width, + QPointF old_pos, QPointF new_pos); + QRectF m_alignment_rect; + TextResizeHandles *m_resize_handles = nullptr; Qt::Alignment m_alignment = (Qt::AlignTop | Qt::AlignLeft); }; #endif diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.cpp b/sources/qetgraphicsitem/dynamicelementtextitem.cpp index 5c5578ed9..754f465df 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.cpp +++ b/sources/qetgraphicsitem/dynamicelementtextitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "dynamicelementtextitem.h" +#include "../shownkinds.h" #include "../qetproject.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" #include "../diagram.h" @@ -34,6 +35,42 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include + +void DynamicElementTextItem::keyPressEvent(QKeyEvent *event) +{ + if (!event->matches(QKeySequence::Paste) || m_text_from != UserText || + !(textInteractionFlags() & Qt::TextEditable)) { + DiagramTextItem::keyPressEvent(event); + return; + } + if (diagram() && diagram()->isReadOnly()) { + event->accept(); + return; + } + const QMimeData *mime = QApplication::clipboard()->mimeData(); + if (mime && (mime->hasText() || mime->hasHtml())) { + const QString text = mime->hasText() ? mime->text() : + QTextDocumentFragment::fromHtml(mime->html()).toPlainText(); + prepareAlignment(); + QTextCursor cursor = textCursor(); + cursor.beginEditBlock(); + // An empty character format inherits the field's default font, + // rather than the clipboard's font or the preceding character's. + cursor.insertText(text, QTextCharFormat()); + cursor.setCharFormat(QTextCharFormat()); + cursor.endEditBlock(); + setTextCursor(cursor); + finishAlignment(); + } + event->accept(); +} /** @brief DynamicElementTextItem::DynamicElementTextItem @@ -44,6 +81,7 @@ DynamicElementTextItem::DynamicElementTextItem(Element *parent_element) : m_parent_element(parent_element), m_uuid(QUuid::createUuid()) { + ShownKinds::tag(this, ShownKinds::SymbolTexts); setFont(QETApp::dynamicTextsItemFont()); setText(tr("Texte")); setParentItem(parent_element); @@ -73,6 +111,16 @@ DynamicElementTextItem::DynamicElementTextItem(Element *parent_element) : QTextOption option = document()->defaultTextOption(); option.setAlignment(alignment & Qt::AlignHorizontal_Mask); document()->setDefaultTextOption(option); + fitAutoTextWidth(); + }); + connect(document(), &QTextDocument::contentsChanged, this, &DynamicElementTextItem::fitAutoTextWidth); + //The new font can make the lines wider or narrower than the width + //fitted for the old one: fit again, keeping the text's anchor + connect(this, &DiagramTextItem::fontChanged, this, [this]() + { + prepareAlignment(); + fitAutoTextWidth(); + finishAlignment(); }); } @@ -1347,8 +1395,13 @@ void DynamicElementTextItem::updateLabel() } else if (m_text_from == CompositeText) { // Use actualLabel() to ensure %{label} reflects the current - // resolved label (e.g. after a folio/page-number change) - dc.addValue(QStringLiteral("label"), element->actualLabel()); + // resolved label (e.g. after a folio/page-number change). + // A contact not linked to a coil has no element to read from + // (bugtracker #345): %{label} then shows empty, as it did + // before actualLabel() was used here. + if (element) { + dc.addValue(QStringLiteral("label"), element->actualLabel()); + } setPlainText(autonum::AssignVariables::replaceVariable(m_composite_text, dc)); } } @@ -1657,6 +1710,7 @@ void DynamicElementTextItem::updateXref() if(!m_slave_Xref_item) { m_slave_Xref_item = new QGraphicsTextItem(xref_label, this); + ShownKinds::tag(m_slave_Xref_item, ShownKinds::CrossReferences); m_slave_Xref_item->setFont(QETApp::diagramTextsFont(5)); // Match the parent text's user-configurable color instead of // hardcoding black, which renders invisible under dark themes @@ -1788,9 +1842,28 @@ void DynamicElementTextItem::setTextWidth(qreal width) { this->document()->setTextWidth(width); m_text_width = width; + fitAutoTextWidth(); emit textWidthChanged(width); } +/** + @brief DynamicElementTextItem::fitAutoTextWidth + With no width set by the user, a QTextDocument has no width to centre + or right-align its lines in, so every line of a multi-line text stays + on the left whatever the alignment. Give the document the width of its + longest line instead. This does not change the size of the text, only + where the shorter lines sit. +*/ +void DynamicElementTextItem::fitAutoTextWidth() +{ + if (m_text_width > 0) + return; + + document()->setTextWidth(-1); + if (alignment() & (Qt::AlignHCenter | Qt::AlignRight)) + document()->setTextWidth(document()->idealWidth()); +} + void DynamicElementTextItem::setXref_item(Qt::AlignmentFlag m_exHrefPos, int slave_offset) { QRectF r = boundingRect(); @@ -1867,4 +1940,4 @@ void DynamicElementTextItem::setRotationPointCenter(bool center) bool DynamicElementTextItem::rotationPointCenter() const { return m_rotation_point_center; -} \ No newline at end of file +} diff --git a/sources/qetgraphicsitem/dynamicelementtextitem.h b/sources/qetgraphicsitem/dynamicelementtextitem.h index 2e1ee9ee6..5ac043a27 100644 --- a/sources/qetgraphicsitem/dynamicelementtextitem.h +++ b/sources/qetgraphicsitem/dynamicelementtextitem.h @@ -112,6 +112,10 @@ class DynamicElementTextItem : public DiagramTextItem QUuid uuid() const; void updateXref(); void setPlainText(const QString &text); + //Hide QGraphicsTextItem::textWidth(): with the width on "auto" + //the document is given the text's own width so its lines can be + //centred or right-aligned, but the width is still "auto" (-1). + qreal textWidth() const {return m_text_width;} void setTextWidth(qreal width); void setXref_item(Qt::AlignmentFlag m_exHrefPos, int slave_offset = 0); @@ -128,6 +132,7 @@ class DynamicElementTextItem : public DiagramTextItem void refreshResizeHandlesVisibility(); protected: + void keyPressEvent(QKeyEvent *event) override; void mousePressEvent(QGraphicsSceneMouseEvent *event) override; void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override; void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override; @@ -161,6 +166,7 @@ class DynamicElementTextItem : public DiagramTextItem void addResizeHandles(); void removeResizeHandles(); void updateResizeHandlesPos(); + void fitAutoTextWidth(); void handlerMousePressEvent(QetGraphicsHandlerItem *handle, QGraphicsSceneMouseEvent *event); void handlerMouseMoveEvent(QetGraphicsHandlerItem *handle, QGraphicsSceneMouseEvent *event); void handlerMouseReleaseEvent(QetGraphicsHandlerItem *handle, QGraphicsSceneMouseEvent *event); diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index a91e78433..54c328ca5 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -20,6 +20,7 @@ #include "../qetproject.h" #include "../PropertiesEditor/propertieseditordialog.h" #include "../autoNum/assignvariables.h" +#include "../autoNum/elementautonumschemecommand.h" #include "../autoNum/numerotationcontextcommands.h" #include "../diagram.h" #include "../diagramcommands.h" @@ -35,10 +36,12 @@ #include "../ui/elementpropertieswidget.h" #include "../undocommand/changeelementinformationcommand.h" #include "../undocommand/setautonumcontextcommand.h" +#include "crossrefitem.h" #include "dynamicelementtextitem.h" #include "elementtextitemgroup.h" #include "iostream" +#include #include #include #include @@ -50,6 +53,7 @@ static const QString plcTerminalKeys[] = { QETInformation::ELMT_PLC_T4 }; #include "../qetxml.h" +#include "../positionorder.h" #include "../qetversion.h" #include "qgraphicsitemutility.h" #include @@ -160,6 +164,12 @@ Element::Element( connect(this, &Element::rotationChanged, update_docked_conductors); connect(this, &Element::xChanged, update_docked_conductors); connect(this, &Element::yChanged, update_docked_conductors); + connect(this, &Element::mirrorChanged, update_docked_conductors); + //The mirror is about the element's own axis, so it follows the + //rotation, see applyMirrorTransform() + connect(this, &Element::rotationChanged, this, &Element::applyMirrorTransform); + //Texts kept horizontal in a turned symbol depend on the turn + connect(this, &Element::rotationChanged, this, [this]() {updateSymbolPictures();}); } /** @@ -250,6 +260,206 @@ void Element::displayHelpLine(bool b) t->drawHelpLine(b); } +/** + @brief Element::setHorizontalMirror + Mirror this element about its own vertical axis (its left and right + swap), or put it back. See setMirror(). + @param mirror +*/ +void Element::setHorizontalMirror(bool mirror) +{ + setMirror(mirror, m_vertical_mirror); +} + +/** + @brief Element::setVerticalMirror + Mirror this element about its own horizontal axis (its top and bottom + swap), or put it back. See setMirror(). + @param mirror +*/ +void Element::setVerticalMirror(bool mirror) +{ + setMirror(m_horizontal_mirror, mirror); +} + +/** + @brief Element::setMirror + The mirrors are about the element's own axes, through its hotspot, and + are applied before the rotation: a mirrored element still turns + clockwise with "Pivoter", and orientation() keeps its meaning. On the + folio, a mirror of a turned element is the other mirror of the element + itself, see MirrorSelectionCommand. + The texts of the element, its cross reference and the texts drawn in + its symbol are moved to their mirrored place but keep reading normally. + @param horizontal : the left and right of the element swap + @param vertical : the top and bottom of the element swap +*/ +void Element::setMirror(bool horizontal, bool vertical) +{ + if (horizontal == m_horizontal_mirror && vertical == m_vertical_mirror) + return; + + m_horizontal_mirror = horizontal; + m_vertical_mirror = vertical; + + updateSymbolPictures(); + applyMirrorTransform(); + keepChildrenReadable(); + update(); + emit mirrorChanged(); +} + +/** + @brief Element::mirrorTransform + @return the mirrors of this element, about its own axes +*/ +QTransform Element::mirrorTransform() const +{ + return QTransform::fromScale(m_horizontal_mirror ? -1 : 1, + m_vertical_mirror ? -1 : 1); +} + +/** + @brief Element::hasUprightSymbolTexts + @return true if the project of this element keeps the texts of its + turned symbols horizontal (QETProject::uprightSymbolTexts()) +*/ +bool Element::hasUprightSymbolTexts() const +{ + const Diagram *d = diagram(); + return d && d->project() && d->project()->uprightSymbolTexts(); +} + +/** + @brief Element::symbolTextsTransform + @return what this element does to the texts drawn in its symbol, which + the drawing undoes to keep them readable (updateSymbolPictures()): + its mirrors, and its turn when the project keeps them horizontal. + The identity when the symbol is drawn as it is. +*/ +QTransform Element::symbolTextsTransform() const +{ + //QTransform's product applies its left operand first + QTransform transform = mirrorTransform(); + if (hasUprightSymbolTexts()) + transform *= QTransform().rotate(orientation() * 90); + return transform; +} + +/** + @brief Element::updateSymbolPictures + Take the drawing of the symbol whose texts read normally once this + element has mirrored and turned it (symbolTextsTransform()), or drop it + when the plain drawing does. + @param force : take it again even if the transform did not change, as + when the symbol's definition was reloaded +*/ +void Element::updateSymbolPictures(bool force) +{ + const QTransform transform = symbolTextsTransform(); + if (transform.isIdentity()) + { + if (!m_readable_transform.isIdentity()) + { + m_readable_transform = QTransform(); + m_readable_picture = QPicture(); + m_readable_low_zoom_picture = QPicture(); + update(); + } + return; + } + if (transform == m_readable_transform && !force) + return; + + m_readable_transform = transform; + m_readable_picture = QPicture(); + m_readable_low_zoom_picture = QPicture(); + ElementPictureFactory::instance()->getReadablePictures( + m_location, + transform, + m_readable_picture, + m_readable_low_zoom_picture); + update(); +} + +/** + @brief Element::applyMirrorTransform + QGraphicsItem applies transform() after the rotation, so the mirrors of + the element's own axes (S, before rotating) are given here as the + mirrors about the rotated axes: R . S . R^-1, which is then applied + after R. +*/ +void Element::applyMirrorTransform() +{ + if (!isMirrored()) + { + if (!transform().isIdentity()) + setTransform(QTransform()); + return; + } + + //QTransform's product applies its left operand first + setTransform(QTransform().rotate(-rotation()) + * mirrorTransform() + * QTransform().rotate(rotation())); +} + +/** + @brief Element::keepReadable + Keep @p child, a text, a group of texts or a cross reference of this + element, reading normally when this element is mirrored. + The child is mirrored a second time, the same way, about the centre of + its own box: the box keeps its place in the element, so it lands + mirrored with the element, but the two mirrors cancel on what is drawn + inside it. + Does nothing for an item that is not a direct child of this element. + @param child +*/ +void Element::keepReadable(QGraphicsItem *child) const +{ + if (!child || child->parentItem() != this) + return; + + if (!isMirrored()) + { + if (!child->transform().isIdentity()) + child->resetTransform(); + return; + } + + //The rotation part of the child's own transformation, which + //QGraphicsItem applies before transform() + const QPointF origin = child->transformOriginPoint(); + QTransform rotation; + rotation.translate(origin.x(), origin.y()); + rotation.rotate(child->rotation()); + rotation.translate(-origin.x(), -origin.y()); + const QPointF centre = rotation.mapRect(child->boundingRect()).center(); + + const QTransform mirror = QTransform::fromTranslate(-centre.x(), -centre.y()) + * mirrorTransform() + * QTransform::fromTranslate(centre.x(), centre.y()); + if (child->transform() != mirror) + child->setTransform(mirror); +} + +/** + @brief Element::keepChildrenReadable + keepReadable() for every text, group of texts and cross reference + which is a direct child of this element. +*/ +void Element::keepChildrenReadable() const +{ + const QList children = childItems(); + for (QGraphicsItem *child : children) + { + if (child->type() == DynamicElementTextItem::Type + || child->type() == CrossRefItem::Type + || dynamic_cast(child)) + keepReadable(child); + } +} + /** @brief Element::paint @param painter @@ -274,13 +484,17 @@ void Element::paint( QBrush brush; painter->setPen(pen); painter->setBrush(brush); + const bool readable = !m_readable_transform.isIdentity(); + const QPicture &picture = readable ? m_readable_picture : m_picture; + const QPicture &low_zoom_picture = readable ? m_readable_low_zoom_picture + : m_low_zoom_picture; if (options && options->levelOfDetailFromTransform(painter->worldTransform()) < 0.5) { - if (!m_low_zoom_picture.isNull()) - painter->drawPicture(0, 0, m_low_zoom_picture); + if (!low_zoom_picture.isNull()) + painter->drawPicture(0, 0, low_zoom_picture); } else { - if (!m_picture.isNull()) - painter->drawPicture(0, 0, m_picture); + if (!picture.isNull()) + painter->drawPicture(0, 0, picture); } painter->restore(); //Restore the QPainter after use drawPicture @@ -842,7 +1056,7 @@ bool Element::fromXml(QDomElement &e, || e.hasAttribute(QStringLiteral("seqt_1")) || e.hasAttribute(QStringLiteral("seqtf_1")) || e.hasAttribute(QStringLiteral("seqh_1")) - || e.hasAttribute(QStringLiteral("sequf_1"))) + || e.hasAttribute(QStringLiteral("seqhf_1"))) ElementXmlRetroCompatibility::loadSequential(e, this); else m_autoNum_seq.fromXml(e.firstChildElement(QStringLiteral("sequentialNumbers"))); @@ -937,6 +1151,11 @@ bool Element::fromXml(QDomElement &e, for(DynamicElementTextItem *deti : m_dynamic_text_list) deti->m_block_alignment = false; + //Last, so that the texts and groups loaded above are kept readable + const QString mirror = e.attribute(QStringLiteral("mirror")); + setMirror(mirror == QLatin1String("horizontal") || mirror == QLatin1String("both"), + mirror == QLatin1String("vertical") || mirror == QLatin1String("both")); + m_state = QET::GIOK; return(true); } @@ -986,6 +1205,13 @@ QDomElement Element::toXml( element.setAttribute(QStringLiteral("y"), QString::number(pos().y())); element.setAttribute(QStringLiteral("z"), QString::number(this->zValue())); element.setAttribute(QStringLiteral("orientation"), QString::number(orientation())); + //Written only when set, so a project without a mirrored element + //saves exactly as before + if (isMirrored()) + element.setAttribute(QStringLiteral("mirror"), + !m_vertical_mirror ? QStringLiteral("horizontal") + : !m_horizontal_mirror ? QStringLiteral("vertical") + : QStringLiteral("both")); element.setAttribute(QStringLiteral("is_movable"), bool(is_movable_)); /* get the first id to use for the bounds of this element @@ -1132,18 +1358,25 @@ QDomElement Element::toXml( */ void Element::addDynamicTextItem(DynamicElementTextItem *deti) { - if (deti && !m_dynamic_text_list.contains(deti)) - { - m_dynamic_text_list.append(deti); - deti->setParentItem(this); - emit textAdded(deti); - } + if (!deti || m_dynamic_text_list.contains(deti)) + deti = new DynamicElementTextItem(this); else - { - DynamicElementTextItem *text = new DynamicElementTextItem(this); - m_dynamic_text_list.append(text); - emit textAdded(text); - } + deti->setParentItem(this); + + m_dynamic_text_list.append(deti); + + //On a mirrored element, the mirror of the text depends on the size + //and the rotation of the text, see keepReadable() + connect(deti->document()->documentLayout(), + &QAbstractTextDocumentLayout::documentSizeChanged, + this, [this, deti]() {keepReadable(deti);}); + connect(deti, &DynamicElementTextItem::rotationChanged, + this, [this, deti]() {keepReadable(deti);}); + connect(deti, &DynamicElementTextItem::rotationPointCenterChanged, + this, [this, deti]() {keepReadable(deti);}); + keepReadable(deti); + + emit textAdded(deti); } /** @@ -1155,10 +1388,18 @@ void Element::addDynamicTextItem(DynamicElementTextItem *deti) */ void Element::removeDynamicTextItem(DynamicElementTextItem *deti) { + //Undo the connections and the mirror of addDynamicTextItem() + auto forget = [this, deti]() { + disconnect(deti->document()->documentLayout(), nullptr, this, nullptr); + disconnect(deti, nullptr, this, nullptr); + deti->resetTransform(); + }; + if (m_dynamic_text_list.contains(deti)) { m_dynamic_text_list.removeOne(deti); deti->setParentItem(nullptr); + forget(); emit textRemoved(deti); return; } @@ -1170,6 +1411,7 @@ void Element::removeDynamicTextItem(DynamicElementTextItem *deti) removeTextFromGroup(deti, group); m_dynamic_text_list.removeOne(deti); deti->setParentItem(nullptr); + forget(); emit textRemoved(deti); return; } @@ -1345,7 +1587,8 @@ bool Element::removeTextFromGroup(DynamicElementTextItem *text, The first Terminal of QPair is a Terminal owned by this element, this terminal haven't got any conductor docked. The second Terminal of QPair is a Terminal owned by an other element, - which is aligned with the first Terminal. The second Terminal can have or not docked conductors. + which is aligned with the first Terminal. The second Terminal can have or not docked conductors, + but no more than the project's wires-per-terminal limit allows (discussion #1158). */ QList > Element::AlignedFreeTerminals() const { @@ -1357,7 +1600,9 @@ QList > Element::AlignedFreeTerminals() const { Terminal *other_terminal = terminal -> alignedWithTerminal(); - if (other_terminal) + if (other_terminal + && terminal->hasRoomForWire() + && other_terminal->hasRoomForWire()) list << qMakePair(terminal, other_terminal); } } @@ -1492,8 +1737,41 @@ void Element::setGroupIndexForElement(Element *elmt, int index) If new information is different of current infotmation emit elementInfoChange @param dc */ +namespace { +/** + An element follows a numbering scheme only through a formula: an + information context whose formula is emptied (paste with labels + erased, the formula deleted by hand...) no longer names one. +*/ +void dropOrphanFormulaId(DiagramContext &dc) +{ + if (dc.contains(QETInformation::ELMT_FORMULA_ID) + && dc.value(QETInformation::ELMT_FORMULA).toString().isEmpty()) { + dc.remove(QETInformation::ELMT_FORMULA_ID); + } +} +} // namespace + +/** + @brief Element::setFormulaSchemeId + Make this element follow the element numbering scheme with uuid @p id, + or none if @p id is null, without touching anything else: no label + update, no signal, no undo. For QETProject when it ties freshly loaded + elements to their schemes. +*/ +void Element::setFormulaSchemeId(const QUuid &id) +{ + if (id.isNull()) { + m_data.m_informations.remove(QETInformation::ELMT_FORMULA_ID); + } else { + m_data.m_informations.addValue(QETInformation::ELMT_FORMULA_ID, + id.toString(), false); + } +} + void Element::setElementInformations(DiagramContext dc) { + dropOrphanFormulaId(dc); if (m_data.m_informations == dc) { return; } @@ -1546,6 +1824,7 @@ ElementData Element::elementData() const */ void Element::setElementData(ElementData data) { + dropOrphanFormulaId(data.m_informations); auto old_info = m_data.m_informations; auto old_plc = m_data.m_type == ElementData::Master && m_data.m_master_type == ElementData::PLC ? m_data.plcMasterData() : ElementData::PlcMasterData(); @@ -1656,9 +1935,7 @@ bool comparPos(const Element *elmt1, const Element *elmt2) if (a != b) return apos().x() == elmt2->pos().x()) - return elmt1->y() <= elmt2->pos().y(); - return elmt1->pos().x() <= elmt2->pos().x(); + return PositionOrder::xThenY(elmt1->pos(), elmt2->pos()); } /** @@ -1744,6 +2021,10 @@ QVariant Element::itemChange(GraphicsItemChange change, const QVariant &value) deti->refreshResizeHandlesVisibility(); } } + //Whether the texts of a turned symbol stay horizontal is the + //project's setting, known once the element is on one of its folios + else if (change == QGraphicsItem::ItemSceneHasChanged) + updateSymbolPictures(); return QetGraphicsItem::itemChange(change, value); } @@ -1773,15 +2054,48 @@ void Element::setUpFormula(bool code_letter, QUndoCommand *parent_undo) QString element_currentAutoNum = diagram() ->project() ->elementCurrentAutoNum(); + const QUuid scheme_id = diagram()->project()->elementAutoNumId(element_currentAutoNum); + setFormulaSchemeId(formula.isEmpty() ? QUuid() : scheme_id); NumerotationContext nc = diagram() ->project() ->elementAutoNum(element_currentAutoNum); - NumerotationContextCommands ncc (nc); + + //The number given is the first whose label no other element of + //the project carries: a counter set back, or an element which + //was given a number by hand, must not make a second element + //with the same label. The counter then goes on from there. + NumerotationContext given = nc; + if (!formula.isEmpty()) + { + const QSet held = ElementAutoNumSchemeCommand::labelsHeldBesides( + diagram()->project(), this); + for (int attempt = 0 ; !held.isEmpty() && attempt < 100000 ; ++attempt) + { + autonum::sequentialNumbers probe; + autonum::setSequential(formula, probe, given, diagram(), element_currentAutoNum); + const QString candidate = autonum::AssignVariables::formulaToLabel( + formula, probe, diagram(), this, nullptr); + if (candidate.isEmpty() || !held.contains(candidate)) { + break; + } + NumerotationContextCommands step (given); + const NumerotationContext advanced = step.next(); + bool moved = advanced.size() != given.size(); + for (int i = 0 ; !moved && i < given.size() ; ++i) { + moved = advanced.itemAt(i) != given.itemAt(i); + } + if (!moved) { + break; //a numbering which cannot go on: nothing to skip to + } + given = advanced; + } + } + NumerotationContextCommands ncc (given); m_autoNum_seq.clear(); autonum::setSequential(formula, m_autoNum_seq, - nc, + given, diagram(), element_currentAutoNum); @@ -1932,6 +2246,7 @@ Element::ReloadPictureResult Element::reloadPicture() m_picture = picture; m_low_zoom_picture = low_zoom_picture; + updateSymbolPictures(true); update(); return ReloadPictureResult::Reloaded; } diff --git a/sources/qetgraphicsitem/element.h b/sources/qetgraphicsitem/element.h index 33d8b752e..6c2a4b352 100644 --- a/sources/qetgraphicsitem/element.h +++ b/sources/qetgraphicsitem/element.h @@ -46,6 +46,9 @@ class Element : public QetGraphicsItem friend class DynamicElementTextItem; Q_OBJECT + Q_PROPERTY(bool horizontalMirror READ hasHorizontalMirror WRITE setHorizontalMirror NOTIFY mirrorChanged) + Q_PROPERTY(bool verticalMirror READ hasVerticalMirror WRITE setVerticalMirror NOTIFY mirrorChanged) + public: /** @brief The kind enum @@ -111,6 +114,7 @@ class Element : public QetGraphicsItem void textRemovedFromGroup( DynamicElementTextItem *text, ElementTextItemGroup *group); + void mirrorChanged(); public slots: void updateConductorTexts(); @@ -150,6 +154,7 @@ class Element : public QetGraphicsItem autonum::sequentialNumbers& rSequenceStruct() {return m_autoNum_seq;} void setUpFormula(bool code_letter = true, QUndoCommand *parent_undo = nullptr); + void setFormulaSchemeId(const QUuid &id); void setPrefix(QString); QString getPrefix() const; void freezeLabel(bool freeze); @@ -184,6 +189,16 @@ class Element : public QetGraphicsItem int> &) const; QUuid uuid() const; int orientation() const; + bool hasHorizontalMirror() const {return m_horizontal_mirror;} + bool hasVerticalMirror() const {return m_vertical_mirror;} + bool isMirrored() const {return m_horizontal_mirror || m_vertical_mirror;} + void setHorizontalMirror(bool mirror); + void setVerticalMirror(bool mirror); + QTransform mirrorTransform() const; + bool hasUprightSymbolTexts() const; + QTransform symbolTextsTransform() const; + void updateSymbolPictures(bool force = false); + void keepReadable(QGraphicsItem *child) const; //METHODS related to texts void addDynamicTextItem(DynamicElementTextItem *deti = nullptr); @@ -295,10 +310,18 @@ class Element : public QetGraphicsItem QList m_terminals; QPicture m_picture; QPicture m_low_zoom_picture; + /// The drawing with its texts kept readable, when the symbol's + /// mirror or turn would not leave them so (m_readable_transform) + QPicture m_readable_picture; + QPicture m_readable_low_zoom_picture; + QTransform m_readable_transform; ElementData m_data; QList m_plc_table_positions; // Positions of plc_table parts in the element definition void drawPlcTable(QPainter *painter); + void setMirror(bool horizontal, bool vertical); + void applyMirrorTransform(); + void keepChildrenReadable() const; public: /// Positions where the PLC IO table is drawn (from the .elmt file). @@ -309,6 +332,8 @@ class Element : public QetGraphicsItem QSize dimensions; QPoint hotspot_coord; bool m_mouse_over = false; + bool m_horizontal_mirror = false; + bool m_vertical_mirror = false; QString m_prefix; QList m_dynamic_text_list; QList m_texts_group; diff --git a/sources/qetgraphicsitem/elementtextitemgroup.cpp b/sources/qetgraphicsitem/elementtextitemgroup.cpp index 9e4016fcf..a14a5ef0c 100644 --- a/sources/qetgraphicsitem/elementtextitemgroup.cpp +++ b/sources/qetgraphicsitem/elementtextitemgroup.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "elementtextitemgroup.h" +#include "../shownkinds.h" #include "../qetproject.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" #include "../diagram.h" @@ -53,6 +54,7 @@ ElementTextItemGroup::ElementTextItemGroup(const QString &name, m_name(name), m_parent_element(parent) { + ShownKinds::tag(this, ShownKinds::SymbolTexts); setFlags(QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemIsMovable); connect(parent, @@ -117,6 +119,12 @@ void ElementTextItemGroup::addToGroup(QGraphicsItem *item) if((item->rotation() != rotation()) && !m_block_alignment_update) item->setRotation(rotation()); + //On a mirrored element, QGraphicsItemGroup::addToGroup() would + //fold the mirror that keeps the text and this group readable + //(Element::keepReadable()) into the text's transform. The group + //gets its own back from updateAlignment(). + item->resetTransform(); + resetTransform(); QGraphicsItemGroup::addToGroup(item); updateAlignment(); @@ -151,6 +159,7 @@ void ElementTextItemGroup::addToGroup(QGraphicsItem *item) */ void ElementTextItemGroup::removeFromGroup(QGraphicsItem *item) { + resetTransform(); //See addToGroup(), given back by updateAlignment() QGraphicsItemGroup::removeFromGroup(item); //the item transformation is not reset, we must do it ourselves, // because for example if the group rotation is 45° @@ -160,6 +169,8 @@ void ElementTextItemGroup::removeFromGroup(QGraphicsItem *item) item->resetTransform(); item->setRotation(this->rotation()); item->setFlag(QGraphicsItem::ItemIsSelectable, true); + if (m_parent_element) + m_parent_element->keepReadable(item); updateAlignment(); if(DynamicElementTextItem *deti = qgraphicsitem_cast(item)) @@ -230,6 +241,10 @@ void ElementTextItemGroup::updateAlignment() prepareGeometryChange(); QList texts = this->texts(); + + //The mirror of a mirrored element's group depends on the size of + //the group: drop it while the texts are laid out, set it back after + resetTransform(); qreal rotation_ = rotation(); @@ -300,6 +315,8 @@ void ElementTextItemGroup::updateAlignment() //Restore the rotation setRotation(rotation_); + if (m_parent_element) + m_parent_element->keepReadable(this); if(m_Xref_item) m_Xref_item->autoPos(); @@ -355,6 +372,7 @@ void ElementTextItemGroup::setHoldToBottomPage(bool hold) setFlag(QGraphicsItem::ItemIsMovable, false); connect(m_parent_element, &Element::yChanged, this, &ElementTextItemGroup::autoPos); connect(m_parent_element, &Element::rotationChanged, this, &ElementTextItemGroup::autoPos); + connect(m_parent_element, &Element::mirrorChanged, this, &ElementTextItemGroup::autoPos); if(m_parent_element->linkType() == Element::Master) { //We use timer to let the time of the parent element @@ -362,9 +380,12 @@ void ElementTextItemGroup::setHoldToBottomPage(bool hold) // before updating the position of this group //because the position of this group is related // to the size of the parent element Xref + //this is the context of both connections, so they go + //when the group is deleted: the project outlives it. m_linked_changed_timer = connect( m_parent_element, &Element::linkedElementChanged, + this, [this]() {QTimer::singleShot(200, this, @@ -374,6 +395,7 @@ void ElementTextItemGroup::setHoldToBottomPage(bool hold) m_XrefChanged_timer = connect( m_parent_element->diagram()->project(), &QETProject::XRefPropertiesChanged, + this, [this]() {QTimer::singleShot(200, this, @@ -390,6 +412,8 @@ void ElementTextItemGroup::setHoldToBottomPage(bool hold) this, &ElementTextItemGroup::autoPos); disconnect(m_parent_element, &Element::rotationChanged, this, &ElementTextItemGroup::autoPos); + disconnect(m_parent_element, &Element::mirrorChanged, + this, &ElementTextItemGroup::autoPos); if(m_parent_element->linkType() == Element::Master) { disconnect(m_linked_changed_timer); @@ -624,6 +648,10 @@ QRectF ElementTextItemGroup::boundingRect() const void ElementTextItemGroup::setRotation(qreal angle) { QGraphicsItemGroup::setRotation(angle); + //On a mirrored element, the mirror that keeps this group readable + //is about the centre of its turned box + if (m_parent_element) + m_parent_element->keepReadable(this); emit rotationChanged(angle); } @@ -882,6 +910,7 @@ void ElementTextItemGroup::updateXref() if(!m_slave_Xref_item) { m_slave_Xref_item = new QGraphicsTextItem(xref_label, this); + ShownKinds::tag(m_slave_Xref_item, ShownKinds::CrossReferences); m_slave_Xref_item->setFont(QETApp::diagramTextsFont(5)); m_update_slave_Xref_connection << connect(master_elmt, &Element::xChanged, this, &ElementTextItemGroup::updateXref); diff --git a/sources/qetgraphicsitem/independenttextitem.cpp b/sources/qetgraphicsitem/independenttextitem.cpp index 03e0ba2bb..833b8dd48 100644 --- a/sources/qetgraphicsitem/independenttextitem.cpp +++ b/sources/qetgraphicsitem/independenttextitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "independenttextitem.h" +#include "../shownkinds.h" #include "../diagram.h" #include "../diagramcommands.h" @@ -25,7 +26,9 @@ #include "../utils/qetutils.h" #include +#include #include +#include /** Constructeur @@ -34,6 +37,8 @@ IndependentTextItem::IndependentTextItem() : DiagramTextItem(nullptr) { + ShownKinds::tag(this, ShownKinds::FreeTexts); + wrapAtWords(); //Start from the font last applied to a text item this session, //falling back to the app-wide Preferences default otherwise. setFont(LastUsedStyle::hasTextFont() ? LastUsedStyle::textFont() @@ -49,7 +54,22 @@ IndependentTextItem::IndependentTextItem() : */ IndependentTextItem::IndependentTextItem(const QString &text) : DiagramTextItem(text, nullptr) -{} +{ + ShownKinds::tag(this, ShownKinds::FreeTexts); + wrapAtWords(); +} + +/** + @brief IndependentTextItem::wrapAtWords + A text with a width wraps between words only: a word longer than the + width goes past it rather than being cut, as for the texts of symbols. +*/ +void IndependentTextItem::wrapAtWords() +{ + QTextOption option = document()->defaultTextOption(); + option.setWrapMode(QTextOption::WordWrap); + document()->setDefaultTextOption(option); +} /// Destructeur IndependentTextItem::~IndependentTextItem() @@ -74,6 +94,10 @@ void IndependentTextItem::fromXml(const QDomElement &e) { QETUtils::fontFromString(font, e.attribute("font")); setFont(font); } + //Optional: absent for a text with the automatic width, the only + //kind older versions know (they show such a text unwrapped). + //Read after the text, setHtml() sets a width of its own. + setTextWidth(e.attribute(QStringLiteral("text_width"), QStringLiteral("-1")).toDouble()); } /** @@ -89,10 +113,51 @@ QDomElement IndependentTextItem::toXml(QDomDocument &document) const result.setAttribute("text", toHtml()); result.setAttribute("rotation", QString::number(QET::correctAngle(rotation()))); result.setAttribute("font", QETUtils::fontToString(font())); + //Only when set, so a text with the automatic width is saved as before + if (m_text_width > 0) + result.setAttribute("text_width", QString::number(m_text_width)); return(result); } +/** + @brief IndependentTextItem::setTextWidth + Set the width of this text (-1 = automatic width): the text wraps to + it, its top-left corner stays in place. + @param width +*/ +void IndependentTextItem::setTextWidth(qreal width) +{ + if (!qIsFinite(width) || width <= 0) + width = -1; + if (qFuzzyCompare(width, m_text_width)) + return; + + qreal document_width = width; + //The automatic width of a text with centred or right-aligned + //lines, as setHtml() gives it + if (width < 0 && m_non_left_alignment) + { + QScopedPointer natural(document()->clone()); + natural->setTextWidth(-1); + document_width = natural->idealWidth() + 40.0; + } + + document()->setTextWidth(document_width); + m_text_width = width; + emit textWidthChanged(width); +} + +/** + @brief IndependentTextItem::textResizeHandlesWanted + @return true when this text is selected and not being typed in: the + corner handles then change its width. +*/ +bool IndependentTextItem::textResizeHandlesWanted() const +{ + return isSelected() && !isEditing(); +} + void IndependentTextItem::focusOutEvent(QFocusEvent *event) { DiagramTextItem::focusOutEvent(event); diff --git a/sources/qetgraphicsitem/independenttextitem.h b/sources/qetgraphicsitem/independenttextitem.h index 85b51ffd7..bc2083e6a 100644 --- a/sources/qetgraphicsitem/independenttextitem.h +++ b/sources/qetgraphicsitem/independenttextitem.h @@ -29,10 +29,13 @@ class IndependentTextItem : public DiagramTextItem { Q_OBJECT + + Q_PROPERTY(qreal textWidth READ textWidth WRITE setTextWidth NOTIFY textWidthChanged) // constructors, destructor signals: void uuidChanged(); + void textWidthChanged(qreal width); public: IndependentTextItem(); @@ -49,11 +52,24 @@ class IndependentTextItem : public DiagramTextItem QUuid uuid() const {return m_uuid;} void setUuid(const QUuid &uuid) {m_uuid = uuid; emit uuidChanged();} void newUuid() {setUuid(QUuid::createUuid());} //create new uuid for this item + + //Hide QGraphicsTextItem::textWidth()/setTextWidth(), which are not + //virtual: called through a QGraphicsTextItem or DiagramTextItem + //pointer they would change the document only, and the width would + //be neither saved nor shown in the properties. Use these, or the + //"textWidth" property. + qreal textWidth() const {return m_text_width;} + void setTextWidth(qreal width); protected: void focusOutEvent(QFocusEvent *event) override; + bool textResizeHandlesWanted() const override; + bool hasUserTextWidth() const override {return m_text_width > 0;} private: + void wrapAtWords(); + QUuid m_uuid = QUuid::createUuid(); + qreal m_text_width = -1; }; #endif diff --git a/sources/qetgraphicsitem/qetshapeitem.cpp b/sources/qetgraphicsitem/qetshapeitem.cpp index b2f3a152d..43e918ca1 100644 --- a/sources/qetgraphicsitem/qetshapeitem.cpp +++ b/sources/qetgraphicsitem/qetshapeitem.cpp @@ -16,6 +16,7 @@ along with QElectroTech. If not, see . */ #include "qetshapeitem.h" +#include "../shownkinds.h" #include "../PropertiesEditor/propertieseditordialog.h" #include "../QPropertyUndoCommand/qpropertyundocommand.h" @@ -57,6 +58,7 @@ QetShapeItem::QetShapeItem(QPointF p1, QPointF p2, ShapeType type, QGraphicsItem m_P2 (p2), m_hovered(false) { + ShownKinds::tag(this, ShownKinds::Shapes); if (type == Polygon) m_polygon << m_P1 << m_P2; setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges); setAcceptHoverEvents(true); @@ -1746,11 +1748,33 @@ void QetShapeItem::rebuildHandles() updateArcBulgeVisibility(); } +/** + @brief QetShapeItem::updateArcBulgeVisibility + The middle handle of a half arc is shown with the Size handles only. + It sits exactly on one of them -- the middle of the top or bottom + edge (left or right for an upright arc) -- and on the top skew handle + in RotateSkew mode, and being drawn last it covered whichever one it + sat on. In Size mode the Resize handle under it is hidden instead: + the middle handle already changes that same height, keeping the ends + in place. +*/ void QetShapeItem::updateArcBulgeVisibility() { const int index = m_handleRoles.indexOf(HandleRole::ArcBulge); - if (index >= 0 && index < m_handler_vector.size()) - m_handler_vector.at(index)->setVisible(isAxisHalfArc()); + if (index < 0 || index >= m_handler_vector.size()) + return; + + const bool shown = isAxisHalfArc() && m_handleMode == HandleMode::Size; + m_handler_vector.at(index)->setVisible(shown); + + const QPointF middle = handlePositionFor(HandleRole::ArcBulge, 0); + for (int i = 0; i < m_handler_vector.size() && i < m_handleRoles.size(); ++i) + { + if (m_handleRoles.at(i) != HandleRole::Resize) + continue; + const QPointF p = handlePositionFor(HandleRole::Resize, m_handleSlot.at(i)); + m_handler_vector.at(i)->setVisible(!shown || QLineF(p, middle).length() > 0.01); + } } /** diff --git a/sources/qetgraphicsitem/qetshapeitem.h b/sources/qetgraphicsitem/qetshapeitem.h index ba4c2ae87..7d5d90c81 100644 --- a/sources/qetgraphicsitem/qetshapeitem.h +++ b/sources/qetgraphicsitem/qetshapeitem.h @@ -131,7 +131,7 @@ class QetShapeItem : public QetGraphicsItem Rotate, SkewEdge, Pivot, // RotateSkew mode CornerRadius, // Rectangle, always shown alongside Size handles ArcEndpoint, // Ellipse, always shown - ArcBulge, // Ellipse, shown only on a half arc (see isAxisHalfArc()) + ArcBulge, // Ellipse, Size mode, shown only on a half arc (see isAxisHalfArc()) PathAnchor, PathControlIn, PathControlOut // Polygon/Path, node-edit mode (see setPathNodes()) }; diff --git a/sources/qetgraphicsitem/qgraphicsitemutility.cpp b/sources/qetgraphicsitem/qgraphicsitemutility.cpp index 85da0396e..34fdf3ecf 100644 --- a/sources/qetgraphicsitem/qgraphicsitemutility.cpp +++ b/sources/qetgraphicsitem/qgraphicsitemutility.cpp @@ -75,6 +75,9 @@ bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_f item_to_center -> setPos(0,0); //Due to a weird behavior or bug, before setting the new position and rotation, item_to_center -> setRotation(0); //we must set the position and rotation to 0. + //Same for the mirror that keeps it readable on a mirrored element, + //given back below + item_to_center -> resetTransform(); item_to_center->setPos(item_to_center->mapFromScene(point)); @@ -87,6 +90,23 @@ bool centerToBottomDiagram (QGraphicsItem *item_to_center, Element *element_to_f if(rot != 0) { item_to_center->setRotation(item_to_center->rotation() - rot); } + element_to_follow->keepReadable(item_to_center); + + //On a mirrored element the item's box extends from its pos() the + //mirrored way, so it is not where the lines above meant. Put it + //there: centred on the element, its top at the same height. + if (element_to_follow->isMirrored() && item_to_center->parentItem()) + { + const QRectF placed = item_to_center->sceneBoundingRect(); + const QPointF wanted( + element_to_follow->sceneBoundingRect().center().x() + - placed.width() / 2, + border.bottom() - item_to_center->boundingRect().height() - offset); + QGraphicsItem *parent = item_to_center->parentItem(); + item_to_center->setPos(parent->mapFromScene( + parent->mapToScene(item_to_center->pos()) + + wanted - placed.topLeft())); + } return true; } diff --git a/sources/qetgraphicsitem/terminal.cpp b/sources/qetgraphicsitem/terminal.cpp index e3ba0198d..67a19e400 100644 --- a/sources/qetgraphicsitem/terminal.cpp +++ b/sources/qetgraphicsitem/terminal.cpp @@ -26,6 +26,9 @@ #include "../qetgraphicsitem/conductor.h" #include "../qetgraphicsitem/element.h" #include "conductortextitem.h" +#include "../wiringrules.h" + +#include #include #include @@ -115,13 +118,20 @@ Qet::Orientation Terminal::orientation() const // orientations actuelle et par defaut de l'element // current and default element orientations int ori_cur = elt -> orientation(); - if (ori_cur == 0) return(d->m_orientation); + // The mirrors of an element are about its own axes, before it is + // rotated (Element::setMirror()): a horizontal one swaps east and + // west, a vertical one north and south + Qet::Orientation ori_elmt = d->m_orientation; + if (Qet::isHorizontal(ori_elmt) ? elt -> hasHorizontalMirror() + : elt -> hasVerticalMirror()) + ori_elmt = (Qet::Orientation)((ori_elmt + 2) % 4); + if (ori_cur == 0) return(ori_elmt); else { // calcul l'angle de rotation implique par l'orientation de l'element parent // angle de rotation de la borne sur la scene, divise par 90 // calculates the angle of rotation implied by the orientation of the parent // element angle of rotation of the terminal on the scene, divided by 90 - int angle = ori_cur + d->m_orientation; + int angle = ori_cur + ori_elmt; while (angle >= 4) angle -= 4; return((Qet::Orientation)angle); } @@ -296,6 +306,25 @@ void Terminal::paint( QFontMetrics fm(d->m_label_font); QSizeF text_size = fm.size(Qt::TextSingleLine, display_name); + // When the element mirrors its symbol, or turns it in a project + // that keeps symbol texts horizontal, undo that on the name + // about the centre of its box, in the frame it is drawn in + // (turned by label_rotation): its box stays where the element + // puts it, but it reads as in the symbol (Element::keepReadable()) + const Element *element = qgraphicsitem_cast(parentItem()); + const QTransform texts_transform = element ? element->symbolTextsTransform() + : QTransform(); + auto keep_readable = [painter, &texts_transform](const QRectF &rect, qreal label_rotation) { + if (texts_transform.isIdentity()) return; + const QTransform undo = QTransform().rotate(label_rotation) + * texts_transform.inverted() + * QTransform().rotate(-label_rotation); + const QPointF c = rect.center(); + painter->setTransform(QTransform::fromTranslate(-c.x(), -c.y()) + * undo + * QTransform::fromTranslate(c.x(), c.y()), true); + }; + if (!qFuzzyIsNull(d->m_label_rotation)) { painter->save(); painter->translate(label_pos); @@ -311,6 +340,7 @@ void Terminal::paint( else if (d->m_label_valignment & Qt::AlignBottom) ry = -text_size.height(); QRectF text_rect(QPointF(rx, ry), text_size); + keep_readable(text_rect, d->m_label_rotation); painter->drawText(text_rect, static_cast(d->m_label_halignment | d->m_label_valignment), display_name); painter->restore(); } else { @@ -324,6 +354,7 @@ void Terminal::paint( else if (d->m_label_valignment & Qt::AlignBottom) dy = -text_size.height(); QRectF text_rect(label_pos + QPointF(dx, dy), text_size); + keep_readable(text_rect, 0); if (d->m_label_frame) { painter->drawRect(text_rect.adjusted(-1, -1, 1, 1)); } @@ -610,7 +641,22 @@ void Terminal::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) other_terminal -> m_hovered = false; //We stop her if we can't link this terminal with other terminal - if (!canBeLinkedTo(other_terminal)) return; + if (!canBeLinkedTo(other_terminal)) + { + //Say why when it is the wire limit (discussion #1158): a red + //terminal alone does not tell the user what to do instead. + const Terminal *full = !hasRoomForWire() ? this + : !other_terminal->hasRoomForWire() ? other_terminal + : nullptr; + if (full) { + QToolTip::showText(e->screenPos(), + tr("Cette borne a déjà %n conducteur(s), la limite du projet. " + "Ajoutez une borne pour raccorder un conducteur de plus.", + "wire refused by the wires-per-terminal limit", + full->wireLimit())); + } + return; + } //Create conductor Conductor *new_conductor = new Conductor(this, other_terminal); @@ -692,6 +738,7 @@ bool Terminal::isLinkedTo(Terminal *other_terminal) { Reasons for not linable: - \p other_terminal is this terminal - this terminal is already connected to \p other_terminal + - either terminal already has as many wires as the project allows @param other_terminal @return true if this terminal can be linked to other_terminal, otherwise false @@ -701,9 +748,40 @@ bool Terminal::canBeLinkedTo(Terminal *other_terminal) if (other_terminal == this || isLinkedTo(other_terminal)) return false; + if (!hasRoomForWire() || !other_terminal->hasRoomForWire()) + return false; + return true; } +/** + @brief Terminal::wireLimit + @return the most wires this terminal may take under its project's + wiring rules (discussion #1158), 0 for no limit. +*/ +int Terminal::wireLimit() const +{ + const Diagram *parent_diagram = diagram(); + if (!parent_diagram || !parent_diagram->project()) { + return 0; + } + const Element *element = parentElement(); + const bool is_report = element + && (element->linkType() & (Element::NextReport | Element::PreviousReport)); + return WiringRules::limit(parent_diagram->project()->wiringRules(), + WiringRules::masterEnabled(), + is_report); +} + +/** + @brief Terminal::hasRoomForWire + @return true if one more wire may be connected to this terminal +*/ +bool Terminal::hasRoomForWire() const +{ + return WiringRules::hasRoom(wireLimit(), conductorsCount()); +} + /** @brief Terminal::conductors @return La liste des conducteurs lies a cette borne diff --git a/sources/qetgraphicsitem/terminal.h b/sources/qetgraphicsitem/terminal.h index b491f1ec2..419f4cdec 100644 --- a/sources/qetgraphicsitem/terminal.h +++ b/sources/qetgraphicsitem/terminal.h @@ -92,6 +92,8 @@ class Terminal : public QGraphicsObject void updateConductor(); bool isLinkedTo(Terminal *); bool canBeLinkedTo(Terminal *); + int wireLimit() const; + bool hasRoomForWire() const; // methods related to XML import/export static bool valideXml(QDomElement &); diff --git a/sources/qeticons.cpp b/sources/qeticons.cpp index 0ba44f360..8d6adbfd3 100644 --- a/sources/qeticons.cpp +++ b/sources/qeticons.cpp @@ -141,6 +141,7 @@ namespace QET { QIcon Orientations; QIcon PartArc; QIcon PartBezier; + QIcon DrawFillet; QIcon PartCircle; QIcon PartEllipse; QIcon PartLine; @@ -163,9 +164,7 @@ namespace QET { QIcon ProjectFile; QIcon ProjectFileGP; QIcon ProjectProperties; - QIcon QETIcon; QIcon QETLogo; - QIcon QETOxygenLogo; QIcon QtLogo; QIcon Raise; QIcon RectToBezier; @@ -428,8 +427,7 @@ void QET::Icons::initIcons() ConfigureToolbars = QIcon::fromTheme("configure-toolbars"); IC_CopyFile = QIcon::fromTheme("item-copy"); DiagramAdd = QIcon::fromTheme("folio-new"); - Diagram.addFile(":/ico/16x16/diagram.png"); - Diagram.addFile(":/ico/diagram.png"); + Diagram = QIcon::fromTheme("diagram"); DiagramBg = QIcon::fromTheme("diagram_bg"); DiagramDelete = QIcon::fromTheme("folio-delete"); DialogCancel = QIcon::fromTheme("dialog-cancel"); @@ -542,6 +540,7 @@ void QET::Icons::initIcons() Orientations = QIcon::fromTheme("orientations"); PartArc = QIcon::fromTheme("arc"); PartBezier = QIcon::fromTheme("draw-bezier-curves"); + DrawFillet = QIcon::fromTheme("draw-fillet"); PartCircle = QIcon::fromTheme("circle"); PartEllipse = QIcon::fromTheme("ellipse"); PartLine = QIcon::fromTheme("line"); @@ -566,7 +565,6 @@ void QET::Icons::initIcons() ProjectProperties = QIcon::fromTheme("project-properties"); QETDonate = QIcon::fromTheme("help-donate"); QETDownload = QIcon::fromTheme("edit-download"); - QETIcon.addFile(":/ico/256x256/qelectrotech.png"); // The elements panel shows the project root with this icon in a 50 px // slot meant for element previews. The theme name "project" also // carries the 128 px file used by the configuration dialog, and on a @@ -578,13 +576,6 @@ void QET::Icons::initIcons() QETLogo = QIcon::fromTheme("qet"); QETManual = QIcon::fromTheme("help-contents"); QETLogo.addFile(":/ico/256x256/qet.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/128x128/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/16x16/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/22x22/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/256x256/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/32x32/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/48x48/apps/qelectrotech.png"); - QETOxygenLogo.addFile(":/ico/breeze-icons/64x64/apps/qelectrotech.png"); QETVideo = QIcon::fromTheme("kdenlive-show-video"); QtLogo = QIcon::fromTheme("qt"); Raise = QIcon::fromTheme("raise"); @@ -626,34 +617,34 @@ void QET::Icons::initIcons() ZoomIn = QIcon::fromTheme("zoom-in"); ZoomOriginal = QIcon::fromTheme("zoom-original"); ZoomOut = QIcon::fromTheme("zoom-out"); - sa.addFile(":/ico/24x16/sa.png"); - br.addFile(":/ico/24x16/br.png"); - catalonia.addFile(":/ico/24x16/catalonia.png"); - cs.addFile(":/ico/24x16/cs.png"); - da.addFile(":/ico/24x16/dk.png"); - de.addFile(":/ico/24x16/de.png"); - gr.addFile(":/ico/24x16/gr.png"); - en.addFile(":/ico/24x16/en.png"); - es.addFile(":/ico/24x16/es.png"); - fr.addFile(":/ico/24x16/fr.png"); - hr.addFile(":/ico/24x16/hr.png"); - hu.addFile(":/ico/24x16/hu.png"); - it.addFile(":/ico/24x16/it.png"); - jp.addFile(":/ico/24x16/jp.png"); - ko.addFile(":/ico/24x16/kr.png"); - pl.addFile(":/ico/24x16/pl.png"); - pt.addFile(":/ico/24x16/pt.png"); - ro.addFile(":/ico/24x16/ro.png"); - ru.addFile(":/ico/24x16/ru.png"); - sl.addFile(":/ico/24x16/sl.png"); - nl.addFile(":/ico/24x16/nl.png"); - no.addFile(":/ico/24x16/no.png"); - nl_BE.addFile(":/ico/24x16/nl_BE.png"); - tr.addFile(":/ico/24x16/tr.png"); - uk.addFile(":/ico/24x16/ua.png"); - mn.addFile(":/ico/24x16/mn.png"); - zh.addFile(":/ico/24x16/zh.png"); - se.addFile(":/ico/24x16/se.png"); + sa.addFile(":/ico/flags/sa.png"); + br.addFile(":/ico/flags/br.png"); + catalonia.addFile(":/ico/flags/catalonia.png"); + cs.addFile(":/ico/flags/cs.png"); + da.addFile(":/ico/flags/dk.png"); + de.addFile(":/ico/flags/de.png"); + gr.addFile(":/ico/flags/gr.png"); + en.addFile(":/ico/flags/en.png"); + es.addFile(":/ico/flags/es.png"); + fr.addFile(":/ico/flags/fr.png"); + hr.addFile(":/ico/flags/hr.png"); + hu.addFile(":/ico/flags/hu.png"); + it.addFile(":/ico/flags/it.png"); + jp.addFile(":/ico/flags/jp.png"); + ko.addFile(":/ico/flags/kr.png"); + pl.addFile(":/ico/flags/pl.png"); + pt.addFile(":/ico/flags/pt.png"); + ro.addFile(":/ico/flags/ro.png"); + ru.addFile(":/ico/flags/ru.png"); + sl.addFile(":/ico/flags/sl.png"); + nl.addFile(":/ico/flags/nl.png"); + no.addFile(":/ico/flags/no.png"); + nl_BE.addFile(":/ico/flags/nl_BE.png"); + tr.addFile(":/ico/flags/tr.png"); + uk.addFile(":/ico/flags/ua.png"); + mn.addFile(":/ico/flags/mn.png"); + zh.addFile(":/ico/flags/zh.png"); + se.addFile(":/ico/flags/se.png"); translation = QIcon::fromTheme("applications-development-translation"); listDrawings = QIcon::fromTheme("view-pim-journal"); AutoNum = QIcon::fromTheme("plasmagik"); @@ -664,148 +655,148 @@ void QET::Icons::initIcons() ElementSlave = QIcon::fromTheme("element-slave"); FolioXrefComing = QIcon::fromTheme("folio-ref-coming"); ElementTerminal = QIcon::fromTheme("terminal"); - ColorBrown.addFile(":/ico/22x22/color/color-brown.png"); - ColorGray.addFile(":/ico/22x22/color/color-gray.png"); - ColorOrange.addFile(":/ico/22x22/color/color-orange.png"); - ColorPurple.addFile(":/ico/22x22/color/color-purple.png"); - ColorHTMLPinkPink.addFile(":/ico/22x22/color/color-01-pink-01-pink.png"); - ColorHTMLPinkLightPink.addFile(":/ico/22x22/color/color-01-pink-02-lightpink.png"); - ColorHTMLPinkHotPink.addFile(":/ico/22x22/color/color-01-pink-03-hotpink.png"); - ColorHTMLPinkDeepPink.addFile(":/ico/22x22/color/color-01-pink-04-deeppink.png"); - ColorHTMLPinkPaleVioletRed.addFile(":/ico/22x22/color/color-01-pink-05-palevioletred.png"); - ColorHTMLPinkMediumVioletRed.addFile(":/ico/22x22/color/color-01-pink-06-mediumvioletred.png"); - ColorHTMLRedLightSalmon.addFile(":/ico/22x22/color/color-02-red-01-lightsalmon.png"); - ColorHTMLRedSalmon.addFile(":/ico/22x22/color/color-02-red-02-salmon.png"); - ColorHTMLRedDarkSalmon.addFile(":/ico/22x22/color/color-02-red-03-darksalmon.png"); - ColorHTMLRedLightCoral.addFile(":/ico/22x22/color/color-02-red-04-lightcoral.png"); - ColorHTMLRedIndianRed.addFile(":/ico/22x22/color/color-02-red-05-indianred.png"); - ColorHTMLRedCrimson.addFile(":/ico/22x22/color/color-02-red-06-crimson.png"); - ColorHTMLRedFirebrick.addFile(":/ico/22x22/color/color-02-red-07-firebrick.png"); - ColorHTMLRedDarkRed.addFile(":/ico/22x22/color/color-02-red-08-darkred.png"); - ColorHTMLRedRed.addFile(":/ico/22x22/color/color-02-red-09-red.png"); - ColorHTMLOrangeOrangeRed.addFile(":/ico/22x22/color/color-03-orange-01-orangered.png"); - ColorHTMLOrangeTomato.addFile(":/ico/22x22/color/color-03-orange-02-tomato.png"); - ColorHTMLOrangeCoral.addFile(":/ico/22x22/color/color-03-orange-03-coral.png"); - ColorHTMLOrangeDarkOrange.addFile(":/ico/22x22/color/color-03-orange-04-darkorange.png"); - ColorHTMLOrangeOrange.addFile(":/ico/22x22/color/color-03-orange-05-orange.png"); - ColorHTMLYellowYellow.addFile(":/ico/22x22/color/color-04-yellow-01-yellow.png"); - ColorHTMLYellowLightYellow.addFile(":/ico/22x22/color/color-04-yellow-02-lightyellow.png"); - ColorHTMLYellowLemonChiffon.addFile(":/ico/22x22/color/color-04-yellow-03-lemonchiffon.png"); - ColorHTMLYellowLightGoldenrodYellow.addFile(":/ico/22x22/color/color-04-yellow-04-lightgoldenrodyellow.png"); - ColorHTMLYellowPapayaWhip.addFile(":/ico/22x22/color/color-04-yellow-05-papayawhip.png"); - ColorHTMLYellowMoccasin.addFile(":/ico/22x22/color/color-04-yellow-06-moccasin.png"); - ColorHTMLYellowPeachPuff.addFile(":/ico/22x22/color/color-04-yellow-07-peachpuff.png"); - ColorHTMLYellowPaleGoldenrod.addFile(":/ico/22x22/color/color-04-yellow-08-palegoldenrod.png"); - ColorHTMLYellowKhaki.addFile(":/ico/22x22/color/color-04-yellow-09-khaki.png"); - ColorHTMLYellowDarkKhaki.addFile(":/ico/22x22/color/color-04-yellow-10-darkkhaki.png"); - ColorHTMLYellowGold.addFile(":/ico/22x22/color/color-04-yellow-11-gold.png"); - ColorHTMLBrownCornsilk.addFile(":/ico/22x22/color/color-05-brown-01-cornsilk.png"); - ColorHTMLBrownBlanchedAlmond.addFile(":/ico/22x22/color/color-05-brown-02-blanchedalmond.png"); - ColorHTMLBrownBisque.addFile(":/ico/22x22/color/color-05-brown-03-bisque.png"); - ColorHTMLBrownNavajoWhite.addFile(":/ico/22x22/color/color-05-brown-04-navajowhite.png"); - ColorHTMLBrownWheat.addFile(":/ico/22x22/color/color-05-brown-05-wheat.png"); - ColorHTMLBrownBurlywood.addFile(":/ico/22x22/color/color-05-brown-06-burlywood.png"); - ColorHTMLBrownTan.addFile(":/ico/22x22/color/color-05-brown-07-tan.png"); - ColorHTMLBrownRosyBrown.addFile(":/ico/22x22/color/color-05-brown-08-rosybrown.png"); - ColorHTMLBrownSandyBrown.addFile(":/ico/22x22/color/color-05-brown-09-sandybrown.png"); - ColorHTMLBrownGoldenrod.addFile(":/ico/22x22/color/color-05-brown-10-goldenrod.png"); - ColorHTMLBrownDarkGoldenrod.addFile(":/ico/22x22/color/color-05-brown-11-darkgoldenrod.png"); - ColorHTMLBrownPeru.addFile(":/ico/22x22/color/color-05-brown-12-peru.png"); - ColorHTMLBrownChocolate.addFile(":/ico/22x22/color/color-05-brown-13-chocolate.png"); - ColorHTMLBrownSaddleBrown.addFile(":/ico/22x22/color/color-05-brown-14-saddlebrown.png"); - ColorHTMLBrownSienna.addFile(":/ico/22x22/color/color-05-brown-15-sienna.png"); - ColorHTMLBrownBrown.addFile(":/ico/22x22/color/color-05-brown-16-brown.png"); - ColorHTMLBrownMaroon.addFile(":/ico/22x22/color/color-05-brown-17-maroon.png"); - ColorHTMLGreenDarkOliveGreen.addFile(":/ico/22x22/color/color-06-green-01-darkolivegreen.png"); - ColorHTMLGreenOlive.addFile(":/ico/22x22/color/color-06-green-02-olive.png"); - ColorHTMLGreenOliveDrab.addFile(":/ico/22x22/color/color-06-green-03-olivedrab.png"); - ColorHTMLGreenYellowGreen.addFile(":/ico/22x22/color/color-06-green-04-yellowgreen.png"); - ColorHTMLGreenLimeGreen.addFile(":/ico/22x22/color/color-06-green-05-limegreen.png"); - ColorHTMLGreenLime.addFile(":/ico/22x22/color/color-06-green-06-lime.png"); - ColorHTMLGreenLawnGreen.addFile(":/ico/22x22/color/color-06-green-07-lawngreen.png"); - ColorHTMLGreenChartreuse.addFile(":/ico/22x22/color/color-06-green-08-chartreuse.png"); - ColorHTMLGreenGreenYellow.addFile(":/ico/22x22/color/color-06-green-09-greenyellow.png"); - ColorHTMLGreenSpringGreen.addFile(":/ico/22x22/color/color-06-green-10-springgreen.png"); - ColorHTMLGreenMediumSpringGreen.addFile(":/ico/22x22/color/color-06-green-11-mediumspringgreen.png"); - ColorHTMLGreenLightGreen.addFile(":/ico/22x22/color/color-06-green-12-lightgreen.png"); - ColorHTMLGreenPaleGreen.addFile(":/ico/22x22/color/color-06-green-13-palegreen.png"); - ColorHTMLGreenDarkSeaGreen.addFile(":/ico/22x22/color/color-06-green-14-darkseagreen.png"); - ColorHTMLGreenMediumAquamarine.addFile(":/ico/22x22/color/color-06-green-15-mediumaquamarine.png"); - ColorHTMLGreenMediumSeaGreen.addFile(":/ico/22x22/color/color-06-green-16-mediumseagreen.png"); - ColorHTMLGreenSeaGreen.addFile(":/ico/22x22/color/color-06-green-17-seagreen.png"); - ColorHTMLGreenForestGreen.addFile(":/ico/22x22/color/color-06-green-18-forestgreen.png"); - ColorHTMLGreenGreen.addFile(":/ico/22x22/color/color-06-green-19-green.png"); - ColorHTMLGreenDarkGreen.addFile(":/ico/22x22/color/color-06-green-20-darkgreen.png"); - ColorHTMLCyanAqua.addFile(":/ico/22x22/color/color-07-cyan-01-aqua.png"); - ColorHTMLCyanCyan.addFile(":/ico/22x22/color/color-07-cyan-02-cyan.png"); - ColorHTMLCyanLightCyan.addFile(":/ico/22x22/color/color-07-cyan-03-lightcyan.png"); - ColorHTMLCyanPaleTurquoise.addFile(":/ico/22x22/color/color-07-cyan-04-paleturquoise.png"); - ColorHTMLCyanAquamarine.addFile(":/ico/22x22/color/color-07-cyan-05-aquamarine.png"); - ColorHTMLCyanTurquoise.addFile(":/ico/22x22/color/color-07-cyan-06-turquoise.png"); - ColorHTMLCyanMediumTurquoise.addFile(":/ico/22x22/color/color-07-cyan-07-mediumturquoise.png"); - ColorHTMLCyanDarkTurquoise.addFile(":/ico/22x22/color/color-07-cyan-08-darkturquoise.png"); - ColorHTMLCyanLightSeaGreen.addFile(":/ico/22x22/color/color-07-cyan-09-lightseagreen.png"); - ColorHTMLCyanCadetBlue.addFile(":/ico/22x22/color/color-07-cyan-10-cadetblue.png"); - ColorHTMLCyanDarkCyan.addFile(":/ico/22x22/color/color-07-cyan-11-darkcyan.png"); - ColorHTMLCyanTeal.addFile(":/ico/22x22/color/color-07-cyan-12-teal.png"); - ColorHTMLBlueLightSteelBlue.addFile(":/ico/22x22/color/color-08-blue-01-lightsteelblue.png"); - ColorHTMLBluePowderBlue.addFile(":/ico/22x22/color/color-08-blue-02-powderblue.png"); - ColorHTMLBlueLightBlue.addFile(":/ico/22x22/color/color-08-blue-03-lightblue.png"); - ColorHTMLBlueSkyBlue.addFile(":/ico/22x22/color/color-08-blue-04-skyblue.png"); - ColorHTMLBlueLightSkyBlue.addFile(":/ico/22x22/color/color-08-blue-05-lightskyblue.png"); - ColorHTMLBlueDeepSkyBlue.addFile(":/ico/22x22/color/color-08-blue-06-deepskyblue.png"); - ColorHTMLBlueDodgerBlue.addFile(":/ico/22x22/color/color-08-blue-07-dodgerblue.png"); - ColorHTMLBlueCornflowerBlue.addFile(":/ico/22x22/color/color-08-blue-08-cornflowerblue.png"); - ColorHTMLBlueSteelBlue.addFile(":/ico/22x22/color/color-08-blue-09-steelblue.png"); - ColorHTMLBlueRoyalBlue.addFile(":/ico/22x22/color/color-08-blue-10-royalblue.png"); - ColorHTMLBlueBlue.addFile(":/ico/22x22/color/color-08-blue-11-blue.png"); - ColorHTMLBlueMediumBlue.addFile(":/ico/22x22/color/color-08-blue-12-mediumblue.png"); - ColorHTMLBlueDarkBlue.addFile(":/ico/22x22/color/color-08-blue-13-darkblue.png"); - ColorHTMLBlueNavy.addFile(":/ico/22x22/color/color-08-blue-14-navy.png"); - ColorHTMLBlueMidnightBlue.addFile(":/ico/22x22/color/color-08-blue-15-midnightblue.png"); - ColorHTMLPurpleLavender.addFile(":/ico/22x22/color/color-09-purple-01-lavender.png"); - ColorHTMLPurpleThistle.addFile(":/ico/22x22/color/color-09-purple-02-thistle.png"); - ColorHTMLPurplePlum.addFile(":/ico/22x22/color/color-09-purple-03-plum.png"); - ColorHTMLPurpleViolet.addFile(":/ico/22x22/color/color-09-purple-04-violet.png"); - ColorHTMLPurpleOrchid.addFile(":/ico/22x22/color/color-09-purple-05-orchid.png"); - ColorHTMLPurpleFuchsia.addFile(":/ico/22x22/color/color-09-purple-06-fuchsia.png"); - ColorHTMLPurpleMagenta.addFile(":/ico/22x22/color/color-09-purple-07-magenta.png"); - ColorHTMLPurpleMediumOrchid.addFile(":/ico/22x22/color/color-09-purple-08-mediumorchid.png"); - ColorHTMLPurpleMediumPurple.addFile(":/ico/22x22/color/color-09-purple-09-mediumpurple.png"); - ColorHTMLPurpleBlueViolet.addFile(":/ico/22x22/color/color-09-purple-10-blueviolet.png"); - ColorHTMLPurpleDarkViolet.addFile(":/ico/22x22/color/color-09-purple-11-darkviolet.png"); - ColorHTMLPurpleDarkOrchid.addFile(":/ico/22x22/color/color-09-purple-12-darkorchid.png"); - ColorHTMLPurpleDarkMagenta.addFile(":/ico/22x22/color/color-09-purple-13-darkmagenta.png"); - ColorHTMLPurplePurple.addFile(":/ico/22x22/color/color-09-purple-14-purple.png"); - ColorHTMLPurpleIndigo.addFile(":/ico/22x22/color/color-09-purple-15-indigo.png"); - ColorHTMLPurpleDarkSlateBlue.addFile(":/ico/22x22/color/color-09-purple-16-darkslateblue.png"); - ColorHTMLPurpleSlateBlue.addFile(":/ico/22x22/color/color-09-purple-17-slateblue.png"); - ColorHTMLPurpleMediumSlateBlue.addFile(":/ico/22x22/color/color-09-purple-18-mediumslateblue.png"); - ColorHTMLWhiteWhite.addFile(":/ico/22x22/color/color-10-white-01-white.png"); - ColorHTMLWhiteSnow.addFile(":/ico/22x22/color/color-10-white-02-snow.png"); - ColorHTMLWhiteHoneydew.addFile(":/ico/22x22/color/color-10-white-03-honeydew.png"); - ColorHTMLWhiteMintCream.addFile(":/ico/22x22/color/color-10-white-04-mintcream.png"); - ColorHTMLWhiteAzure.addFile(":/ico/22x22/color/color-10-white-05-azure.png"); - ColorHTMLWhiteAliceBlue.addFile(":/ico/22x22/color/color-10-white-06-aliceblue.png"); - ColorHTMLWhiteGhostWhite.addFile(":/ico/22x22/color/color-10-white-07-ghostwhite.png"); - ColorHTMLWhiteWhiteSmoke.addFile(":/ico/22x22/color/color-10-white-08-whitesmoke.png"); - ColorHTMLWhiteSeashell.addFile(":/ico/22x22/color/color-10-white-09-seashell.png"); - ColorHTMLWhiteBeige.addFile(":/ico/22x22/color/color-10-white-10-beige.png"); - ColorHTMLWhiteOldLace.addFile(":/ico/22x22/color/color-10-white-11-oldlace.png"); - ColorHTMLWhiteFloralWhite.addFile(":/ico/22x22/color/color-10-white-12-floralwhite.png"); - ColorHTMLWhiteIvory.addFile(":/ico/22x22/color/color-10-white-13-ivory.png"); - ColorHTMLWhiteAntiqueWhite.addFile(":/ico/22x22/color/color-10-white-14-antiquewhite.png"); - ColorHTMLWhiteLinen.addFile(":/ico/22x22/color/color-10-white-15-linen.png"); - ColorHTMLWhiteLavenderBlush.addFile(":/ico/22x22/color/color-10-white-16-lavenderblush.png"); - ColorHTMLWhiteMistyRose.addFile(":/ico/22x22/color/color-10-white-17-mistyrose.png"); - ColorHTMLGrayGainsboro.addFile(":/ico/22x22/color/color-11-gray-01-gainsboro.png"); - ColorHTMLGrayLightGray.addFile(":/ico/22x22/color/color-11-gray-02-lightgray.png"); - ColorHTMLGraySilver.addFile(":/ico/22x22/color/color-11-gray-03-silver.png"); - ColorHTMLGrayDarkGray.addFile(":/ico/22x22/color/color-11-gray-04-darkgray.png"); - ColorHTMLGrayGray.addFile(":/ico/22x22/color/color-11-gray-05-gray.png"); - ColorHTMLGrayDimGray.addFile(":/ico/22x22/color/color-11-gray-06-dimgray.png"); - ColorHTMLGrayLightSlateGray.addFile(":/ico/22x22/color/color-11-gray-07-lightslategray.png"); - ColorHTMLGraySlateGray.addFile(":/ico/22x22/color/color-11-gray-08-slategray.png"); - ColorHTMLGrayDarkSlateGray.addFile(":/ico/22x22/color/color-11-gray-09-darkslategray.png"); - ColorHTMLGrayBlack.addFile(":/ico/22x22/color/color-11-gray-10-black.png"); + ColorBrown.addFile(":/ico/colors/color-brown.png"); + ColorGray.addFile(":/ico/colors/color-gray.png"); + ColorOrange.addFile(":/ico/colors/color-orange.png"); + ColorPurple.addFile(":/ico/colors/color-purple.png"); + ColorHTMLPinkPink.addFile(":/ico/colors/color-01-pink-01-pink.png"); + ColorHTMLPinkLightPink.addFile(":/ico/colors/color-01-pink-02-lightpink.png"); + ColorHTMLPinkHotPink.addFile(":/ico/colors/color-01-pink-03-hotpink.png"); + ColorHTMLPinkDeepPink.addFile(":/ico/colors/color-01-pink-04-deeppink.png"); + ColorHTMLPinkPaleVioletRed.addFile(":/ico/colors/color-01-pink-05-palevioletred.png"); + ColorHTMLPinkMediumVioletRed.addFile(":/ico/colors/color-01-pink-06-mediumvioletred.png"); + ColorHTMLRedLightSalmon.addFile(":/ico/colors/color-02-red-01-lightsalmon.png"); + ColorHTMLRedSalmon.addFile(":/ico/colors/color-02-red-02-salmon.png"); + ColorHTMLRedDarkSalmon.addFile(":/ico/colors/color-02-red-03-darksalmon.png"); + ColorHTMLRedLightCoral.addFile(":/ico/colors/color-02-red-04-lightcoral.png"); + ColorHTMLRedIndianRed.addFile(":/ico/colors/color-02-red-05-indianred.png"); + ColorHTMLRedCrimson.addFile(":/ico/colors/color-02-red-06-crimson.png"); + ColorHTMLRedFirebrick.addFile(":/ico/colors/color-02-red-07-firebrick.png"); + ColorHTMLRedDarkRed.addFile(":/ico/colors/color-02-red-08-darkred.png"); + ColorHTMLRedRed.addFile(":/ico/colors/color-02-red-09-red.png"); + ColorHTMLOrangeOrangeRed.addFile(":/ico/colors/color-03-orange-01-orangered.png"); + ColorHTMLOrangeTomato.addFile(":/ico/colors/color-03-orange-02-tomato.png"); + ColorHTMLOrangeCoral.addFile(":/ico/colors/color-03-orange-03-coral.png"); + ColorHTMLOrangeDarkOrange.addFile(":/ico/colors/color-03-orange-04-darkorange.png"); + ColorHTMLOrangeOrange.addFile(":/ico/colors/color-03-orange-05-orange.png"); + ColorHTMLYellowYellow.addFile(":/ico/colors/color-04-yellow-01-yellow.png"); + ColorHTMLYellowLightYellow.addFile(":/ico/colors/color-04-yellow-02-lightyellow.png"); + ColorHTMLYellowLemonChiffon.addFile(":/ico/colors/color-04-yellow-03-lemonchiffon.png"); + ColorHTMLYellowLightGoldenrodYellow.addFile(":/ico/colors/color-04-yellow-04-lightgoldenrodyellow.png"); + ColorHTMLYellowPapayaWhip.addFile(":/ico/colors/color-04-yellow-05-papayawhip.png"); + ColorHTMLYellowMoccasin.addFile(":/ico/colors/color-04-yellow-06-moccasin.png"); + ColorHTMLYellowPeachPuff.addFile(":/ico/colors/color-04-yellow-07-peachpuff.png"); + ColorHTMLYellowPaleGoldenrod.addFile(":/ico/colors/color-04-yellow-08-palegoldenrod.png"); + ColorHTMLYellowKhaki.addFile(":/ico/colors/color-04-yellow-09-khaki.png"); + ColorHTMLYellowDarkKhaki.addFile(":/ico/colors/color-04-yellow-10-darkkhaki.png"); + ColorHTMLYellowGold.addFile(":/ico/colors/color-04-yellow-11-gold.png"); + ColorHTMLBrownCornsilk.addFile(":/ico/colors/color-05-brown-01-cornsilk.png"); + ColorHTMLBrownBlanchedAlmond.addFile(":/ico/colors/color-05-brown-02-blanchedalmond.png"); + ColorHTMLBrownBisque.addFile(":/ico/colors/color-05-brown-03-bisque.png"); + ColorHTMLBrownNavajoWhite.addFile(":/ico/colors/color-05-brown-04-navajowhite.png"); + ColorHTMLBrownWheat.addFile(":/ico/colors/color-05-brown-05-wheat.png"); + ColorHTMLBrownBurlywood.addFile(":/ico/colors/color-05-brown-06-burlywood.png"); + ColorHTMLBrownTan.addFile(":/ico/colors/color-05-brown-07-tan.png"); + ColorHTMLBrownRosyBrown.addFile(":/ico/colors/color-05-brown-08-rosybrown.png"); + ColorHTMLBrownSandyBrown.addFile(":/ico/colors/color-05-brown-09-sandybrown.png"); + ColorHTMLBrownGoldenrod.addFile(":/ico/colors/color-05-brown-10-goldenrod.png"); + ColorHTMLBrownDarkGoldenrod.addFile(":/ico/colors/color-05-brown-11-darkgoldenrod.png"); + ColorHTMLBrownPeru.addFile(":/ico/colors/color-05-brown-12-peru.png"); + ColorHTMLBrownChocolate.addFile(":/ico/colors/color-05-brown-13-chocolate.png"); + ColorHTMLBrownSaddleBrown.addFile(":/ico/colors/color-05-brown-14-saddlebrown.png"); + ColorHTMLBrownSienna.addFile(":/ico/colors/color-05-brown-15-sienna.png"); + ColorHTMLBrownBrown.addFile(":/ico/colors/color-05-brown-16-brown.png"); + ColorHTMLBrownMaroon.addFile(":/ico/colors/color-05-brown-17-maroon.png"); + ColorHTMLGreenDarkOliveGreen.addFile(":/ico/colors/color-06-green-01-darkolivegreen.png"); + ColorHTMLGreenOlive.addFile(":/ico/colors/color-06-green-02-olive.png"); + ColorHTMLGreenOliveDrab.addFile(":/ico/colors/color-06-green-03-olivedrab.png"); + ColorHTMLGreenYellowGreen.addFile(":/ico/colors/color-06-green-04-yellowgreen.png"); + ColorHTMLGreenLimeGreen.addFile(":/ico/colors/color-06-green-05-limegreen.png"); + ColorHTMLGreenLime.addFile(":/ico/colors/color-06-green-06-lime.png"); + ColorHTMLGreenLawnGreen.addFile(":/ico/colors/color-06-green-07-lawngreen.png"); + ColorHTMLGreenChartreuse.addFile(":/ico/colors/color-06-green-08-chartreuse.png"); + ColorHTMLGreenGreenYellow.addFile(":/ico/colors/color-06-green-09-greenyellow.png"); + ColorHTMLGreenSpringGreen.addFile(":/ico/colors/color-06-green-10-springgreen.png"); + ColorHTMLGreenMediumSpringGreen.addFile(":/ico/colors/color-06-green-11-mediumspringgreen.png"); + ColorHTMLGreenLightGreen.addFile(":/ico/colors/color-06-green-12-lightgreen.png"); + ColorHTMLGreenPaleGreen.addFile(":/ico/colors/color-06-green-13-palegreen.png"); + ColorHTMLGreenDarkSeaGreen.addFile(":/ico/colors/color-06-green-14-darkseagreen.png"); + ColorHTMLGreenMediumAquamarine.addFile(":/ico/colors/color-06-green-15-mediumaquamarine.png"); + ColorHTMLGreenMediumSeaGreen.addFile(":/ico/colors/color-06-green-16-mediumseagreen.png"); + ColorHTMLGreenSeaGreen.addFile(":/ico/colors/color-06-green-17-seagreen.png"); + ColorHTMLGreenForestGreen.addFile(":/ico/colors/color-06-green-18-forestgreen.png"); + ColorHTMLGreenGreen.addFile(":/ico/colors/color-06-green-19-green.png"); + ColorHTMLGreenDarkGreen.addFile(":/ico/colors/color-06-green-20-darkgreen.png"); + ColorHTMLCyanAqua.addFile(":/ico/colors/color-07-cyan-01-aqua.png"); + ColorHTMLCyanCyan.addFile(":/ico/colors/color-07-cyan-02-cyan.png"); + ColorHTMLCyanLightCyan.addFile(":/ico/colors/color-07-cyan-03-lightcyan.png"); + ColorHTMLCyanPaleTurquoise.addFile(":/ico/colors/color-07-cyan-04-paleturquoise.png"); + ColorHTMLCyanAquamarine.addFile(":/ico/colors/color-07-cyan-05-aquamarine.png"); + ColorHTMLCyanTurquoise.addFile(":/ico/colors/color-07-cyan-06-turquoise.png"); + ColorHTMLCyanMediumTurquoise.addFile(":/ico/colors/color-07-cyan-07-mediumturquoise.png"); + ColorHTMLCyanDarkTurquoise.addFile(":/ico/colors/color-07-cyan-08-darkturquoise.png"); + ColorHTMLCyanLightSeaGreen.addFile(":/ico/colors/color-07-cyan-09-lightseagreen.png"); + ColorHTMLCyanCadetBlue.addFile(":/ico/colors/color-07-cyan-10-cadetblue.png"); + ColorHTMLCyanDarkCyan.addFile(":/ico/colors/color-07-cyan-11-darkcyan.png"); + ColorHTMLCyanTeal.addFile(":/ico/colors/color-07-cyan-12-teal.png"); + ColorHTMLBlueLightSteelBlue.addFile(":/ico/colors/color-08-blue-01-lightsteelblue.png"); + ColorHTMLBluePowderBlue.addFile(":/ico/colors/color-08-blue-02-powderblue.png"); + ColorHTMLBlueLightBlue.addFile(":/ico/colors/color-08-blue-03-lightblue.png"); + ColorHTMLBlueSkyBlue.addFile(":/ico/colors/color-08-blue-04-skyblue.png"); + ColorHTMLBlueLightSkyBlue.addFile(":/ico/colors/color-08-blue-05-lightskyblue.png"); + ColorHTMLBlueDeepSkyBlue.addFile(":/ico/colors/color-08-blue-06-deepskyblue.png"); + ColorHTMLBlueDodgerBlue.addFile(":/ico/colors/color-08-blue-07-dodgerblue.png"); + ColorHTMLBlueCornflowerBlue.addFile(":/ico/colors/color-08-blue-08-cornflowerblue.png"); + ColorHTMLBlueSteelBlue.addFile(":/ico/colors/color-08-blue-09-steelblue.png"); + ColorHTMLBlueRoyalBlue.addFile(":/ico/colors/color-08-blue-10-royalblue.png"); + ColorHTMLBlueBlue.addFile(":/ico/colors/color-08-blue-11-blue.png"); + ColorHTMLBlueMediumBlue.addFile(":/ico/colors/color-08-blue-12-mediumblue.png"); + ColorHTMLBlueDarkBlue.addFile(":/ico/colors/color-08-blue-13-darkblue.png"); + ColorHTMLBlueNavy.addFile(":/ico/colors/color-08-blue-14-navy.png"); + ColorHTMLBlueMidnightBlue.addFile(":/ico/colors/color-08-blue-15-midnightblue.png"); + ColorHTMLPurpleLavender.addFile(":/ico/colors/color-09-purple-01-lavender.png"); + ColorHTMLPurpleThistle.addFile(":/ico/colors/color-09-purple-02-thistle.png"); + ColorHTMLPurplePlum.addFile(":/ico/colors/color-09-purple-03-plum.png"); + ColorHTMLPurpleViolet.addFile(":/ico/colors/color-09-purple-04-violet.png"); + ColorHTMLPurpleOrchid.addFile(":/ico/colors/color-09-purple-05-orchid.png"); + ColorHTMLPurpleFuchsia.addFile(":/ico/colors/color-09-purple-06-fuchsia.png"); + ColorHTMLPurpleMagenta.addFile(":/ico/colors/color-09-purple-07-magenta.png"); + ColorHTMLPurpleMediumOrchid.addFile(":/ico/colors/color-09-purple-08-mediumorchid.png"); + ColorHTMLPurpleMediumPurple.addFile(":/ico/colors/color-09-purple-09-mediumpurple.png"); + ColorHTMLPurpleBlueViolet.addFile(":/ico/colors/color-09-purple-10-blueviolet.png"); + ColorHTMLPurpleDarkViolet.addFile(":/ico/colors/color-09-purple-11-darkviolet.png"); + ColorHTMLPurpleDarkOrchid.addFile(":/ico/colors/color-09-purple-12-darkorchid.png"); + ColorHTMLPurpleDarkMagenta.addFile(":/ico/colors/color-09-purple-13-darkmagenta.png"); + ColorHTMLPurplePurple.addFile(":/ico/colors/color-09-purple-14-purple.png"); + ColorHTMLPurpleIndigo.addFile(":/ico/colors/color-09-purple-15-indigo.png"); + ColorHTMLPurpleDarkSlateBlue.addFile(":/ico/colors/color-09-purple-16-darkslateblue.png"); + ColorHTMLPurpleSlateBlue.addFile(":/ico/colors/color-09-purple-17-slateblue.png"); + ColorHTMLPurpleMediumSlateBlue.addFile(":/ico/colors/color-09-purple-18-mediumslateblue.png"); + ColorHTMLWhiteWhite.addFile(":/ico/colors/color-10-white-01-white.png"); + ColorHTMLWhiteSnow.addFile(":/ico/colors/color-10-white-02-snow.png"); + ColorHTMLWhiteHoneydew.addFile(":/ico/colors/color-10-white-03-honeydew.png"); + ColorHTMLWhiteMintCream.addFile(":/ico/colors/color-10-white-04-mintcream.png"); + ColorHTMLWhiteAzure.addFile(":/ico/colors/color-10-white-05-azure.png"); + ColorHTMLWhiteAliceBlue.addFile(":/ico/colors/color-10-white-06-aliceblue.png"); + ColorHTMLWhiteGhostWhite.addFile(":/ico/colors/color-10-white-07-ghostwhite.png"); + ColorHTMLWhiteWhiteSmoke.addFile(":/ico/colors/color-10-white-08-whitesmoke.png"); + ColorHTMLWhiteSeashell.addFile(":/ico/colors/color-10-white-09-seashell.png"); + ColorHTMLWhiteBeige.addFile(":/ico/colors/color-10-white-10-beige.png"); + ColorHTMLWhiteOldLace.addFile(":/ico/colors/color-10-white-11-oldlace.png"); + ColorHTMLWhiteFloralWhite.addFile(":/ico/colors/color-10-white-12-floralwhite.png"); + ColorHTMLWhiteIvory.addFile(":/ico/colors/color-10-white-13-ivory.png"); + ColorHTMLWhiteAntiqueWhite.addFile(":/ico/colors/color-10-white-14-antiquewhite.png"); + ColorHTMLWhiteLinen.addFile(":/ico/colors/color-10-white-15-linen.png"); + ColorHTMLWhiteLavenderBlush.addFile(":/ico/colors/color-10-white-16-lavenderblush.png"); + ColorHTMLWhiteMistyRose.addFile(":/ico/colors/color-10-white-17-mistyrose.png"); + ColorHTMLGrayGainsboro.addFile(":/ico/colors/color-11-gray-01-gainsboro.png"); + ColorHTMLGrayLightGray.addFile(":/ico/colors/color-11-gray-02-lightgray.png"); + ColorHTMLGraySilver.addFile(":/ico/colors/color-11-gray-03-silver.png"); + ColorHTMLGrayDarkGray.addFile(":/ico/colors/color-11-gray-04-darkgray.png"); + ColorHTMLGrayGray.addFile(":/ico/colors/color-11-gray-05-gray.png"); + ColorHTMLGrayDimGray.addFile(":/ico/colors/color-11-gray-06-dimgray.png"); + ColorHTMLGrayLightSlateGray.addFile(":/ico/colors/color-11-gray-07-lightslategray.png"); + ColorHTMLGraySlateGray.addFile(":/ico/colors/color-11-gray-08-slategray.png"); + ColorHTMLGrayDarkSlateGray.addFile(":/ico/colors/color-11-gray-09-darkslategray.png"); + ColorHTMLGrayBlack.addFile(":/ico/colors/color-11-gray-10-black.png"); } diff --git a/sources/qeticons.h b/sources/qeticons.h index 0306870d8..4e2642a26 100644 --- a/sources/qeticons.h +++ b/sources/qeticons.h @@ -149,6 +149,7 @@ namespace QET { extern QIcon Orientations; extern QIcon PartArc; extern QIcon PartBezier; + extern QIcon DrawFillet; extern QIcon PartCircle; extern QIcon PartEllipse; extern QIcon PartLine; @@ -171,9 +172,7 @@ namespace QET { extern QIcon ProjectNew; extern QIcon ProjectProperties; extern QIcon Projects; - extern QIcon QETIcon; extern QIcon QETLogo; - extern QIcon QETOxygenLogo; extern QIcon QtLogo; extern QIcon Raise; extern QIcon RectToBezier; diff --git a/sources/qetinformation.h b/sources/qetinformation.h index ba110b0d1..b0ba1c0a4 100644 --- a/sources/qetinformation.h +++ b/sources/qetinformation.h @@ -40,6 +40,13 @@ namespace QETInformation /** Default information related to element **/ static QString ELMT_LABEL = "label"; static QString ELMT_FORMULA = "formula"; + /** + Uuid of the project's element numbering scheme the element's + formula follows. Internal: never shown, edited, exported or + printed as an information of its own; it only exists alongside a + non-empty ELMT_FORMULA (see Element::setElementInformations()). + */ + static QString ELMT_FORMULA_ID = "formula_id"; static QString ELMT_COMMENT = "comment"; static QString ELMT_FUNCTION = "function"; static QString ELMT_DESCRIPTION = "description"; diff --git a/sources/qetmainwindow.cpp b/sources/qetmainwindow.cpp index 36fccebf8..0ff5def85 100644 --- a/sources/qetmainwindow.cpp +++ b/sources/qetmainwindow.cpp @@ -69,6 +69,7 @@ void QETMainWindow::initCommonActions() QETApp *qet_app = QETApp::instance(); configure_action_ = new QAction(QET::Icons::Configure, tr("&Configurer QElectroTech"), this); + ShortcutManager::instance().registerAction(configure_action_, "mainwindow.configure", tr("Général"), QKeySequence()); configure_action_ -> setStatusTip(tr("Permet de régler différents paramètres de QElectroTech", "status bar tip")); connect(configure_action_, &QAction::triggered, [qet_app]() { @@ -92,6 +93,11 @@ void QETMainWindow::initCommonActions() } }); + customize_action_ = new QAction(QET::Icons::ConfigureToolbars, tr("&Personnaliser..."), this); + ShortcutManager::instance().registerAction(customize_action_, "mainwindow.customize", tr("Général"), QKeySequence()); + customize_action_ -> setStatusTip(tr("Barres d'outils, barre de raccourcis, clavier et gestes de la souris, dans une seule fenêtre", "status bar tip")); + connect(customize_action_, &QAction::triggered, qet_app, [qet_app]() { qet_app->customizeQET(); }); + export_config_action_ = new QAction(QET::Icons::DocumentExport, tr("Enregistrer la configuration sous..."), this); export_config_action_ -> setStatusTip(tr("Enregistre les réglages de QElectroTech dans un fichier", "status bar tip")); connect(export_config_action_, &QAction::triggered, qet_app, &QETApp::exportConfiguration); @@ -107,8 +113,10 @@ void QETMainWindow::initCommonActions() connect(fullscreen_action_, &QAction::triggered, this, &QETMainWindow::toggleFullScreen); whatsthis_action_ = QWhatsThis::createAction(this); + ShortcutManager::instance().registerAction(whatsthis_action_, "mainwindow.whats_this", tr("Général"), Qt::SHIFT | Qt::Key_F1); about_qet_ = new QAction(QET::Icons::QETLogo, tr("À &propos de QElectroTech"), this); + ShortcutManager::instance().registerAction(about_qet_, "mainwindow.about_qet", tr("Général"), QKeySequence()); about_qet_ -> setStatusTip(tr("Affiche des informations sur QElectroTech", "status bar tip")); connect(about_qet_, &QAction::triggered, qet_app, &QETApp::aboutQET); @@ -123,6 +131,7 @@ void QETMainWindow::initCommonActions() ShortcutManager::instance().registerAction(manual_online_, "mainwindow.manual_online", tr("Général"), Qt::Key_F1); connect_ai_ = new QAction(tr("Connecter un assistant IA..."), this); + ShortcutManager::instance().registerAction(connect_ai_, "mainwindow.connect_ai", tr("Général"), QKeySequence()); connect_ai_ -> setStatusTip(tr("Affiche la configuration qui permet à un assistant IA d'utiliser QElectroTech", "status bar tip")); connect(connect_ai_, &QAction::triggered, this, [this]() { AiAssistantDialog dialog(this); @@ -130,6 +139,7 @@ void QETMainWindow::initCommonActions() }); youtube_ = new QAction(QET::Icons::QETVideo, tr("Chaine Youtube"), this); + ShortcutManager::instance().registerAction(youtube_, "mainwindow.youtube", tr("Général"), QKeySequence()); youtube_ -> setStatusTip(tr("Lance le navigateur par défaut vers la chaine Youtube de QElectroTech", "status bar tip")); connect(youtube_, &QAction::triggered, [](bool) { @@ -138,9 +148,11 @@ void QETMainWindow::initCommonActions() }); upgrade_ = new QAction(QET::Icons::QETDownload, tr("Télécharger une nouvelle version (dev)"), this); + ShortcutManager::instance().registerAction(upgrade_, "mainwindow.download_windows", tr("Général"), QKeySequence()); upgrade_ -> setStatusTip(tr("Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech", "status bar tip")); upgrade_M = new QAction(QET::Icons::QETDownload, tr("Télécharger une nouvelle version (dev)"), this); + ShortcutManager::instance().registerAction(upgrade_M, "mainwindow.download_mac", tr("Général"), QKeySequence()); upgrade_M -> setStatusTip(tr("Lance le navigateur par défaut vers le dépot Nightly en ligne de QElectroTech", "status bar tip")); connect(upgrade_, &QAction::triggered, [](bool) { @@ -154,6 +166,7 @@ void QETMainWindow::initCommonActions() }); donate_ = new QAction(QET::Icons::QETDonate, tr("Soutenir le projet par un don"), this); + ShortcutManager::instance().registerAction(donate_, "mainwindow.donate", tr("Général"), QKeySequence()); donate_ -> setStatusTip(tr("Soutenir le projet QElectroTech par un don", "status bar tip")); connect(donate_, &QAction::triggered, [](bool) { @@ -162,10 +175,12 @@ void QETMainWindow::initCommonActions() }); about_qt_ = new QAction(QET::Icons::QtLogo, tr("À propos de &Qt"), this); + ShortcutManager::instance().registerAction(about_qt_, "mainwindow.about_qt", tr("Général"), QKeySequence()); about_qt_ -> setStatusTip(tr("Affiche des informations sur la bibliothèque Qt", "status bar tip")); connect(about_qt_, &QAction::triggered, qApp, &QApplication::aboutQt); diagnostics_action_ = new QAction(QET::Icons::DialogInformation, tr("Enregistrer un rapport de diagnostic..."), this); + ShortcutManager::instance().registerAction(diagnostics_action_, "mainwindow.diagnostics_report", tr("Général"), QKeySequence()); diagnostics_action_ -> setStatusTip(tr("Génère un rapport avec les derniers messages de journalisation, pour l'inclure dans un rapport de bug", "status bar tip")); connect(diagnostics_action_, &QAction::triggered, this, []() { QETApp::instance()->showDiagnosticsReport(); @@ -180,6 +195,7 @@ void QETMainWindow::initCommonMenus() settings_menu_ = new QMenu(tr("&Configuration", "window menu"), this); settings_menu_ -> addAction(fullscreen_action_); settings_menu_ -> addAction(configure_action_); + settings_menu_ -> addAction(customize_action_); settings_menu_ -> addSeparator(); settings_menu_ -> addAction(export_config_action_); settings_menu_ -> addAction(import_config_action_); @@ -264,6 +280,22 @@ void QETMainWindow::updateFullScreenAction() ShortcutManager::instance().registerAction(fullscreen_action_, "mainwindow.fullscreen", tr("Général"), Qt::CTRL | Qt::SHIFT | Qt::Key_F); } +/** + @brief QETMainWindow::createPopupMenu + The menu shown on a right-click on a toolbar or a dock title, and the + Configuration > Afficher submenu: Qt's list of toolbars and docks, + then Personnaliser..., as in most applications with toolbars. +*/ +QMenu *QETMainWindow::createPopupMenu() +{ + QMenu *menu = QMainWindow::createPopupMenu(); + if (menu) { + menu -> addSeparator(); + menu -> addAction(customize_action_); + } + return menu; +} + /** Check whether a sub menu dedicated to docks and toolbars can be inserted on top of the settings menu. diff --git a/sources/qetmainwindow.h b/sources/qetmainwindow.h index fe76fb7e0..38aac40e3 100644 --- a/sources/qetmainwindow.h +++ b/sources/qetmainwindow.h @@ -43,6 +43,7 @@ class QETMainWindow : public QMainWindow { protected: void activateMenuBar(); bool event(QEvent *) override; + QMenu *createPopupMenu() override; void dragEnterEvent(QDragEnterEvent *e) override; void dropEvent(QDropEvent *e) override; virtual void firstActivation(QEvent *); @@ -56,6 +57,7 @@ class QETMainWindow : public QMainWindow { // attributes protected: QAction *configure_action_; ///< Launch the QElectroTech configuration dialog + QAction *customize_action_; ///< Launch the Customise window (toolbars, keys, gestures) QAction *export_config_action_; ///< Save the settings to a file QAction *import_config_action_; ///< Replace the settings with a saved file QAction *fullscreen_action_; ///< Toggle full screen diff --git a/sources/qetpalette.cpp b/sources/qetpalette.cpp index e8910a297..c8e661533 100644 --- a/sources/qetpalette.cpp +++ b/sources/qetpalette.cpp @@ -83,8 +83,14 @@ bool QET::Palette::isDark(const QPalette &palette) void QET::Palette::invertLightness(QImage &image, const QColor &sheet, const QColor &ink) { - if (image.format() != QImage::Format_RGB32) - image.convertTo(QImage::Format_RGB32); + if (image.format() != QImage::Format_RGB32) image.convertTo(QImage::Format_RGB32); + invertLightnessLayer(image, sheet, ink); +} + +void QET::Palette::invertLightnessLayer(QImage &image, const QColor &sheet, const QColor &ink) +{ + if (image.format() != QImage::Format_RGB32 && image.format() != QImage::Format_ARGB32) + image.convertTo(QImage::Format_ARGB32); // One table per channel maps the inverted value (0 = was white, // 255 = was black) onto the sheet..ink span. @@ -106,6 +112,7 @@ void QET::Palette::invertLightness(QImage &image, const QColor &sheet, quint32 *line = reinterpret_cast(image.scanLine(y)); for (int x = 0, width = image.width(); x < width; ++x) { const quint32 pixel = line[x]; + if ((pixel & 0xff000000u) == 0) continue; const int red = (pixel >> 16) & 0xff; const int green = (pixel >> 8) & 0xff; const int blue = pixel & 0xff; @@ -114,7 +121,7 @@ void QET::Palette::invertLightness(QImage &image, const QColor &sheet, if (blue > highest) highest = blue; if (blue < lowest) lowest = blue; const int offset = 255 - highest - lowest; - line[x] = 0xff000000u + line[x] = (pixel & 0xff000000u) | (quint32(red_of[red + offset]) << 16) | (quint32(green_of[green + offset]) << 8) | quint32(blue_of[blue + offset]); diff --git a/sources/qetpalette.h b/sources/qetpalette.h index e1a5cabcd..a60190c0b 100644 --- a/sources/qetpalette.h +++ b/sources/qetpalette.h @@ -66,6 +66,9 @@ namespace QET { */ void invertLightness(QImage &image, const QColor &sheet = Qt::black, const QColor &ink = Qt::white); + /// The same colour mapping for a transparent composition layer. + /// Retains alpha; premultiplied input is converted to straight ARGB32. + void invertLightnessLayer(QImage &image, const QColor &sheet, const QColor &ink); /** The color of the grid dots on a sheet of color \a sheet: black, diff --git a/sources/qetproject.cpp b/sources/qetproject.cpp index fe2d88a48..2ba2261fc 100644 --- a/sources/qetproject.cpp +++ b/sources/qetproject.cpp @@ -26,6 +26,7 @@ #include "cable/cable.h" #include "cable/cablemanager.h" #include "cable/cablepart.h" +#include "autoNum/elementautonumschemecommand.h" #include "diagram.h" #include "qetgraphicsitem/element.h" #include "qetapp.h" @@ -38,6 +39,7 @@ #include "ui/importelementdialog.h" #include "TerminalStrip/terminalstrip.h" #include "qetxml.h" +#include "qetinformation.h" #include "qetversion.h" #include "undocommand/adddiagramcommand.h" @@ -75,6 +77,11 @@ m_project_properties_handler{this} m_elements_collection = new XmlElementCollection(this); init(); + //A new project keeps the texts of its turned symbols horizontal; a + //project saved without the setting is read with it off, so it looks + //as it always did (readSymbolTextsXml()) + m_upright_symbol_texts = true; + QSettings settings; //Read auto break conductor default from global settings @@ -964,9 +971,8 @@ void QETProject::setCableXAxisFirst(bool x_axis_first) @brief QETProject::renumberElementsBySchemeTitle Renumber existing elements by element autonumbering scheme title. - Elements do not store the scheme title; they store a "formula" (elementInformations["formula"]). - This method matches elements to schemes by comparing the stored formula with the formula derived - from each scheme's NumerotationContext. + Elements follow a scheme by its uuid (elementInformations["formula_id"]), + see elementsUsingElementAutoNum(). If scheme_title is empty, all schemes are renumbered. Otherwise only that scheme is renumbered. The operation is undoable. @@ -974,93 +980,14 @@ void QETProject::setCableXAxisFirst(bool x_axis_first) void QETProject::renumberElementsBySchemeTitle(const QString &scheme_title) { if (!m_undo_stack) return; - if (isReadOnly()) return; - // Build map: scheme title -> canonical formula - QHash scheme_formula; - for (const QString &k : m_element_autonum.keys()) { - if (!scheme_title.isEmpty() && k != scheme_title) continue; - scheme_formula.insert(k, autonum::numerotationContextToFormula(m_element_autonum.value(k))); + auto *cmd = ElementAutoNumSchemeCommand::renumber( + this, scheme_title, nullptr, + scheme_title.isEmpty() ? tr("Renumber elements") + : tr("Renumber elements (%1)").arg(scheme_title)); + if (cmd) { + m_undo_stack->push(cmd); } - if (scheme_formula.isEmpty()) return; - - // Collect elements per scheme by formula match - QHash> by_key; - for (Diagram *d : diagrams()) { - if (!d) continue; - const auto items = d->items(); - for (QGraphicsItem *it : items) { - auto *el = qgraphicsitem_cast(it); - if (!el) continue; - if (el->linkType() == Element::Slave || (el->linkType() & Element::AllReport)) - continue; - - const QString el_formula = el->elementInformations().value(QStringLiteral("formula")).toString(); - if (el_formula.isEmpty()) continue; - - QString matched_key; - for (auto itf = scheme_formula.constBegin(); itf != scheme_formula.constEnd(); ++itf) { - if (itf.value() == el_formula) { matched_key = itf.key(); break; } - } - if (matched_key.isEmpty()) continue; - by_key[matched_key].append(el); - } - } - if (by_key.isEmpty()) return; - - QVector changes; - QHash old_ctx; - QHash new_ctx; - - for (auto it = by_key.constBegin(); it != by_key.constEnd(); ++it) { - old_ctx.insert(it.key(), m_element_autonum.value(it.key())); - } - - for (auto it = by_key.begin(); it != by_key.end(); ++it) { - const QString key = it.key(); - auto &elements = it.value(); - std::sort(elements.begin(), elements.end(), [](Element *a, Element *b){ return comparPos(a, b); }); - - NumerotationContext base_tmpl = m_element_autonum.value(key); - NumerotationContext nc = autonum::resetContextCounters(base_tmpl); - NumerotationContextCommands ncc(nc); - - for (Element *el : elements) { - RenumberElementsCommand::ElementChange ch; - ch.element = el; - ch.old_infos = el->elementInformations(); - ch.old_seq = el->sequenceStruct(); - ch.old_frozen = el->isFreezeLabel(); - ch.new_frozen = ch.old_frozen; // preserve frozen state - - const QString formula = ch.old_infos.value(QStringLiteral("formula")).toString(); - autonum::sequentialNumbers new_seq; - new_seq.clear(); - autonum::setSequential(formula, new_seq, nc, el->diagram(), key); - - DiagramContext new_infos = ch.old_infos; - new_infos.addValue(QStringLiteral("label"), autonum::AssignVariables::formulaToLabel(formula, new_seq, el->diagram(), el, nullptr)); - ch.new_infos = new_infos; - ch.new_seq = new_seq; - changes.append(ch); - - // advance - nc = ncc.next(); - ncc = NumerotationContextCommands(nc); - } - - new_ctx.insert(key, nc); - } - - if (changes.isEmpty()) return; - - auto *cmd = new RenumberElementsCommand( - this, - changes, - old_ctx, - new_ctx, - scheme_title.isEmpty() ? tr("Renumber elements") : tr("Renumber elements (%1)").arg(scheme_title)); - m_undo_stack->push(cmd); } /** @@ -1123,11 +1050,232 @@ void QETProject::addConductorAutoNum(const QString& key, const NumerotationConte */ void QETProject::addElementAutoNum(const QString& key, const NumerotationContext& context) { + addElementAutoNum(key, context, QUuid()); +} + +/** + @brief QETProject::addElementAutoNum + Add or replace the element numbering scheme @p key. + A scheme that already exists keeps its uuid unless @p id is given; + a new one takes @p id, or a new uuid when @p id is null or already + used by another scheme. + @param key : title of the scheme + @param context : its numerotation context + @param id : its uuid, null to keep or create one +*/ +void QETProject::addElementAutoNum(const QString &key, + const NumerotationContext &context, + const QUuid &id) +{ + QUuid scheme_id = id; + if (!scheme_id.isNull()) { + const QString owner = elementAutoNumTitle(scheme_id); + if (!owner.isEmpty() && owner != key) { + scheme_id = QUuid(); + } + } + if (scheme_id.isNull()) { + scheme_id = m_element_autonum_id.value(key); + } + if (scheme_id.isNull()) { + scheme_id = QUuid::createUuid(); + } + m_element_autonum_id.insert(key, scheme_id); m_element_autonum.insert(key, context); emit elementAutoNumAdded(key); emit autoNumContextUpdated(); } +/** + @brief QETProject::elementAutoNumId + @return the uuid of the element numbering scheme @p title, null if + there is no such scheme +*/ +QUuid QETProject::elementAutoNumId(const QString &title) const +{ + return m_element_autonum_id.value(title); +} + +/** + @brief QETProject::elementAutoNumTitle + @return the title of the element numbering scheme with uuid @p id, + empty if there is none +*/ +QString QETProject::elementAutoNumTitle(const QUuid &id) const +{ + if (id.isNull()) { + return QString(); + } + for (auto it = m_element_autonum_id.constBegin(); + it != m_element_autonum_id.constEnd(); ++it) { + if (it.value() == id) { + return it.key(); + } + } + return QString(); +} + +/** + @brief QETProject::renameElementAutoNum + Give the element numbering scheme @p old_title the title @p new_title. + It keeps its uuid, so the elements following it are not touched; + the folios' per-scheme maxima of folio sequential numbers and the + project's current scheme follow the new title. + Not undoable by itself: see ElementAutoNumSchemeCommand. + @return false if there is no scheme @p old_title or a scheme + @p new_title already exists +*/ +bool QETProject::renameElementAutoNum(const QString &old_title, const QString &new_title) +{ + if (old_title == new_title) { + return m_element_autonum.contains(old_title); + } + if (!m_element_autonum.contains(old_title) + || m_element_autonum.contains(new_title) + || new_title.isEmpty()) { + return false; + } + + m_element_autonum.insert(new_title, m_element_autonum.take(old_title)); + m_element_autonum_id.insert(new_title, m_element_autonum_id.take(old_title)); + if (m_current_element_autonum == old_title) { + m_current_element_autonum = new_title; + } + + for (Diagram *d : std::as_const(m_diagrams_list)) { + if (!d) continue; + for (auto *hash : {&d->m_elmt_unitfolio_max, + &d->m_elmt_tenfolio_max, + &d->m_elmt_hundredfolio_max}) { + if (hash->contains(old_title)) { + hash->insert(new_title, hash->take(old_title)); + } + } + } + + emit elementAutoNumRemoved(old_title); + emit elementAutoNumAdded(new_title); + emit autoNumContextUpdated(); + return true; +} + +/** + @brief QETProject::normalizedAutoNumName + @return @p name as it is stored as the title of a numbering scheme +*/ +QString QETProject::normalizedAutoNumName(const QString &name) +{ + return name.simplified(); +} + +/** + @brief QETProject::elementAutoNumNameClash + Two element numbering schemes may not have the same name, compared + without regard to case or surrounding white space, so that the name + alone identifies a scheme for the user and for scripts. + @param name : the name to check + @param ignored_title : a scheme not to compare with (the one being + renamed) + @return the title of the existing scheme @p name clashes with, empty + if none +*/ +QString QETProject::elementAutoNumNameClash(const QString &name, + const QString &ignored_title) const +{ + const QString wanted = normalizedAutoNumName(name); + for (auto it = m_element_autonum.constBegin(); + it != m_element_autonum.constEnd(); ++it) { + if (it.key() == ignored_title) { + continue; + } + if (QString::compare(normalizedAutoNumName(it.key()), wanted, + Qt::CaseInsensitive) == 0) { + return it.key(); + } + } + return QString(); +} + +/** + @brief QETProject::elementsUsingElementAutoNum + @return the elements whose label follows the element numbering + scheme @p title, in no particular order +*/ +QVector QETProject::elementsUsingElementAutoNum(const QString &title) const +{ + QVector list; + const QUuid id = elementAutoNumId(title); + if (id.isNull()) { + return list; + } + for (Diagram *d : m_diagrams_list) { + if (!d) continue; + const auto items = d->items(); + for (QGraphicsItem *it : items) { + auto *el = qgraphicsitem_cast(it); + if (!el) continue; + const DiagramContext &info = el->elementInformations(); + if (info.value(QETInformation::ELMT_FORMULA).toString().isEmpty()) { + continue; + } + if (QUuid(info.value(QETInformation::ELMT_FORMULA_ID).toString()) == id) { + list << el; + } + } + } + return list; +} + +/** + @brief QETProject::linkElementsToElementAutoNums + Called once the diagrams of a file are loaded. Makes every element's + ELMT_FORMULA_ID name an element numbering scheme of this project: + - an id naming one of the schemes is kept; + - an id naming none (the scheme was renamed by a version of + QElectroTech that lost the ids, or the element was pasted from + another project) and, in a file written before the ids existed, + an element with no id at all, are linked to the one scheme whose + formula is the element's formula; with no such scheme, or more than + one, the element is left unlinked. + The label is not touched: nothing it is built from changes. +*/ +void QETProject::linkElementsToElementAutoNums() +{ + QHash titles_by_formula; + for (auto it = m_element_autonum.constBegin(); + it != m_element_autonum.constEnd(); ++it) { + titles_by_formula[autonum::numerotationContextToFormula(it.value())] << it.key(); + } + + for (Diagram *d : std::as_const(m_diagrams_list)) { + if (!d) continue; + const auto items = d->items(); + for (QGraphicsItem *it : items) { + auto *el = qgraphicsitem_cast(it); + if (!el) continue; + const DiagramContext &info = el->elementInformations(); + const QString formula = info.value(QETInformation::ELMT_FORMULA).toString(); + const bool has_id = info.contains(QETInformation::ELMT_FORMULA_ID); + const QUuid id(info.value(QETInformation::ELMT_FORMULA_ID).toString()); + + if (formula.isEmpty()) { + if (has_id) el->setFormulaSchemeId(QUuid()); + continue; + } + if (!elementAutoNumTitle(id).isEmpty()) { + continue; + } + if (!has_id && !m_legacy_element_autonums) { + continue; //A formula typed by hand + } + const QStringList matches = titles_by_formula.value(formula); + el->setFormulaSchemeId(matches.size() == 1 + ? elementAutoNumId(matches.first()) + : QUuid()); + } + } +} + /** @brief QETProject::addFolioAutoNum Add a new folio numerotation context. If key already exist, @@ -1183,6 +1331,7 @@ void QETProject::removeConductorAutoNum(const QString& key) { void QETProject::removeElementAutoNum(const QString& key) { m_element_autonum.remove(key); + m_element_autonum_id.remove(key); emit elementAutoNumRemoved(key); } @@ -1390,6 +1539,68 @@ void QETProject::setWireHops(WireHops::Mode mode) } } +/** + @brief QETProject::uprightSymbolTexts + @return true if the texts drawn in a symbol stay horizontal, and read + normally, when the symbol is turned or mirrored on a folio, instead of + turning with it. A mirrored symbol always keeps its texts readable. +*/ +bool QETProject::uprightSymbolTexts() const { + return m_upright_symbol_texts; +} + +/** + @brief QETProject::setUprightSymbolTexts + Set whether the texts drawn in a turned symbol stay horizontal, and + redraw every symbol of the project. + @param upright +*/ +void QETProject::setUprightSymbolTexts(bool upright) +{ + if (upright == m_upright_symbol_texts) { + return; + } + m_upright_symbol_texts = upright; + for (Diagram *diagram : diagrams()) { + for (QGraphicsItem *item : diagram->items()) { + if (Element *element = qgraphicsitem_cast(item)) { + element->updateSymbolPictures(); + } + } + } +} + +/** + @brief QETProject::wiringRules + @return how many wires a terminal of this project may take + (discussion #1158): the project's own rules when it sets them, + otherwise the application's (Settings > General). +*/ +WiringRules::Settings QETProject::wiringRules() const { + return WiringRules::effective(m_wiring_rules, WiringRules::applicationSettings()); +} + +/** + @brief QETProject::projectWiringRules + @return the rules as the project stores them: Settings::own false when + it follows the application's. +*/ +WiringRules::Settings QETProject::projectWiringRules() const { + return m_wiring_rules; +} + +/** + @brief QETProject::setWiringRules + Set the project's own wiring rules, or (Settings::own false) make it + follow the application's. Only wires drawn from now on are affected: + none already drawn is removed. + @param rules +*/ +void QETProject::setWiringRules(const WiringRules::Settings &rules) +{ + m_wiring_rules = rules; +} + /** @brief QETProject::autoBreakConductor @return true if use of auto break conductor is authorized. @@ -1500,6 +1711,8 @@ QDomDocument QETProject::toXml() // local, non-transmitted usage tracking (time spent on this project) writeUsageXml(project_root); writeWireHopsXml(project_root); + writeSymbolTextsXml(project_root); + writeWiringRulesXml(project_root); // Properties for news diagrams QDomElement new_diagrams_properties = xml_doc.createElement("newdiagrams"); @@ -2022,6 +2235,8 @@ void QETProject::readProjectXml(QDomDocument &xml_project) //Load the local, non-transmitted usage tracking readUsageXml(xml_project); readWireHopsXml(xml_project); + readSymbolTextsXml(xml_project); + readWiringRulesXml(xml_project); //Load the default properties for the new diagrams readDefaultPropertiesXml(xml_project); @@ -2046,6 +2261,9 @@ void QETProject::readProjectXml(QDomDocument &xml_project) readDiagramsXml(xml_project); const qint64 diagrams_ms = phase_timer.restart(); + //Tie the elements to the numbering schemes they follow + linkElementsToElementAutoNums(); + //Load the terminal strip readTerminalStripXml(xml_project); const qint64 strips_ms = phase_timer.restart(); @@ -2229,6 +2447,32 @@ void QETProject::readWireHopsXml(QDomDocument &xml_project) : WireHops::fromString(crossings.attribute(QStringLiteral("hop"))); } +/** + @brief QETProject::readSymbolTextsXml + Read the element of the project, if any. A project + without it was saved before the setting existed, or with it off, and + keeps the texts of its turned symbols turned. + @param xml_project : the xml description of the project +*/ +void QETProject::readSymbolTextsXml(QDomDocument &xml_project) +{ + const QDomElement texts = xml_project.documentElement() + .firstChildElement(QStringLiteral("symbol_texts")); + m_upright_symbol_texts = !texts.isNull() + && texts.attribute(QStringLiteral("upright")) == QLatin1String("true"); +} + +/** + @brief QETProject::readWiringRulesXml + Read the element of the project, if any. + A project without it sets no rule. + @param xml_project : the xml description of the project +*/ +void QETProject::readWiringRulesXml(QDomDocument &xml_project) +{ + m_wiring_rules = WiringRules::fromXml(xml_project.documentElement()); +} + /** @brief QETProject::readDefaultPropertiesXml load default properties for new diagram, found in the xml of this project @@ -2323,7 +2567,25 @@ void QETProject::readDefaultPropertiesXml(QDomDocument &xml_project) { NumerotationContext nc; nc.fromXml(elmt); - m_element_autonum.insert(elmt.attribute(QStringLiteral("title")), nc); + const QString title = elmt.attribute(QStringLiteral("title")); + QUuid id(elmt.attribute(QStringLiteral("id"))); + if (id.isNull() || !elementAutoNumTitle(id).isEmpty()) { + //Saved before schemes had an id: derive one, the + //same on every load of the file. + m_legacy_element_autonums = true; + //Of this project: another project may have a numbering of the + //same name, which is not the same numbering + id = derivedItemUuid(QStringLiteral("element_autonum"), + m_uuid.toString() + QLatin1Char('\n') + title); + } + m_element_autonum.insert(title, nc); + m_element_autonum_id.insert(title, id); + } + //The id is authoritative, the title is kept for older versions + const QString current_title = elementAutoNumTitle( + QUuid(element_autonums.attribute(QStringLiteral("current_autonum_id")))); + if (!current_title.isEmpty()) { + m_current_element_autonum = current_title; } } if (!cable_autonums.isNull()) @@ -2466,6 +2728,33 @@ void QETProject::writeWireHopsXml(QDomElement &xml_element) xml_element.appendChild(crossings); } +/** + @brief QETProject::writeSymbolTextsXml + Export whether the texts of turned symbols stay horizontal, as a + child of \a xml_element. Written only when on, so a + project with it off saves exactly as before. +*/ +void QETProject::writeSymbolTextsXml(QDomElement &xml_element) +{ + if (!m_upright_symbol_texts) { + return; + } + QDomElement texts = xml_element.ownerDocument() + .createElement(QStringLiteral("symbol_texts")); + texts.setAttribute(QStringLiteral("upright"), QStringLiteral("true")); + xml_element.appendChild(texts); +} + +/** + @brief QETProject::writeWiringRulesXml + Export the project's wiring rules as a child of + \a xml_element, only when one is set. +*/ +void QETProject::writeWiringRulesXml(QDomElement &xml_element) +{ + WiringRules::toXml(m_wiring_rules, xml_element); +} + /** @brief QETProject::writeDefaultPropertiesXml Export all defaults properties used by a new diagram and his content @@ -2552,6 +2841,10 @@ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) //Export Element Autonums QDomElement element_autonums = xml_document.createElement("element_autonums"); element_autonums.setAttribute("current_autonum", m_current_element_autonum); + if (!elementAutoNumId(m_current_element_autonum).isNull()) { + element_autonums.setAttribute("current_autonum_id", + elementAutoNumId(m_current_element_autonum).toString()); + } element_autonums.setAttribute("freeze_new_elements", m_freeze_new_elements ? "true" : "false"); QStringList element_autonum_keys = elementAutoNum().keys(); element_autonum_keys.sort(); @@ -2559,6 +2852,7 @@ void QETProject::writeDefaultPropertiesXml(QDomElement &xml_element) QDomElement element_autonum = elementAutoNum(key).toXml(xml_document, "element_autonum"); if (key != "" && elementAutoNumFormula(key) != "") { element_autonum.setAttribute("title", key); + element_autonum.setAttribute("id", elementAutoNumId(key).toString()); element_autonum.setAttribute("formula", elementAutoNumFormula(key)); element_autonums.appendChild(element_autonum); } diff --git a/sources/qetproject.h b/sources/qetproject.h index 5ebb50c0b..302226f7b 100644 --- a/sources/qetproject.h +++ b/sources/qetproject.h @@ -29,6 +29,7 @@ #include "titleblock/templatescollection.h" #include "titleblockproperties.h" #include "wirehops.h" +#include "wiringrules.h" #include "diagram.h" #ifdef BUILD_WITHOUT_KF # include "ui/nokde/kautosavefile.h" @@ -38,11 +39,14 @@ #include #include +#include +#include #include #include class Diagram; +class Element; class ElementsLocation; class QETResult; class TitleBlockTemplate; @@ -209,13 +213,26 @@ class QETProject : public QObject the same whatever language the program runs in. */ static QString cableAutoNumRuleName(); + //Identity of the element numbering schemes. The title is the + //name shown to the user and the lookup key of the API; the uuid + //is what an element's ELMT_FORMULA_ID refers to, so a scheme can + //be renamed or edited without its elements losing track of it. + void addElementAutoNum(const QString &key, + const NumerotationContext &context, + const QUuid &id); + QUuid elementAutoNumId(const QString &title) const; + QString elementAutoNumTitle(const QUuid &id) const; + bool renameElementAutoNum(const QString &old_title, const QString &new_title); + QString elementAutoNumNameClash(const QString &name, + const QString &ignored_title = QString()) const; + static QString normalizedAutoNumName(const QString &name); + QVector elementsUsingElementAutoNum(const QString &title) const; /** * @brief Renumber existing elements by element autonumbering scheme. * - * Elements do not store the scheme title but they store the corresponding formula. - * This operation matches elements to schemes by comparing the stored formula - * with the formula derived from the scheme's NumerotationContext. + * Elements follow a scheme by its uuid (QETInformation::ELMT_FORMULA_ID), + * see elementsUsingElementAutoNum(). * * If @p scheme_title is empty, all schemes are renumbered. * If @p scheme_title is non-empty, only that scheme is renumbered. @@ -243,6 +260,11 @@ class QETProject : public QObject void setAutoConductor (bool ac); WireHops::Mode wireHops() const; void setWireHops(WireHops::Mode mode); + bool uprightSymbolTexts() const; + void setUprightSymbolTexts(bool upright); + WiringRules::Settings wiringRules() const; + WiringRules::Settings projectWiringRules() const; + void setWiringRules(const WiringRules::Settings &rules); void setAutoBreakConductor (bool abc); void setAutoElement (bool ae); void autoFolioNumberingNewFolios (); @@ -353,11 +375,15 @@ class QETProject : public QObject void readCableXml(const QDomDocument &xml_project); void readUsageXml(QDomDocument &xml_project); void readWireHopsXml(QDomDocument &xml_project); + void readSymbolTextsXml(QDomDocument &xml_project); + void readWiringRulesXml(QDomDocument &xml_project); void writeProjectPropertiesXml(QDomElement &); void writeDefaultPropertiesXml(QDomElement &); void writeUsageXml(QDomElement &); void writeWireHopsXml(QDomElement &); + void writeSymbolTextsXml(QDomElement &); + void writeWiringRulesXml(QDomElement &); void addDiagram(Diagram *diagram, int pos = -1); void detachDiagram(Diagram *diagram); void writeBackup(); @@ -413,6 +439,8 @@ class QETProject : public QObject QHash m_folio_autonum; /// Element Auto Numbering QHash m_element_autonum; //Title and NumContext hash + /// Title -> uuid of each element numbering scheme + QHash m_element_autonum_id; QString m_current_element_autonum; /// Cable auto numbering: exactly one rule, kept the same way /// the others are so it stores and travels with the project @@ -421,8 +449,16 @@ class QETProject : public QObject QString m_current_cable_autonum; ///< which axis the cables are numbered along (see cableXAxisFirst) bool m_cable_axis_x_first = true; + /// True when the loaded file had element numbering schemes + /// saved without an id (written before ids existed) + bool m_legacy_element_autonums = false; + void linkElementsToElementAutoNums(); bool m_auto_conductor = true; WireHops::Mode m_wire_hops = WireHops::Mode::None; + /// Texts drawn in a turned symbol stay horizontal (on for a new + /// project, off for one saved without it), see uprightSymbolTexts() + bool m_upright_symbol_texts = false; + WiringRules::Settings m_wiring_rules; bool m_auto_break_conductor = false; XmlElementCollection *m_elements_collection = nullptr; bool m_freeze_new_elements = false; diff --git a/sources/richtext/richtexteditor.cpp b/sources/richtext/richtexteditor.cpp index a982db81f..9fd1eee45 100644 --- a/sources/richtext/richtexteditor.cpp +++ b/sources/richtext/richtexteditor.cpp @@ -387,7 +387,8 @@ void ColorAction::setColor(const QColor &color) void ColorAction::chooseColor() { - const QColor col = QColorDialog::getColor(m_color, nullptr); + const QColor col = QColorDialog::getColor(m_color, nullptr, QString(), + QColorDialog::DontUseNativeDialog); if (col.isValid() && col != m_color) { setColor(col); emit colorChanged(m_color); diff --git a/sources/scripting/assistantinfo.cpp b/sources/scripting/assistantinfo.cpp new file mode 100644 index 000000000..f35e8c9f1 --- /dev/null +++ b/sources/scripting/assistantinfo.cpp @@ -0,0 +1,167 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "assistantinfo.h" + +#include "qetscriptapi.h" +#include "scriptlibrary.h" +#include "macrorecorder.h" +#include "../qetapp.h" +#include "../qetversion.h" +#include "../utils/qetsettings.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + QJsonObject s_live; ///< empty while live mode is closed + bool s_running = true; + bool s_watching = false; ///< this QElectroTech writes the file (an editor opened) +} + +namespace AssistantInfo { + +QString path() +{ + return QStandardPaths::writableLocation(QStandardPaths::AppDataLocation) + + QStringLiteral("/qet-assistant.json"); +} + +/** + @brief watch + Write the file now, again whenever the stored scripts change, and mark + it stopped when QElectroTech quits. Called by every editor window as it + opens; acts once. +*/ +void watch() +{ + if (s_watching) return; + s_watching = true; + QObject::connect(&ScriptLibrary::instance(), &ScriptLibrary::changed, &write); + QObject::connect(qApp, &QCoreApplication::aboutToQuit, &markStopped); + write(); +} + +/** + @brief refresh + Write the file again after a setting it carries changed, but only in a + QElectroTech that writes it at all: a headless --run never opened an + editor, and writing from it would replace the open QElectroTech's live + channel with its own empty one. +*/ +void refresh() +{ + if (s_watching) write(); +} + +void write() +{ + QJsonArray scripts, refused; + for (const ScriptLibrary::Script &s : ScriptLibrary::instance().scripts()) { + const ScriptHeader &h = s.header; + scripts.append(QJsonObject{ + {QStringLiteral("id"), h.id}, + {QStringLiteral("name"), h.name}, + {QStringLiteral("file"), s.path}, + {QStringLiteral("icon"), h.icon}, + {QStringLiteral("tooltip"), h.tooltip}, + {QStringLiteral("shortcut"), h.shortcut}, + {QStringLiteral("context"), h.context}, + {QStringLiteral("action_id"), ScriptLibrary::actionId(h.id)}}); + } + for (const QString &e : ScriptLibrary::instance().errors()) refused.append(e); + + const QJsonObject info{ + {QStringLiteral("format"), 1}, + {QStringLiteral("qelectrotech_version"), QetVersion::displayedVersion()}, + {QStringLiteral("program"), QCoreApplication::applicationFilePath()}, + {QStringLiteral("pid"), QCoreApplication::applicationPid()}, + {QStringLiteral("running"), s_running}, + {QStringLiteral("written"), QDateTime::currentDateTimeUtc().toString(Qt::ISODate)}, + {QStringLiteral("folders"), QJsonObject{ + {QStringLiteral("data"), QETApp::dataDir()}, + {QStringLiteral("config"), QETApp::configDir()}, + {QStringLiteral("scripts"), ScriptLibrary::folder()}, + {QStringLiteral("recordings"), MacroRecorder::folder()}, + {QStringLiteral("elements_common"), QETApp::commonElementsDir()}, + {QStringLiteral("elements_company"), QETApp::companyElementsDir()}, + {QStringLiteral("elements_custom"), QETApp::customElementsDir()}, + {QStringLiteral("titleblocks_common"), QETApp::commonTitleBlockTemplatesDir()}, + {QStringLiteral("titleblocks_company"), QETApp::companyTitleBlockTemplatesDir()}, + {QStringLiteral("titleblocks_custom"), QETApp::customTitleBlockTemplatesDir()}}}, + {QStringLiteral("features"), QJsonObject{ +#ifdef QET_HAS_SCRIPTING + {QStringLiteral("scripting_available"), true}, +#else + {QStringLiteral("scripting_available"), false}, +#endif + {QStringLiteral("scripting_enabled"), QetSettings::scriptingEnabled()}, + {QStringLiteral("live_mode_setting"), QetSettings::liveAssistantEnabled()}, + {QStringLiteral("live_mode_open"), !s_live.isEmpty()}, + {QStringLiteral("macro_recording"), MacroRecorder::instance().isRecording()}}}, + {QStringLiteral("script_api"), QJsonArray::fromStringList(QetScriptApi::signatures())}, + {QStringLiteral("stored_scripts"), scripts}, + {QStringLiteral("refused_scripts"), refused}, + {QStringLiteral("recordings"), MacroRecorder::recordings()}, + {QStringLiteral("live"), s_live.isEmpty() ? QJsonValue() : QJsonValue(s_live)}, + // Free-text drawing conventions, set once by the user + // (QetSettings::setHouseStyle(), qet.setHouseStyle()) and read + // by any assistant that connects, live or headless, without it + // having to ask the user or guess. Null, not "", when unset -- + // the two mean different things to a reader. + {QStringLiteral("house_style"), QetSettings::houseStyle().isEmpty() + ? QJsonValue() : QJsonValue(QetSettings::houseStyle())}}; + + const QString file_path = path(); + QDir().mkpath(QFileInfo(file_path).path()); + QSaveFile file(file_path); + if (!file.open(QIODevice::WriteOnly)) return; + file.write(QJsonDocument(info).toJson(QJsonDocument::Indented)); + if (file.commit()) + QFile::setPermissions(file_path, QFile::ReadOwner | QFile::WriteOwner); +} + +/** + @brief setLive + The live channel's details while it is open (socket, token), or an + empty object once it closes. +*/ +void setLive(const QJsonObject &live) +{ + s_live = live; + write(); +} + +/** + @brief markStopped + QElectroTech is quitting: the file stays, as a record of where things + are, but says nothing is listening any more. +*/ +void markStopped() +{ + s_running = false; + s_live = QJsonObject(); + write(); +} + +} diff --git a/sources/scripting/assistantinfo.h b/sources/scripting/assistantinfo.h new file mode 100644 index 000000000..02248d9a6 --- /dev/null +++ b/sources/scripting/assistantinfo.h @@ -0,0 +1,51 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef ASSISTANTINFO_H +#define ASSISTANTINFO_H + +#include +#include + +/** + @brief qet-assistant.json: what an AI assistant (through the qet MCP + server) needs to know about this QElectroTech, in one file. + + Where its folders are -- data, settings, scripts, the element and title + block collections --, which features are switched on, every call a + script can make, the stored scripts, and, while live mode is open, how + to reach it. QElectroTech rewrites it when it starts and whenever one of + those changes, so the MCP server reads facts instead of guessing them + per platform -- wrong as soon as QElectroTech is started with + --data-dir or --config-dir. + + It always lives in the standard data folder for the platform, even + when --data-dir moves the data elsewhere: that is the one place the + server can look without being told. Readable by the user only: while + live mode is open it holds the channel's token. +*/ +namespace AssistantInfo +{ + QString path(); + void watch(); + void write(); + void refresh(); + void setLive(const QJsonObject &live); + void markStopped(); +} + +#endif // ASSISTANTINFO_H diff --git a/sources/scripting/liveserver.cpp b/sources/scripting/liveserver.cpp new file mode 100644 index 000000000..a2da5bbe7 --- /dev/null +++ b/sources/scripting/liveserver.cpp @@ -0,0 +1,1049 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "liveserver.h" + +#include "assistantinfo.h" +#include "macrorecorder.h" +#include "qetscripting.h" +#include "scriptlibrary.h" +#include "../diagram.h" +#include "../diagramview.h" +#include "../qet.h" +#include "../qetapp.h" +#include "../qetdiagrameditor.h" +#include "../qetproject.h" +#include "../utils/qetsettings.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../projectview.h" +#include "../shortcutmanager.h" + +namespace { + /** + Timing of the live channel, for finding where an assistant's + request spends its time. Nothing is measured unless the request + asks for it ("timing": true, answered in "timing") or the + environment names a log file (QET_LIVE_PERF_LOG: one JSON line per + request, with the time until the folio is next painted). + */ + qint64 nowNs() + { + static QElapsedTimer clock; + if (!clock.isValid()) clock.start(); + return clock.nsecsElapsed(); + } + + double ms(qint64 ns) { return qRound(ns / 1e4) / 100.0; } + + QString perfLogPath() + { + static const QString path = qEnvironmentVariable("QET_LIVE_PERF_LOG"); + return path; + } + + void appendPerfLog(const QJsonObject &line) + { + QFile file(perfLogPath()); + if (file.open(QIODevice::WriteOnly | QIODevice::Append)) + file.write(QJsonDocument(line).toJson(QJsonDocument::Compact) + '\n'); + } + + /** + Waits for the next paint of a widget (the folio on screen) and + calls done with the time it started and the time the event loop + came back, or with -1 when nothing was painted within 2 s (a + request that changed nothing visible). + */ + class PaintProbe : public QObject + { + public: + PaintProbe(QWidget *widget, std::function done) : + QObject(widget), m_done(std::move(done)) + { + widget->installEventFilter(this); + QTimer::singleShot(2000, this, [this]() { finish(-1, -1); }); + } + + protected: + bool eventFilter(QObject *, QEvent *event) override + { + if (event->type() == QEvent::Paint && m_start < 0) { + m_start = nowNs(); + //Runs once the paint event has been handled + QTimer::singleShot(0, this, [this]() { finish(m_start, nowNs()); }); + } + return false; + } + + private: + void finish(qint64 start, qint64 end) + { + if (!m_done) return; + auto done = std::move(m_done); + m_done = nullptr; + done(start, end); + deleteLater(); + } + + std::function m_done; + qint64 m_start = -1; + }; + + QString randomHex(int bytes) + { + QByteArray raw(bytes, Qt::Uninitialized); + for (char &c : raw) c = char(QRandomGenerator::system()->bounded(256)); + return QString::fromLatin1(raw.toHex()); + } + + QJsonObject failure(const QString &error) + { + return {{QStringLiteral("ok"), false}, {QStringLiteral("error"), error}}; + } +} + +LiveServer &LiveServer::instance() +{ + static LiveServer server; + return server; +} + +LiveServer::LiveServer() : + m_ask_first(QetSettings::liveAskFirst()) +{ + connect(qApp, &QCoreApplication::aboutToQuit, this, &LiveServer::stop); +} + +LiveServer::~LiveServer() +{ +} + +/** + @brief LiveServer::askAndStart + Called by every editor window as it opens; acts once per run. With the + setting on, warn and let the user decide for this session before the + channel exists. +*/ +void LiveServer::askAndStart(QWidget *parent) +{ + if (m_asked) return; + if (!QetSettings::liveAssistantEnabled()) { + m_asked = true; + return; + } + //Not on top of another start-up question (the backup copy, the + //recovery files): two stacked boxes, and an answer meant for one + //lands on the other. Ask once nothing else is waiting. + if (QApplication::activeModalWidget()) { + QPointer anchor(parent); + QTimer::singleShot(300, this, [this, anchor]() { askAndStart(anchor); }); + return; + } + m_asked = true; + if (QetSettings::liveSkipStartWarning()) { + start(); + return; + } + + QMessageBox box(QMessageBox::Warning, tr("Mode direct"), + tr("Le mode direct est activé : un assistant IA connecté " + "pourra exécuter des scripts sur le projet ouvert.\n\n" + "Chaque action s'annule d'un Ctrl+Z, et le bouton " + "« Arrêter » de la barre d'état coupe la connexion.\n\n" + "Ce réglage se trouve dans Configurer QElectroTech > Général > " + "Projets."), + QMessageBox::NoButton, parent); + QPushButton *go = box.addButton(tr("&Continuer"), QMessageBox::AcceptRole); + box.addButton(tr("&Pas pour cette session"), QMessageBox::RejectRole); + QPushButton *off = box.addButton(tr("&Désactiver"), QMessageBox::DestructiveRole); + box.setDefaultButton(go); + auto *remember = new QCheckBox(tr("Ne plus demander au démarrage"), &box); + remember->setToolTip(tr("Le mode direct s'ouvrira à chaque démarrage. Pour être " + "de nouveau averti, désactivez-le puis réactivez-le dans " + "Configurer QElectroTech > Général > Projets.")); + box.setCheckBox(remember); + box.exec(); + + if (box.clickedButton() == off) { + QetSettings::setLiveAssistantEnabled(false); + } else if (box.clickedButton() == go) { + if (remember->isChecked()) QetSettings::setLiveSkipStartWarning(true); + start(); + } +} + +bool LiveServer::start() +{ + if (m_server) return true; + m_server = new QLocalServer(this); + m_server->setSocketOptions(QLocalServer::UserAccessOption); + if (!m_server->listen(QStringLiteral("qet-live-") + randomHex(8))) { + delete m_server; + m_server = nullptr; + return false; + } + m_token = randomHex(16); + + //Where the MCP server finds the channel: the "live" part of + //qet-assistant.json, the one file it reads about this QElectroTech + AssistantInfo::setLive(QJsonObject{ + {QStringLiteral("socket"), m_server->fullServerName()}, + {QStringLiteral("token"), m_token}, + {QStringLiteral("pid"), QCoreApplication::applicationPid()}}); + + connect(m_server, &QLocalServer::newConnection, this, &LiveServer::newConnection); + setState(Waiting); + return true; +} + +/** + @brief LiveServer::stop + Drop the assistant and close the channel for the rest of the session. +*/ +void LiveServer::stop() +{ + if (m_client) { + m_client->disconnectFromServer(); + m_client->deleteLater(); + } + if (m_server) { + m_server->close(); + m_server->deleteLater(); + m_server = nullptr; + } + if (!m_token.isEmpty()) AssistantInfo::setLive(QJsonObject()); + m_token.clear(); + m_buffer.clear(); + setState(Off); +} + +void LiveServer::setState(State state) +{ + if (state == m_state) return; + m_state = state; + emit stateChanged(state); +} + +void LiveServer::newConnection() +{ + while (QLocalSocket *socket = m_server ? m_server->nextPendingConnection() : nullptr) { + if (m_client) { + socket->write(QJsonDocument(failure(QStringLiteral( + "another assistant is already connected"))).toJson(QJsonDocument::Compact) + '\n'); + socket->disconnectFromServer(); + socket->deleteLater(); + continue; + } + m_client = socket; + m_buffer.clear(); + connect(socket, &QLocalSocket::readyRead, this, &LiveServer::readClient); + //Connected stays on once an assistant has used the channel: + //the MCP server connects per request, so following the socket + //would flicker the indicator off between two actions. + connect(socket, &QLocalSocket::disconnected, socket, &QObject::deleteLater); + } +} + +void LiveServer::readClient() +{ + if (!m_client) return; + m_buffer += m_client->readAll(); + int newline; + while ((newline = m_buffer.indexOf('\n')) >= 0) { + const QByteArray line = m_buffer.left(newline).trimmed(); + m_buffer.remove(0, newline + 1); + if (line.isEmpty()) continue; + const QJsonObject request = QJsonDocument::fromJson(line).object(); + if (request.value(QStringLiteral("token")).toString() != m_token || m_token.isEmpty()) { + send(failure(QStringLiteral("bad token"))); + m_client->disconnectFromServer(); + return; + } + setState(Connected); + const qint64 received = nowNs(); + //Out of the socket handler before anything runs (see class doc) + QTimer::singleShot(0, this, [this, request, received]() { handle(request, received); }); + } +} + +void LiveServer::send(const QJsonObject &answer) +{ + if (m_client) { + m_client->write(QJsonDocument(answer).toJson(QJsonDocument::Compact) + '\n'); + m_client->flush(); + } +} + +void LiveServer::handle(const QJsonObject &request, qint64 received_ns) +{ + const qint64 started = nowNs(); + qint64 confirm_ns = 0; + const QString cmd = request.value(QStringLiteral("cmd")).toString(); + QJsonObject answer; + if (m_busy) { + answer = failure(QStringLiteral("busy: the previous request is still running")); + } else { + m_busy = true; + if (cmd == QLatin1String("status")) { + answer = status(); + } else if (cmd == QLatin1String("run_script")) { + const QString name = request.value(QStringLiteral("name")).toString(); + const QString source = request.value(QStringLiteral("source")).toString(); + //A script the assistant just wrote: the user sees it first, + //unless they chose "always" (remembered). A stored script + //is one the user already has, so it runs as a click would. + const qint64 confirm_start = nowNs(); + const bool refused = m_ask_first && !confirm(name, source); + confirm_ns = nowNs() - confirm_start; + if (refused) + answer = failure(QStringLiteral("refused by the user")); + else + answer = runScript(name, source); + } else if (cmd == QLatin1String("run_stored")) { + answer = runStored(request.value(QStringLiteral("script")).toString()); + } else if (cmd == QLatin1String("command")) { + answer = command(request.value(QStringLiteral("action")).toString()); + } else if (cmd == QLatin1String("new_project")) { + answer = newProject(request); + } else if (cmd == QLatin1String("open_project")) { + answer = openProject(request.value(QStringLiteral("path")).toString()); + } else if (cmd == QLatin1String("switch_project")) { + answer = switchProject(request); + } else if (cmd == QLatin1String("save_project")) { + answer = saveProject(request); + } else if (cmd == QLatin1String("close_project")) { + answer = closeProject(request); + } else if (cmd == QLatin1String("print")) { + answer = print(request); + } else if (cmd == QLatin1String("snapshot")) { + answer = snapshot(request.value(QStringLiteral("path")).toString()); + } else if (cmd == QLatin1String("changes")) { + answer = changes(request); + } else if (cmd == QLatin1String("show_folio")) { + answer = showFolio(request.value(QStringLiteral("folio")).toInt(-1)); + } else if (cmd == QLatin1String("undo_last")) { + answer = undoLast(); + } else if (cmd == QLatin1String("screenshot")) { + answer = screenshot(); + } else { + answer = failure(QStringLiteral("unknown command: %1").arg(cmd)); + } + m_busy = false; + } + if (request.contains(QStringLiteral("id"))) + answer.insert(QStringLiteral("id"), request.value(QStringLiteral("id"))); + const qint64 done = nowNs(); + QJsonObject timing{{QStringLiteral("queue_ms"), ms(started - received_ns)}, + {QStringLiteral("confirm_ms"), ms(confirm_ns)}, + {QStringLiteral("exec_ms"), ms(done - started - confirm_ns)}}; + if (request.value(QStringLiteral("timing")).toBool()) + answer.insert(QStringLiteral("timing"), timing); + send(answer); + timing.insert(QStringLiteral("reply_ms"), ms(nowNs() - received_ns)); + //One request per connection: close it from this side once it is + //answered. Waiting for the client to hang up raced the next + //request on Windows, where a named pipe's disconnection reaches + //QLocalSocket late -- the second call of a quick pair was turned + //away as "another assistant" (found under Wine, 2026-10-02). + if (m_client) { + m_client->disconnectFromServer(); + m_client = nullptr; + } + if (!perfLogPath().isEmpty()) { + timing.insert(QStringLiteral("src"), QStringLiteral("qet")); + timing.insert(QStringLiteral("id"), request.value(QStringLiteral("id"))); + timing.insert(QStringLiteral("cmd"), cmd); + timing.insert(QStringLiteral("ok"), answer.value(QStringLiteral("ok"))); + timing.insert(QStringLiteral("t"), QDateTime::currentMSecsSinceEpoch() / 1000.0); + QETDiagramEditor *e = editor(); + DiagramView *view = e ? e->currentDiagramView() : nullptr; + if (!view) { + appendPerfLog(timing); + } else { + new PaintProbe(view->viewport(), [timing, received_ns](qint64 start, qint64 end) mutable { + timing.insert(QStringLiteral("paint_start_ms"), + start < 0 ? QJsonValue() : QJsonValue(ms(start - received_ns))); + timing.insert(QStringLiteral("paint_ms"), + start < 0 ? QJsonValue() : QJsonValue(ms(end - start))); + appendPerfLog(timing); + }); + } + } + emit handled(request, answer); +} + +/** + @brief LiveServer::editor + The editor window the user is working in: the active one, or the first + shown. +*/ +QETDiagramEditor *LiveServer::editor() const +{ + QETDiagramEditor *chosen = nullptr; + for (QETDiagramEditor *e : QETApp::diagramEditors()) { + if (e->isActiveWindow()) { + chosen = e; + break; + } + if (!chosen && e->isVisible()) chosen = e; + } + //While the user is typing to the assistant, QElectroTech is not + //the active application, and QMdiArea then has no active + //sub-window: every "current project" in the editor reads as none. + //The one it remembers is the project the user was looking at. + if (chosen && !chosen->m_workspace.activeSubWindow() + && chosen->m_workspace.currentSubWindow()) { + chosen->m_workspace.setActiveSubWindow(chosen->m_workspace.currentSubWindow()); + } + return chosen; +} + +QJsonObject LiveServer::status() +{ + QJsonObject answer{{QStringLiteral("ok"), true}, + {QStringLiteral("scripting"), QetSettings::scriptingEnabled()}}; + QJsonArray scripts; + for (const ScriptLibrary::Script &s : ScriptLibrary::instance().scripts()) + scripts.append(QJsonObject{{QStringLiteral("id"), s.header.id}, + {QStringLiteral("name"), s.header.name}}); + answer.insert(QStringLiteral("stored_scripts"), scripts); + //So an assistant can notice a recording the user just made + answer.insert(QStringLiteral("projects"), openProjects()); + answer.insert(QStringLiteral("macro_recorder"), QJsonObject{ + {QStringLiteral("recording"), MacroRecorder::instance().isRecording()}, + {QStringLiteral("steps"), MacroRecorder::instance().stepCount()}, + {QStringLiteral("last_recording"), MacroRecorder::instance().lastId()}}); + + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) { + answer.insert(QStringLiteral("project"), QJsonValue()); + return answer; + } + DiagramView *view = e->currentDiagramView(); + Diagram *diagram = view ? view->diagram() : nullptr; + QJsonArray selected; + if (diagram) { + for (QGraphicsItem *item : diagram->selectedItems()) + if (item->type() == Element::Type) + selected.append(static_cast(item)->uuid().toString()); + } + answer.insert(QStringLiteral("project"), QJsonObject{ + {QStringLiteral("title"), project->title()}, + {QStringLiteral("path"), project->filePath()}, + {QStringLiteral("folios"), int(project->diagrams().count())}, + {QStringLiteral("folio"), diagram ? int(project->diagrams().indexOf(diagram)) : -1}, + {QStringLiteral("folio_title"), diagram ? diagram->title() : QString()}, + {QStringLiteral("selected_elements"), selected}, + {QStringLiteral("read_only"), project->isReadOnly()}, + {QStringLiteral("last_undo"), project->undoStack()->text(project->undoStack()->index() - 1)}}); + return answer; +} + +QJsonObject LiveServer::runScript(const QString &name, const QString &source) +{ + if (source.trimmed().isEmpty()) return failure(QStringLiteral("no script given")); + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) return failure(QStringLiteral("no project is open in QElectroTech")); + + const QString title = name.trimmed().isEmpty() ? tr("script") : name.trimmed(); + QetScripting::LiveRun run; + const bool ok = QetScripting::runSource(source, QStringLiteral("assistant:") + title, title, + project, e->currentDiagramView(), &run); + QJsonObject answer{{QStringLiteral("ok"), ok}, + {QStringLiteral("log"), QJsonArray::fromStringList(run.log)}, + {QStringLiteral("undo"), run.undoText}}; + if (!run.error.isEmpty()) answer.insert(QStringLiteral("error"), run.error); + return answer; +} + +QJsonObject LiveServer::runStored(const QString &id) +{ + for (const ScriptLibrary::Script &s : ScriptLibrary::instance().scripts()) { + if (s.header.id != id) continue; + QFile file(s.path); + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) + return failure(QStringLiteral("cannot read %1").arg(s.path)); + QJsonObject answer = runScript(s.header.name, QString::fromUtf8(file.readAll())); + answer.insert(QStringLiteral("name"), s.header.name); + return answer; + } + return failure(QStringLiteral("no stored script with id %1").arg(id)); +} + +void LiveServer::setAskFirst(bool ask) +{ + if (ask == m_ask_first) return; + m_ask_first = ask; + QetSettings::setLiveAskFirst(ask); + emit askFirstChanged(ask); +} + +/** + @brief LiveServer::allowedCommands + The editor commands an assistant may trigger: ones that open no dialog + (a dialog would wait for an answer nobody is there to give the + assistant) and change nothing that undo cannot take back. Saving, + printing, exporting, deleting, opening and closing are not in it: a + script can delete, as one undo step, and the rest stay the user's. +*/ +QStringList LiveServer::allowedCommands() +{ + static const QStringList ids{ + QStringLiteral("diagrameditor.select_all"), + QStringLiteral("diagrameditor.select_nothing"), + QStringLiteral("diagrameditor.select_invert"), + QStringLiteral("diagrameditor.select_all_conductors"), + QStringLiteral("diagrameditor.select_all_text_fields"), + QStringLiteral("diagrameditor.zoom_in"), + QStringLiteral("diagrameditor.zoom_out"), + QStringLiteral("diagrameditor.zoom_content"), + QStringLiteral("diagrameditor.zoom_fit"), + QStringLiteral("diagrameditor.zoom_reset"), + QStringLiteral("diagrameditor.rotate_selection"), + QStringLiteral("diagrameditor.mirror_horizontal"), + QStringLiteral("diagrameditor.mirror_vertical"), + QStringLiteral("diagrameditor.rotate_texts"), + QStringLiteral("diagrameditor.snap_selection_to_grid"), + QStringLiteral("diagrameditor.group_selection"), + QStringLiteral("diagrameditor.ungroup_selection"), + QStringLiteral("diagrameditor.conductor_reset")}; + return ids; +} + +QJsonObject LiveServer::command(const QString &id) +{ + if (!allowedCommands().contains(id)) + return failure(QStringLiteral("%1 is not a command an assistant may use; allowed: %2") + .arg(id, allowedCommands().join(QStringLiteral(", ")))); + QETDiagramEditor *e = editor(); + QAction *action = e ? ShortcutManager::instance().action(id, e) : nullptr; + if (!action) return failure(QStringLiteral("no editor window has %1").arg(id)); + if (!action->isEnabled()) + return failure(QStringLiteral("%1 is not available right now (nothing " + "selected, or no project open)").arg(id)); + action->trigger(); + return {{QStringLiteral("ok"), true}, {QStringLiteral("action"), id}}; +} + +QJsonObject LiveServer::showFolio(int folio) +{ + QETDiagramEditor *e = editor(); + ProjectView *pv = e ? e->currentProjectView() : nullptr; + if (!pv) return failure(QStringLiteral("no project is open in QElectroTech")); + const QList diagrams = pv->project()->diagrams(); + if (folio < 0 || folio >= diagrams.count()) + return failure(QStringLiteral("no folio %1: the project has %2, counted from 0") + .arg(folio).arg(diagrams.count())); + pv->showDiagram(diagrams.at(folio)); + return {{QStringLiteral("ok"), true}, {QStringLiteral("folio"), folio}}; +} + +/** + @brief LiveServer::newProject + A new project, as File > New makes it: the new-folio defaults of this + QElectroTech, opened and made the current project, so the next script + works on it. Optional: "title", "folios" (how many empty folios, 1 to + 100, default 1), and "path" to save it to at once -- never over an + existing file, so an assistant cannot replace the user's work. +*/ +QJsonObject LiveServer::newProject(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + if (!e) return failure(QStringLiteral("no QElectroTech editor window is open")); + + const int folios = request.value(QStringLiteral("folios")).toInt(1); + if (folios < 1 || folios > 100) + return failure(QStringLiteral("folios must be between 1 and 100, not %1").arg(folios)); + const QString path = request.value(QStringLiteral("path")).toString().trimmed(); + if (!path.isEmpty()) { + const QFileInfo info(path); + if (info.isRelative()) + return failure(QStringLiteral("path must be absolute: %1").arg(path)); + if (info.exists()) + return failure(QStringLiteral("%1 already exists; a new project is never " + "saved over a file").arg(path)); + if (!info.dir().exists()) + return failure(QStringLiteral("the folder %1 does not exist").arg(info.absolutePath())); + } + + auto project = new QETProject(e); + for (int i = 0; i < folios; ++i) project->addNewDiagram(); + const QString title = request.value(QStringLiteral("title")).toString().trimmed(); + if (!title.isEmpty()) project->setTitle(title); + if (!e->addProject(project)) return failure(QStringLiteral("QElectroTech refused the new project")); + + //Current at once, whether or not QElectroTech is the active + //application: the next request runs on it (see editor()) + for (ProjectView *pv : e->openedProjects()) { + if (pv->project() == project) { + for (QMdiSubWindow *w : e->m_workspace.subWindowList()) + if (w->widget() == pv) e->m_workspace.setActiveSubWindow(w); + } + } + + if (!path.isEmpty()) { + project->setFilePath(path); + const QETResult result = project->write(); + if (!result.isOk()) + return failure(QStringLiteral("the project was created but not saved to %1: %2") + .arg(path, result.errorMessage())); + } + + QJsonObject answer = status(); + answer.insert(QStringLiteral("created"), true); + return answer; +} + +/** + @brief LiveServer::openProjects + The projects open in the editor window, in tab order: the index + switch_project takes, title, file, folios, unsaved changes, and which + one is current. +*/ +QJsonArray LiveServer::openProjects() const +{ + QJsonArray list; + QETDiagramEditor *e = editor(); + if (!e) return list; + const QETProject *current = e->currentProject(); + const QList views = e->openedProjects(); + for (int i = 0; i < views.count(); ++i) { + QETProject *p = views.at(i)->project(); + list.append(QJsonObject{ + {QStringLiteral("index"), i}, + {QStringLiteral("title"), p->title()}, + {QStringLiteral("path"), p->filePath()}, + {QStringLiteral("folios"), int(p->diagrams().count())}, + {QStringLiteral("modified"), p->projectWasModified()}, + {QStringLiteral("read_only"), p->isReadOnly()}, + {QStringLiteral("current"), p == current}}); + } + return list; +} + +/** + @brief LiveServer::openProject + Open a saved project and make it current, as File > Open does but with + no file dialog and no error windows: what is wrong comes back in the + answer. A project already open is only made current. +*/ +QJsonObject LiveServer::openProject(const QString &raw_path) +{ + QETDiagramEditor *e = editor(); + if (!e) return failure(QStringLiteral("no QElectroTech editor window is open")); + const QString path = raw_path.trimmed(); + if (path.isEmpty()) return failure(QStringLiteral("no path given")); + const QFileInfo info(path); + if (info.isRelative()) return failure(QStringLiteral("path must be absolute: %1").arg(path)); + if (!info.isFile()) return failure(QStringLiteral("%1 does not exist").arg(path)); + if (!info.isReadable()) return failure(QStringLiteral("%1 cannot be read (permissions)").arg(path)); + + QJsonObject extra{{QStringLiteral("opened"), true}}; + if (ProjectView *pv = e->viewForFile(info.absoluteFilePath())) { + e->activateProject(pv); + extra = {{QStringLiteral("opened"), false}, {QStringLiteral("already_open"), true}}; + } else if (QETApp::diagramEditorForFile(info.absoluteFilePath())) { + return failure(QStringLiteral("%1 is open in another QElectroTech window; " + "switch to it there").arg(path)); + } else { + if (!e->openAndAddProject(info.absoluteFilePath(), false)) + return failure(QStringLiteral("QElectroTech could not open %1 (not a " + "QElectroTech project, or a newer format)").arg(path)); + if (ProjectView *pv = e->viewForFile(info.absoluteFilePath())) e->activateProject(pv); + } + QJsonObject answer = status(); + for (auto it = extra.begin(); it != extra.end(); ++it) answer.insert(it.key(), it.value()); + return answer; +} + +/** + @brief LiveServer::switchProject + Make another open project current, by its index in "projects" (status) + or by its file path. +*/ +QJsonObject LiveServer::switchProject(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + if (!e) return failure(QStringLiteral("no QElectroTech editor window is open")); + const QList views = e->openedProjects(); + ProjectView *target = nullptr; + if (request.contains(QStringLiteral("index"))) { + const int index = request.value(QStringLiteral("index")).toInt(-1); + if (index < 0 || index >= views.count()) + return failure(QStringLiteral("no open project %1: %2 are open, counted from 0") + .arg(index).arg(views.count())); + target = views.at(index); + } else { + const QString path = request.value(QStringLiteral("path")).toString().trimmed(); + if (path.isEmpty()) return failure(QStringLiteral("give \"index\" (from \"projects\") or \"path\"")); + target = e->viewForFile(QFileInfo(path).absoluteFilePath()); + if (!target) return failure(QStringLiteral("%1 is not open; open_project opens it").arg(path)); + } + e->activateProject(target); + return status(); +} + +/** + @brief LiveServer::saveProject + Save the current project to its own file, or, with "path", to a new + file that becomes its file (Save As) -- never over an existing one. +*/ +QJsonObject LiveServer::saveProject(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) return failure(QStringLiteral("no project is open in QElectroTech")); + if (project->isReadOnly()) return failure(QStringLiteral("the project is read-only")); + + const QString path = request.value(QStringLiteral("path")).toString().trimmed(); + if (path.isEmpty()) { + if (project->filePath().isEmpty()) + return failure(QStringLiteral("the project has no file yet: give \"path\" to save it as one")); + } else { + const QFileInfo info(path); + if (info.isRelative()) return failure(QStringLiteral("path must be absolute: %1").arg(path)); + if (info.exists()) + return failure(QStringLiteral("%1 already exists; save as never replaces a file").arg(path)); + if (!info.dir().exists()) + return failure(QStringLiteral("the folder %1 does not exist").arg(info.absolutePath())); + project->setFilePath(info.absoluteFilePath()); + } + const QETResult result = project->write(); + if (!result.isOk()) return failure(QStringLiteral("not saved: %1").arg(result.errorMessage())); + QJsonObject answer = status(); + answer.insert(QStringLiteral("saved"), project->filePath()); + return answer; +} + +/** + @brief LiveServer::closeProject + Close an open project (the current one, or "index"), only when it has + no unsaved changes: closing never discards the user's work, and never + asks them a question on the assistant's behalf. +*/ +QJsonObject LiveServer::closeProject(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + if (!e) return failure(QStringLiteral("no QElectroTech editor window is open")); + const QList views = e->openedProjects(); + ProjectView *pv = nullptr; + if (request.contains(QStringLiteral("index"))) { + const int index = request.value(QStringLiteral("index")).toInt(-1); + if (index < 0 || index >= views.count()) + return failure(QStringLiteral("no open project %1: %2 are open, counted from 0") + .arg(index).arg(views.count())); + pv = views.at(index); + } else { + pv = e->currentProjectView(); + if (!pv) return failure(QStringLiteral("no project is open in QElectroTech")); + } + QETProject *project = pv->project(); + if (project->projectWasModified()) + return failure(QStringLiteral("\"%1\" has unsaved changes; save it first " + "(save_project) -- closing never discards them") + .arg(project->title())); + const QString title = project->title(); + if (!e->closeProject(pv)) return failure(QStringLiteral("QElectroTech did not close \"%1\"").arg(title)); + QJsonObject answer = status(); + answer.insert(QStringLiteral("closed"), title); + return answer; +} + +/** + @brief LiveServer::print + Print folios of the current project with no print dialog: "folios" is + "all" (default), "current" or a list of indexes; "printer" names one, + else the system's default printer. Paper cannot be taken back, so the + user is always asked first, whatever "always" says for scripts. + "output_file" prints to a new PDF file instead (no paper, so no + question; never over an existing file). +*/ +QJsonObject LiveServer::print(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + ProjectView *pv = e ? e->currentProjectView() : nullptr; + if (!pv) return failure(QStringLiteral("no project is open in QElectroTech")); + QETProject *project = pv->project(); + const QList all = project->diagrams(); + + QList folios; + const QJsonValue which = request.value(QStringLiteral("folios")); + if (which.isUndefined() || which.toString() == QLatin1String("all")) { + folios = all; + } else if (which.toString() == QLatin1String("current")) { + if (DiagramView *dv = e->currentDiagramView()) folios << dv->diagram(); + } else if (which.isArray()) { + for (const QJsonValue &v : which.toArray()) { + const int i = v.toInt(-1); + if (i < 0 || i >= all.count()) + return failure(QStringLiteral("no folio %1: the project has %2, counted from 0") + .arg(v.toVariant().toString()).arg(all.count())); + folios << all.at(i); + } + } else { + return failure(QStringLiteral("folios must be \"all\", \"current\" or a list of indexes")); + } + if (folios.isEmpty()) return failure(QStringLiteral("no folio to print")); + + const QString file = request.value(QStringLiteral("output_file")).toString().trimmed(); + QPrinterInfo info; + if (file.isEmpty()) { + const QString name = request.value(QStringLiteral("printer")).toString().trimmed(); + info = name.isEmpty() ? QPrinterInfo::defaultPrinter() : QPrinterInfo::printerInfo(name); + if (info.isNull()) + return failure(name.isEmpty() + ? QStringLiteral("this computer has no default printer") + : QStringLiteral("no printer called \"%1\" (printers: %2)") + .arg(name, QPrinterInfo::availablePrinterNames().join(QStringLiteral(", ")))); + QMessageBox box(QMessageBox::Question, tr("Impression"), + tr("L'assistant veut imprimer %n folio(s) de « %1 » sur « %2 ».", "", int(folios.count())) + .arg(project->title(), info.printerName()), + QMessageBox::NoButton, e); + QPushButton *go = box.addButton(tr("&Imprimer"), QMessageBox::AcceptRole); + box.addButton(tr("&Annuler"), QMessageBox::RejectRole); + box.setDefaultButton(go); + box.exec(); + if (box.clickedButton() != go) return failure(QStringLiteral("refused by the user")); + } else { + const QFileInfo fi(file); + if (fi.isRelative()) return failure(QStringLiteral("output_file must be absolute: %1").arg(file)); + if (fi.exists()) return failure(QStringLiteral("%1 already exists; printing never replaces a file").arg(file)); + } + + //info is still null when printing to a file, which is what QPrinter() + //uses. No ?: here: MSVC copies its result, and QPrinter cannot be copied + QPrinter printer(info); + //96 dpi, as the PDF export draws: symbols are replayed at the + //device's resolution, so at a printer's 600-1200 dpi they came out + //many times too big next to the wires (seen on a test print) + printer.setResolution(96); + if (!file.isEmpty()) { + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setOutputFileName(file); + } + printer.setDocName(project->title().isEmpty() ? QStringLiteral("QElectroTech") : project->title()); + const auto folioRect = [](Diagram *d) { + QRectF r = d->border_and_titleblock.borderAndTitleBlockRect(); + r.adjust(0, 0, 1, 1); + return r.toAlignedRect(); + }; + //One orientation for the job: some printer drivers ignore a change + //between pages. The first folio decides. + const QRect first = folioRect(folios.first()); + printer.setPageOrientation(first.width() > first.height() ? QPageLayout::Landscape + : QPageLayout::Portrait); + QPainter painter; + if (!painter.begin(&printer)) return failure(QStringLiteral("the printer could not be opened")); + for (int i = 0; i < folios.count(); ++i) { + Diagram *d = folios.at(i); + if (i) printer.newPage(); + //As the PDF export draws a folio: no grid, guides or terminals + const bool grid = d->displayGrid(), guides = d->displayGuides(); + const bool terms = d->drawTerminals(), names = d->drawTerminalNames(); + d->setDisplayGrid(false); d->setDisplayGuides(false); + d->setDrawTerminals(false); d->setDrawTerminalNames(false); + d->render(&painter, printer.pageLayout().paintRectPixels(printer.resolution()), + folioRect(d), Qt::KeepAspectRatio); + d->setDisplayGrid(grid); d->setDisplayGuides(guides); + d->setDrawTerminals(terms); d->setDrawTerminalNames(names); + } + painter.end(); + return {{QStringLiteral("ok"), true}, {QStringLiteral("printed"), int(folios.count())}, + {QStringLiteral("to"), file.isEmpty() ? info.printerName() : file}}; +} + +/** + @brief LiveServer::snapshot + Write a copy of the current project, as it is on screen (unsaved + changes included), to a new file -- for a check to read -- without + saving the project or changing its file. Never over an existing file. +*/ +QJsonObject LiveServer::snapshot(const QString &raw_path) +{ + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) return failure(QStringLiteral("no project is open in QElectroTech")); + const QFileInfo info(raw_path.trimmed()); + if (raw_path.trimmed().isEmpty() || info.isRelative()) + return failure(QStringLiteral("path must be absolute")); + if (info.exists()) return failure(QStringLiteral("%1 already exists").arg(raw_path)); + QDomDocument xml(project->toXml()); + QString error; + if (!QET::writeXmlFile(xml, info.absoluteFilePath(), &error)) + return failure(QStringLiteral("snapshot not written: %1").arg(error)); + return {{QStringLiteral("ok"), true}, {QStringLiteral("path"), info.absoluteFilePath()}, + {QStringLiteral("folio"), e->currentDiagramView() + ? int(project->diagrams().indexOf(e->currentDiagramView()->diagram())) : -1}}; +} + +/** + @brief LiveServer::changes + The current project's undo history: each step's name, whether the + assistant made it, and whether it is undone. "since" (an index from an + earlier answer) keeps only the steps after it, so an assistant can say + what it changed since a point. Changes nothing. +*/ +QJsonObject LiveServer::changes(const QJsonObject &request) +{ + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) return failure(QStringLiteral("no project is open in QElectroTech")); + QUndoStack *stack = project->undoStack(); + const QString prefix = tr("Assistant : %1").arg(QString()); + const int since = request.value(QStringLiteral("since")).toInt(-1); + QJsonArray steps; + int assistant = 0, user = 0; + for (int i = qMax(0, since + 1); i < stack->count(); ++i) { + const QString text = stack->text(i); + const bool mine = text.startsWith(prefix); + const bool undone = i >= stack->index(); + if (!undone) (mine ? assistant : user)++; + steps.append(QJsonObject{{QStringLiteral("index"), i}, {QStringLiteral("step"), text}, + {QStringLiteral("by"), mine ? QStringLiteral("assistant") + : QStringLiteral("user")}, + {QStringLiteral("undone"), undone}}); + } + return {{QStringLiteral("ok"), true}, {QStringLiteral("project"), project->title()}, + {QStringLiteral("steps"), steps}, + {QStringLiteral("now"), stack->index() - 1}, + {QStringLiteral("saved_at"), stack->cleanIndex() - 1}, + {QStringLiteral("done_by_assistant"), assistant}, {QStringLiteral("done_by_user"), user}}; +} + +/** + @brief LiveServer::undoLast + Undo the newest step, only if the assistant made it: what the user did + by hand stays theirs to undo. +*/ +QJsonObject LiveServer::undoLast() +{ + QETDiagramEditor *e = editor(); + QETProject *project = e ? e->currentProject() : nullptr; + if (!project) return failure(QStringLiteral("no project is open in QElectroTech")); + QUndoStack *stack = project->undoStack(); + const QString text = stack->text(stack->index() - 1); + const QString prefix = tr("Assistant : %1").arg(QString()); + if (!stack->canUndo() || !text.startsWith(prefix)) + return failure(QStringLiteral("the last step is not the assistant's (\"%1\"); " + "only the user undoes their own").arg(text)); + stack->undo(); + return {{QStringLiteral("ok"), true}, {QStringLiteral("undone"), text}}; +} + +QJsonObject LiveServer::screenshot() +{ + QETDiagramEditor *e = editor(); + DiagramView *view = e ? e->currentDiagramView() : nullptr; + if (!view) return failure(QStringLiteral("no folio is shown in QElectroTech")); + // Only the part of the folio (frame and title block) that is on + // screen: a tall or wide window around a zoomed-out folio would + // otherwise give mostly empty background. The whole viewport when + // the folio is scrolled out of sight. + QRect area = view->viewport()->rect(); + bool cropped = false; + if (Diagram *diagram = view->diagram()) { + const QRect folio = view->mapFromScene( + diagram->border_and_titleblock.borderAndTitleBlockRect()).boundingRect() + .adjusted(-1, -1, 1, 1).intersected(area); + if (!folio.isEmpty()) { + cropped = folio != area; + area = folio; + } + } + const QPixmap pixmap = view->viewport()->grab(area); + QByteArray png; + QBuffer buffer(&png); + buffer.open(QIODevice::WriteOnly); + pixmap.save(&buffer, "PNG"); + return {{QStringLiteral("ok"), true}, + {QStringLiteral("width"), pixmap.width()}, + {QStringLiteral("height"), pixmap.height()}, + {QStringLiteral("cropped_to_folio"), cropped}, + {QStringLiteral("png_base64"), QString::fromLatin1(png.toBase64())}}; +} + +/** + @brief LiveServer::confirm + Show the user the script the assistant wants to run, and ask. + @return true to run it +*/ +bool LiveServer::confirm(const QString &name, const QString &source) +{ + QDialog dialog(editor()); + dialog.setWindowTitle(tr("L'assistant veut exécuter un script")); + auto *layout = new QVBoxLayout(&dialog); + layout->addWidget(new QLabel( + tr("« %1 » sur le projet ouvert. Une fois exécuté, Ctrl+Z l'annule.") + .arg(name.isEmpty() ? tr("script") : name), &dialog)); + auto *text = new QPlainTextEdit(source, &dialog); + text->setReadOnly(true); + text->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + text->setMinimumSize(520, 220); + layout->addWidget(text); + auto *buttons = new QDialogButtonBox(&dialog); + QPushButton *run = buttons->addButton(tr("&Exécuter"), QDialogButtonBox::AcceptRole); + buttons->addButton(tr("&Refuser"), QDialogButtonBox::RejectRole); + QPushButton *always = buttons->addButton(tr("&Toujours"), + QDialogButtonBox::AcceptRole); + layout->addWidget(buttons); + QPushButton *clicked = nullptr; + connect(buttons, &QDialogButtonBox::clicked, &dialog, [&](QAbstractButton *b) { + clicked = qobject_cast(b); + }); + connect(buttons, &QDialogButtonBox::accepted, &dialog, &QDialog::accept); + connect(buttons, &QDialogButtonBox::rejected, &dialog, &QDialog::reject); + run->setDefault(true); + dialog.exec(); + if (clicked == always) setAskFirst(false); + return clicked == run || clicked == always; +} diff --git a/sources/scripting/liveserver.h b/sources/scripting/liveserver.h new file mode 100644 index 000000000..71c72fdfb --- /dev/null +++ b/sources/scripting/liveserver.h @@ -0,0 +1,113 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef LIVESERVER_H +#define LIVESERVER_H + +#include +#include +#include +#include + +class QLocalServer; +class QLocalSocket; +class QETDiagramEditor; +class QWidget; + +/** + @brief The LiveServer class + Live mode: an AI assistant, through the qet MCP server, runs scripts on + the project open in this QElectroTech while the user watches. + + Three things must all be true before anything can connect: scripting is + allowed, the "mode direct" setting is on (off by default), and the user + accepted the warning shown at this start (or once ticked "don't ask + again", which lasts until the setting is switched off). With the setting off this + class opens nothing and QElectroTech behaves as if it did not exist. + + The channel is a QLocalServer only the user's own account can open, + with a random name and token written to the "live" part of + qet-assistant.json (AssistantInfo), which the MCP server reads, and + cleared when the channel closes. One JSON request per connection, one JSON answer back, then + the server closes the connection; every request carries the token. + + Requests are never handled inside the socket's readyRead: each is + queued to the event loop first. QETApp::receiveMessage() learnt why -- + a modal dialog opened from inside a socket handler crashed QElectroTech + once the socket went away (PR #861). +*/ +class LiveServer : public QObject +{ + Q_OBJECT + + public: + enum State { Off, Waiting, Connected }; + + static LiveServer &instance(); + + void askAndStart(QWidget *parent); + void stop(); + State state() const { return m_state; } + bool askFirst() const { return m_ask_first; } + void setAskFirst(bool ask); + static QStringList allowedCommands(); + + signals: + void stateChanged(LiveServer::State state); + /// A request was handled: what was asked, and the answer sent + void handled(const QJsonObject &request, const QJsonObject &answer); + void askFirstChanged(bool ask); + + private: + LiveServer(); + ~LiveServer() override; + bool start(); + void setState(State state); + void newConnection(); + void readClient(); + void handle(const QJsonObject &request, qint64 received_ns); + void send(const QJsonObject &answer); + QJsonObject status(); + QJsonObject runScript(const QString &name, const QString &source); + QJsonObject runStored(const QString &id); + QJsonObject command(const QString &id); + QJsonObject showFolio(int folio); + QJsonObject newProject(const QJsonObject &request); + QJsonObject openProject(const QString &path); + QJsonObject switchProject(const QJsonObject &request); + QJsonArray openProjects() const; + QJsonObject saveProject(const QJsonObject &request); + QJsonObject closeProject(const QJsonObject &request); + QJsonObject print(const QJsonObject &request); + QJsonObject changes(const QJsonObject &request); + QJsonObject snapshot(const QString &path); + QJsonObject undoLast(); + QJsonObject screenshot(); + bool confirm(const QString &name, const QString &source); + QETDiagramEditor *editor() const; + + QLocalServer *m_server = nullptr; + QPointer m_client; + QByteArray m_buffer; + QString m_token; + State m_state = Off; + bool m_asked = false; + bool m_busy = false; + bool m_ask_first = true; ///< saved: QetSettings::liveAskFirst() +}; + +#endif // LIVESERVER_H diff --git a/sources/scripting/macrorecorder.cpp b/sources/scripting/macrorecorder.cpp new file mode 100644 index 000000000..f9ee0e9e0 --- /dev/null +++ b/sources/scripting/macrorecorder.cpp @@ -0,0 +1,242 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "macrorecorder.h" + +#include "assistantinfo.h" +#include "../diagram.h" +#include "../diagramview.h" +#include "../qetapp.h" +#include "../qetdiagrameditor.h" +#include "../qetgraphicsitem/element.h" +#include "../qetproject.h" + +#include +#include +#include +#include +#include +#include + +namespace { + bool writeFile(const QString &path, const QByteArray &data) + { + QSaveFile file(path); + return file.open(QIODevice::WriteOnly) && file.write(data) >= 0 && file.commit(); + } +} + +MacroRecorder &MacroRecorder::instance() +{ + static MacroRecorder recorder; + return recorder; +} + +QString MacroRecorder::folder() +{ + return QETApp::dataDir() + QStringLiteral("/recordings"); +} + +/** + @brief MacroRecorder::recordings + What qet-assistant.json lists: every saved recording, newest first. +*/ +QJsonArray MacroRecorder::recordings() +{ + QJsonArray list; + QDir dir(folder()); + const QStringList ids = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, + QDir::Name | QDir::Reversed); + for (const QString &id : ids) { + QFile file(dir.filePath(id + QStringLiteral("/recording.json"))); + if (!file.open(QIODevice::ReadOnly)) continue; + const QJsonObject r = QJsonDocument::fromJson(file.readAll()).object(); + list.append(QJsonObject{ + {QStringLiteral("id"), id}, + {QStringLiteral("name"), r.value(QStringLiteral("name"))}, + {QStringLiteral("steps"), r.value(QStringLiteral("steps")).toArray().size()}, + {QStringLiteral("started"), r.value(QStringLiteral("started"))}, + {QStringLiteral("complete"), r.value(QStringLiteral("complete"))}, + {QStringLiteral("folder"), dir.filePath(id)}}); + } + return list; +} + +bool MacroRecorder::start(QETDiagramEditor *editor) +{ + QETProject *project = editor ? editor->currentProject() : nullptr; + if (!project || isRecording()) return false; + + m_id = QDateTime::currentDateTime().toString(QStringLiteral("yyyyMMdd-HHmmss")); + m_dir = folder() + QLatin1Char('/') + m_id; + if (!QDir().mkpath(m_dir + QStringLiteral("/steps"))) return false; + if (!writeFile(m_dir + QStringLiteral("/before.qet"), project->toXml().toByteArray(4))) + return false; + + m_project = project; + m_editor = editor; + m_started = QDateTime::currentDateTime().toString(Qt::ISODate); + m_project_title = project->title(); + m_project_path = project->filePath(); + m_steps = QJsonArray(); + m_start = where(); + m_last_index = project->undoStack()->index(); + connect(project->undoStack(), &QUndoStack::indexChanged, + this, &MacroRecorder::undoIndexChanged); + //Closed while recording: keep what was recorded + connect(project, &QObject::destroyed, this, [this]() { finish(true); }); + + emit stateChanged(true, 0); + AssistantInfo::write(); + return true; +} + +void MacroRecorder::undoIndexChanged(int index) +{ + if (!m_project) return; + QUndoStack *stack = m_project->undoStack(); + if (index > m_last_index) { + for (int i = m_last_index; i < index; ++i) { + const QUndoCommand *cmd = stack->command(i); + if (!cmd) continue; + QStringList parts; + for (int c = 0; c < cmd->childCount(); ++c) parts << cmd->child(c)->text(); + addStep(QStringLiteral("do"), cmd->text(), parts); + } + } else if (index < m_last_index) { + for (int i = m_last_index - 1; i >= index; --i) { + const QUndoCommand *cmd = stack->command(i); + addStep(QStringLiteral("undo"), cmd ? cmd->text() : QString(), {}); + } + } + m_last_index = index; +} + +void MacroRecorder::addStep(const QString &kind, const QString &text, const QStringList &parts) +{ + const int n = int(m_steps.size()) + 1; + QJsonObject step{ + {QStringLiteral("n"), n}, + {QStringLiteral("kind"), kind}, + {QStringLiteral("undo_text"), text}, + {QStringLiteral("parts"), QJsonArray::fromStringList(parts)}}; + + const QJsonObject here = where(); + for (auto it = here.begin(); it != here.end(); ++it) step.insert(it.key(), it.value()); + DiagramView *view = m_editor ? m_editor->currentDiagramView() : nullptr; + Diagram *diagram = view ? view->diagram() : nullptr; + if (diagram && diagram->project() == m_project) { + const QString file = QStringLiteral("steps/%1.xml").arg(n, 3, 10, QLatin1Char('0')); + if (writeFile(m_dir + QLatin1Char('/') + file, diagram->toXml(true).toByteArray(4))) + step.insert(QStringLiteral("folio_file"), file); + } + m_steps.append(step); + emit stateChanged(true, n); +} + +/** + @brief MacroRecorder::where + The folio on screen and the elements selected on it: where the person + was working, which a script that acts "on the selection" needs to be + checked against. +*/ +QJsonObject MacroRecorder::where() const +{ + DiagramView *view = m_editor ? m_editor->currentDiagramView() : nullptr; + Diagram *diagram = view ? view->diagram() : nullptr; + if (!diagram || diagram->project() != m_project) return {}; + QJsonArray selected; + for (QGraphicsItem *item : diagram->selectedItems()) { + if (item->type() != Element::Type) continue; + auto *element = static_cast(item); + selected.append(QJsonObject{ + {QStringLiteral("uuid"), element->uuid().toString()}, + {QStringLiteral("label"), element->actualLabel()}, + {QStringLiteral("x"), element->pos().x()}, + {QStringLiteral("y"), element->pos().y()}}); + } + return {{QStringLiteral("folio"), int(m_project->diagrams().indexOf(diagram))}, + {QStringLiteral("folio_title"), diagram->title()}, + {QStringLiteral("selected_elements"), selected}}; +} + +void MacroRecorder::stop() +{ + if (isRecording()) finish(false); +} + +void MacroRecorder::finish(bool project_closed) +{ + if (m_dir.isEmpty()) return; + QETDiagramEditor *editor = m_editor; + if (m_project) { + disconnect(m_project->undoStack(), nullptr, this, nullptr); + disconnect(m_project, nullptr, this, nullptr); + } + bool complete = false; + if (!project_closed && m_project) + complete = writeFile(m_dir + QStringLiteral("/after.qet"), + m_project->toXml().toByteArray(4)); + + const QJsonObject recording{ + {QStringLiteral("format"), 1}, + {QStringLiteral("id"), m_id}, + {QStringLiteral("name"), tr("Macro du %1").arg( + QDateTime::fromString(m_started, Qt::ISODate).toString(QStringLiteral("dd/MM/yyyy HH:mm")))}, + {QStringLiteral("project_title"), m_project_title}, + {QStringLiteral("project_path"), m_project_path}, + {QStringLiteral("started"), m_started}, + {QStringLiteral("stopped"), QDateTime::currentDateTime().toString(Qt::ISODate)}, + {QStringLiteral("complete"), complete}, + {QStringLiteral("note"), complete ? QString() + : tr("projet fermé pendant l'enregistrement : pas de after.qet")}, + {QStringLiteral("before"), QStringLiteral("before.qet")}, + {QStringLiteral("after"), complete ? QJsonValue(QStringLiteral("after.qet")) : QJsonValue()}, + {QStringLiteral("folder"), m_dir}, + {QStringLiteral("start"), m_start}, + {QStringLiteral("steps"), m_steps}}; + writeFile(m_dir + QStringLiteral("/recording.json"), + QJsonDocument(recording).toJson(QJsonDocument::Indented)); + + m_last_id = m_id; + m_project = nullptr; + m_editor = nullptr; + m_dir.clear(); + emit stateChanged(false, int(m_steps.size())); + AssistantInfo::write(); + emit finished(recording, editor); +} + +/** + @brief MacroRecorder::assistantRequest + What "Copier la demande pour l'assistant" puts on the clipboard: the + recording named, and the round the assistant should follow. +*/ +QString MacroRecorder::assistantRequest(const QJsonObject &recording) +{ + const int steps = int(recording.value(QStringLiteral("steps")).toArray().size()); + return tr("J'ai enregistré une macro dans QElectroTech : « %1 », %n étape(s) " + "(identifiant %2, dossier %3).\n" + "Avec le serveur MCP qet : lis-la avec qet_recording_read, écris un " + "script qui fait la même chose de façon générale (par exemple sur les " + "éléments sélectionnés plutôt que sur ceux-là précisément), vérifie-le " + "avec qet_recording_check jusqu'à ce qu'il corresponde, puis propose-le " + "comme bouton avec qet_script_install.", nullptr, steps) + .arg(recording.value(QStringLiteral("name")).toString()) + .arg(recording.value(QStringLiteral("id")).toString(), + QDir::toNativeSeparators(recording.value(QStringLiteral("folder")).toString())); +} diff --git a/sources/scripting/macrorecorder.h b/sources/scripting/macrorecorder.h new file mode 100644 index 000000000..ee6ee5391 --- /dev/null +++ b/sources/scripting/macrorecorder.h @@ -0,0 +1,92 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef MACRORECORDER_H +#define MACRORECORDER_H + +#include +#include +#include +#include + +class QETDiagramEditor; +class QETProject; + +/** + @brief The MacroRecorder class + Records what a person does by hand on one project, so an AI assistant + can turn it into a script (see MACRO-RECORDER-SCOPE.md): + + @code + /recordings// + recording.json name, project, times, the steps + before.qet the whole project when recording started + after.qet the whole project when it stopped + steps/003.xml the folio a step happened on, after the step + @endcode + + Steps come from the project's undo history -- each new entry is one + step, with its name and the names of the commands inside it -- so no + editing command has to be taught to the recorder. Before and after are + exact whatever was done; the steps give the order. Nothing new walks + the scene: the files are QElectroTech's own serialisation. + + QElectroTech cannot send anything to an assistant; the assistant fetches + recordings through the qet MCP server, and qet-assistant.json lists them. +*/ +class MacroRecorder : public QObject +{ + Q_OBJECT + + public: + static MacroRecorder &instance(); + static QString folder(); + static QJsonArray recordings(); + + bool start(QETDiagramEditor *editor); + void stop(); + bool isRecording() const { return !m_project.isNull(); } + int stepCount() const { return int(m_steps.size()); } + QString lastId() const { return m_last_id; } + static QString assistantRequest(const QJsonObject &recording); + + signals: + void stateChanged(bool recording, int steps); + /// A recording was saved; @a recording is its recording.json + void finished(const QJsonObject &recording, QETDiagramEditor *editor); + + private: + MacroRecorder() = default; + void undoIndexChanged(int index); + void addStep(const QString &kind, const QString &text, const QStringList &parts); + void finish(bool project_closed); + QJsonObject where() const; + + QPointer m_project; + QPointer m_editor; + QString m_id; + QString m_dir; + QString m_started; + QString m_project_title; + QString m_project_path; + QJsonArray m_steps; + QJsonObject m_start; ///< folio and selection when recording started + QString m_last_id; + int m_last_index = 0; +}; + +#endif // MACRORECORDER_H diff --git a/sources/scripting/qetscriptapi.cpp b/sources/scripting/qetscriptapi.cpp index 2bf1acab2..4391227a1 100644 --- a/sources/scripting/qetscriptapi.cpp +++ b/sources/scripting/qetscriptapi.cpp @@ -43,8 +43,12 @@ #include "../qetproject.h" #include "../qetresult.h" #include "../qetgraphicsitem/conductor.h" +#include "../qetgraphicsitem/conductortextitem.h" #include "../conductorsegment.h" +#include "../conductorrouter.h" #include "../qetgraphicsitem/diagramimageitem.h" +#include "../utils/qetsettings.h" +#include "assistantinfo.h" // See diagrameventaddpdf.h: a missing QtPdf module (or Qt < 6.4) is not // fatal at build time, so addPdfPage() is always declared -- a script @@ -55,9 +59,12 @@ #include #include #endif +#include +#include #include "../qetgraphicsitem/dynamicelementtextitem.h" #include "../qetgraphicsitem/independenttextitem.h" #include "../qetgraphicsitem/qetshapeitem.h" +#include "../undocommand/mirrorselectioncommand.h" #include "../undocommand/promoteshapecommand.h" #include "../TerminalStrip/UndoCommand/addterminalstripcommand.h" #include "../TerminalStrip/UndoCommand/addterminaltostripcommand.h" @@ -67,6 +74,8 @@ #include "../TerminalStrip/physicalterminal.h" #include "../TerminalStrip/realterminal.h" #include "../TerminalStrip/terminalstrip.h" +#include "../autoNum/autonumschemecommand.h" +#include "../autoNum/elementautonumschemecommand.h" #include "../autoNum/assignvariables.h" #include "../autoNum/numerotationcontext.h" #include "../borderproperties.h" @@ -88,6 +97,7 @@ #include #include #include +#include #include #include #include @@ -118,6 +128,67 @@ int QetScriptApi::folioCount() const return m_project ? m_project->diagrams().count() : 0; } +/** + @brief QetScriptApi::currentFolio + The index of the folio on screen, so a script started from the editor + acts where the user is looking. With no view (--run) there is no such + folio, and the first one stands in for it so a script written for the + editor can still be tried headless; -1 if the project has none. +*/ +/** + @brief QetScriptApi::apiSignatures + Every call a script can make, as "returnType name(type param, ...)", + read from the meta-object rather than written out by hand, so the list + is the one this build has and cannot drift from it: for a person + writing a script, and for an assistant that has to write one without + the source at hand. A call with default arguments is listed once, with + all of them. +*/ +QStringList QetScriptApi::apiSignatures() const +{ + return signatures(); +} + +/** + @brief QetScriptApi::signatures + apiSignatures() without a script running: what qet-assistant.json lists + for an assistant before it has run anything. +*/ +QStringList QetScriptApi::signatures() +{ + QStringList list; + const QMetaObject *meta = &staticMetaObject; + for (int i = meta->methodOffset(); i < meta->methodCount(); ++i) { + const QMetaMethod method = meta->method(i); + if (method.methodType() != QMetaMethod::Method + || method.access() != QMetaMethod::Public + || (method.attributes() & QMetaMethod::Cloned)) { + continue; + } + const QList types = method.parameterTypes(); + const QList names = method.parameterNames(); + QStringList params; + for (int p = 0; p < types.size(); ++p) { + params << QString::fromLatin1(types.at(p) + ' ' + names.value(p)); + } + list << QStringLiteral("%1 %2(%3)") + .arg(QString::fromLatin1(method.typeName()), + QString::fromLatin1(method.name()), + params.join(QStringLiteral(", "))); + } + return list; +} + +int QetScriptApi::currentFolio() const +{ + if (!m_project) return -1; + const QList diagrams = m_project->diagrams(); + if (m_view && m_view->diagram()) { + return diagrams.indexOf(m_view->diagram()); + } + return diagrams.isEmpty() ? -1 : 0; +} + QString QetScriptApi::folioTitle(int index) const { if (!m_project) return QString(); @@ -258,9 +329,13 @@ bool QetScriptApi::exportWires(const QString &output) return runFlag(QStringLiteral("--export-wires"), {output}); } -bool QetScriptApi::exportBom(const QString &output) +bool QetScriptApi::exportBom(const QString &output, bool noSlaves, + bool noJunctions) { - return runFlag(QStringLiteral("--export-bom"), {output}); + QStringList args{output}; + if (noSlaves) args << QStringLiteral("--no-slaves"); + if (noJunctions) args << QStringLiteral("--no-junctions"); + return runFlag(QStringLiteral("--export-bom"), args); } /** @@ -370,6 +445,18 @@ bool QetScriptApi::save(const QString &output) void QetScriptApi::log(const QString &message) { QTextStream(stderr) << message << "\n"; + if (m_live_log) m_live_log->append(message); +} + +/** + @brief QetScriptApi::setLive + A run asked for by an assistant (LiveServer): what the script logs is + collected in @p log for the answer, and a message box -- which would + wait for someone who did not ask for it -- is logged instead. +*/ +void QetScriptApi::setLive(QStringList *log) +{ + m_live_log = log; } /** @@ -559,6 +646,11 @@ bool QetScriptApi::setInfoKey(int folioIndex, const QString &elementUuid, log(QStringLiteral("qet.%1: empty information key").arg(caller)); return false; } + if (key == QETInformation::ELMT_FORMULA_ID) { + log(QStringLiteral("qet.%1: \"%2\" is internal, follow a numbering with numberElement()") + .arg(caller, key)); + return false; + } Element *element = findElement(folioIndex, elementUuid); if (!element) return false; @@ -566,6 +658,10 @@ bool QetScriptApi::setInfoKey(int folioIndex, const QString &elementUuid, if (old_info.value(key).toString() == value) return true; // nothing to push DiagramContext new_info = old_info; new_info.addValue(key, value); + // A formula written by hand follows no numbering scheme + if (key == QETInformation::ELMT_FORMULA) { + new_info.remove(QETInformation::ELMT_FORMULA_ID); + } auto *cmd = new ChangeElementInformationCommand(element, old_info, new_info); m_project->undoStack()->push(cmd); @@ -631,6 +727,17 @@ QString QetScriptApi::addElement(int folioIndex, const QString &locationPath, do const QString import_path = location.isFileSystem() ? QStringLiteral("import/") + location.collectionPath(false) : location.collectionPath(false); + // An element file that exists but cannot be read gives a null + // uuid(), which the collision check below would misreport as "a + // different element" -- say what actually went wrong instead. + if (location.isFileSystem() + && location.pugiXml().document_element().empty()) { + const QString file = QDir::toNativeSeparators( + QFileInfo(location.fileSystemPath()).absoluteFilePath()); + log(QStringLiteral("qet.addElement: could not read element '%1' (file '%2', " + "%3 characters)").arg(locationPath, file).arg(file.size())); + return QString(); + } const ElementsLocation existing(import_path, m_project); if (existing.exist() && existing.uuid() != location.uuid()) { log(QStringLiteral("qet.addElement: '%1' would collide with a different element " @@ -711,6 +818,16 @@ bool QetScriptApi::deleteElement(int folioIndex, const QString &elementUuid) DiagramContent content; content.m_elements << element; + // The wires on its terminals go with it, as when the Delete key + // removes a selected element (DiagramContent puts them in + // m_conductors_to_update); without them they stay on the folio, + // attached to an element that is no longer there. + for (Terminal *terminal : element->terminals()) { + for (Conductor *conductor : terminal->conductors()) { + if (!content.m_conductors_to_update.contains(conductor)) + content.m_conductors_to_update << conductor; + } + } if (DeleteQGraphicsItemCommand::hasNonDeletableTerminal(content)) { log(QStringLiteral("qet.deleteElement: %1 has a non-deletable terminal (linked master/slave?), refusing").arg(elementUuid)); return false; @@ -745,6 +862,43 @@ bool QetScriptApi::rotateElement(int folioIndex, const QString &elementUuid, dou return true; } +/** + @brief QetScriptApi::mirrorElement + Mirror an element in place, as "Miroir horizontal" (left and right + swap) or, with @p vertical, "Miroir vertical" (top and bottom swap) + do on a selection. Mirroring twice the same way puts it back. + @return false if the element is not found or the project is read only +*/ +bool QetScriptApi::mirrorElement(int folioIndex, const QString &elementUuid, bool vertical) +{ + if (m_project && m_project->isReadOnly()) { + log(QStringLiteral("qet.mirrorElement: project is read-only")); + return false; + } + Element *element = findElement(folioIndex, elementUuid); + if (!element) return false; + + m_project->undoStack()->push(new MirrorSelectionCommand( + {element}, vertical ? Qt::Vertical : Qt::Horizontal)); + return true; +} + +/** + @brief QetScriptApi::elementMirror + @return the mirrors of the element about its own axes, as saved in the + project (Element::setMirror()): "horizontal", "vertical", "both", or "" + if it is not mirrored or not found. On a turned element, a horizontal + mirror of the folio is a vertical mirror of the element. +*/ +QString QetScriptApi::elementMirror(int folioIndex, const QString &elementUuid) const +{ + const Element *element = findElement(folioIndex, elementUuid); + if (!element || !element->isMirrored()) return QString(); + if (!element->hasVerticalMirror()) return QStringLiteral("horizontal"); + if (!element->hasHorizontalMirror()) return QStringLiteral("vertical"); + return QStringLiteral("both"); +} + QStringList QetScriptApi::elementUuids(int folioIndex) const { QStringList uuids; @@ -902,6 +1056,11 @@ bool QetScriptApi::addConductor(int folioIndex, log(QStringLiteral("qet.addConductor: those two terminals are already wired together")); return false; } + if (!t1->hasRoomForWire() || !t2->hasRoomForWire()) { + log(QStringLiteral("qet.addConductor: a terminal already has as many wires as the " + "project's wires-per-terminal limit allows")); + return false; + } if (!t1->canBeLinkedTo(t2)) { log(QStringLiteral("qet.addConductor: those two terminals cannot be linked")); return false; @@ -1148,6 +1307,129 @@ bool QetScriptApi::moveConductorSegment(int folioIndex, const QString &elementUu return conductor->moveSegment(segmentIndex, dx, dy); } +namespace { +ConductorRouter::Direction routerDirection(Qet::Orientation o) +{ + switch (o) { + case Qet::North: return ConductorRouter::Direction::North; + case Qet::East: return ConductorRouter::Direction::East; + case Qet::South: return ConductorRouter::Direction::South; + case Qet::West: return ConductorRouter::Direction::West; + } + return ConductorRouter::Direction::North; +} +} // namespace + +/** + @brief QetScriptApi::applyRoute + Redraw @p conductor around the symbols on its folio (ConductorRouter), + as one undo step through Conductor::setPathPoints() -- the same + ChangeConductorCommand a handle drag pushes, so the path is saved and + survives a reload. Obstacles are every element's own rectangle, its + texts left out, except one drawn around either end's own symbol (a + frame); the other conductors are not obstacles but cost extra to run + along or cross. + @return "routed", or "no-route" with the reason logged when there is + no such path -- the conductor then keeps the path it had. Not a + failure: the wire exists and joins the right terminals either way. +*/ +QString QetScriptApi::applyRoute(Conductor *conductor, const QString &caller) +{ + Diagram *diagram = conductor->diagram(); + if (!diagram) return QString(); + + ConductorRouter::Request request; + request.start = conductor->terminal1->dockConductor(); + request.start_direction = routerDirection(conductor->terminal1->orientation()); + request.end = conductor->terminal2->dockConductor(); + request.end_direction = routerDirection(conductor->terminal2->orientation()); + request.grid = Diagram::xGrid; + request.bounds = diagram->border_and_titleblock.insideBorderRect(); + for (Element *e : diagram->elements()) + request.obstacles << e->mapRectToScene(e->boundingRect()); + if (Element *e = conductor->terminal1->parentElement()) + request.start_symbol = e->mapRectToScene(e->boundingRect()); + if (Element *e = conductor->terminal2->parentElement()) + request.end_symbol = e->mapRectToScene(e->boundingRect()); + for (Conductor *other : diagram->conductors()) { + if (other == conductor) continue; + QVector wire; + const QList segs = other->segmentsList(); + for (ConductorSegment *seg : segs) { + if (wire.isEmpty()) wire << other->mapToScene(seg->firstPoint()); + wire << other->mapToScene(seg->secondPoint()); + } + request.wires << wire; + } + + const ConductorRouter::Result route = ConductorRouter::route(request); + if (route.points.isEmpty()) { + log(QStringLiteral("qet.%1: %2; the conductor keeps its path") + .arg(caller, route.error)); + return QStringLiteral("no-route"); + } + if (!conductor->setPathPoints(route.points)) { + // ConductorRouter always gives at least the two terminals and an + // exit point between them, so this is a route that is not a run + // of horizontal and vertical segments from one terminal to the + // other -- a bug in the router, not something the folio did. + log(QStringLiteral("qet.%1: the route found was refused (it must run in " + "horizontal and vertical segments from one terminal to " + "the other); the conductor keeps its path").arg(caller)); + return QStringLiteral("no-route"); + } + return QStringLiteral("routed"); +} + +/** + @brief QetScriptApi::routeConductor + Redraw the conductor on a terminal so it goes around the symbols in + its way instead of through them -- see applyRoute(). Addressed as the + other conductor calls address one. + @return "routed", "no-route" (path unchanged, reason logged), or an + empty string if there is no such conductor or the project is read-only +*/ +QString QetScriptApi::routeConductor(int folioIndex, const QString &elementUuid, + int terminalIndex) +{ + if (!m_project) return QString(); + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.routeConductor: project is read-only")); + return QString(); + } + Conductor *conductor = findConductor(folioIndex, elementUuid, terminalIndex, + QStringLiteral("routeConductor")); + if (!conductor) return QString(); + return applyRoute(conductor, QStringLiteral("routeConductor")); +} + +/** + @brief QetScriptApi::routeConductorBetween + routeConductor() for the conductor joining two given terminals, which + names it even where either terminal carries other conductors too -- + the case just after addConductor() onto a terminal already wired. +*/ +QString QetScriptApi::routeConductorBetween(int folioIndex, + const QString &elementUuidA, int terminalIndexA, + const QString &elementUuidB, int terminalIndexB) +{ + if (!m_project) return QString(); + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.routeConductorBetween: project is read-only")); + return QString(); + } + const QString caller = QStringLiteral("routeConductorBetween"); + Terminal *a = findTerminal(folioIndex, elementUuidA, terminalIndexA, caller); + Terminal *b = findTerminal(folioIndex, elementUuidB, terminalIndexB, caller); + if (!a || !b) return QString(); + for (Conductor *c : a->conductors()) { + if (c->terminal1 == b || c->terminal2 == b) + return applyRoute(c, caller); + } + log(QStringLiteral("qet.%1: no conductor joins those two terminals").arg(caller)); + return QString(); +} + QString QetScriptApi::elementLinkType(int folioIndex, const QString &elementUuid) const { Element *element = findElement(folioIndex, elementUuid); @@ -2937,9 +3219,108 @@ bool QetScriptApi::addAutoNum(const QString &kind, const QString &name, const QS } } - if (kind == QLatin1String("conductor")) m_project->addConductorAutoNum(name, context); - else if (kind == QLatin1String("element")) m_project->addElementAutoNum(name, context); - else m_project->addFolioAutoNum(name, context); + if (kind == QLatin1String("element")) { + // Through the undo stack, and an existing scheme is edited + // rather than replaced: the elements following it follow + // the new definition (see ElementAutoNumSchemeCommand) + ElementAutoNumSchemeCommand *cmd = nullptr; + if (m_project->elementAutoNum().contains(name)) { + const int frozen = ElementAutoNumSchemeCommand::editBlockedBy(m_project, name, context).size(); + if (frozen) { + log(QStringLiteral("qet.addAutoNum: %1 element(s) with a frozen label follow '%2', " + "its formula cannot change").arg(frozen).arg(name)); + return false; + } + if (const auto conflict = ElementAutoNumSchemeCommand::counterConflict(m_project, name, context)) { + log(QStringLiteral("qet.addAutoNum: the counter %1 of '%2' is at or below %3 number(s) in use " + "(up to %4); new elements will skip them") + .arg(conflict->counter).arg(name).arg(conflict->count).arg(conflict->highest)); + } + cmd = ElementAutoNumSchemeCommand::edit(m_project, name, name, context, false); + } else { + const QString problem = ElementAutoNumSchemeCommand::nameProblem(m_project, name); + if (!problem.isEmpty()) { + log(QStringLiteral("qet.addAutoNum: %1").arg(problem)); + return false; + } + cmd = ElementAutoNumSchemeCommand::create(m_project, name, context, QUuid(), false); + } + if (cmd) m_project->undoStack()->push(cmd); + return true; + } + // Conductor and folio numberings: undoable too, an existing one is + // edited, and a new name is unique and not empty + const auto scheme_kind = kind == QLatin1String("conductor") + ? AutoNumSchemeCommand::Kind::Conductor + : AutoNumSchemeCommand::Kind::Folio; + AutoNumSchemeCommand *cmd = nullptr; + if (AutoNumSchemeCommand::contains(m_project, scheme_kind, name)) { + cmd = AutoNumSchemeCommand::edit(m_project, scheme_kind, name, name, context); + } else { + const QString problem = AutoNumSchemeCommand::nameProblem(m_project, scheme_kind, name); + if (!problem.isEmpty()) { + log(QStringLiteral("qet.addAutoNum: %1").arg(problem)); + return false; + } + cmd = AutoNumSchemeCommand::create(m_project, scheme_kind, name, context); + } + if (cmd) m_project->undoStack()->push(cmd); + return true; +} + +/** + @brief QetScriptApi::renameAutoNum + Rename a numbering context. What follows it follows it under its new + name: the elements for an element numbering, the folios for a conductor + or folio numbering. Undoable. +*/ +bool QetScriptApi::renameAutoNum(const QString &kind, const QString &name, const QString &newName) +{ + if (!m_project) return false; + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.renameAutoNum: project is read-only")); + return false; + } + if (kind != QLatin1String("element") && kind != QLatin1String("conductor") + && kind != QLatin1String("folio")) { + log(QStringLiteral("qet.renameAutoNum: unknown kind '%1'; expected conductor, element or folio").arg(kind)); + return false; + } + + if (kind != QLatin1String("element")) + { + // The folios which follow it follow it under its new name + const auto scheme_kind = kind == QLatin1String("conductor") + ? AutoNumSchemeCommand::Kind::Conductor + : AutoNumSchemeCommand::Kind::Folio; + if (!AutoNumSchemeCommand::contains(m_project, scheme_kind, name)) { + log(QStringLiteral("qet.renameAutoNum: no %1 auto-numbering named '%2'").arg(kind, name)); + return false; + } + const QString problem = AutoNumSchemeCommand::nameProblem(m_project, scheme_kind, newName, name); + if (!problem.isEmpty()) { + log(QStringLiteral("qet.renameAutoNum: %1").arg(problem)); + return false; + } + auto *cmd = AutoNumSchemeCommand::edit( + m_project, scheme_kind, name, newName, + AutoNumSchemeCommand::contextOf(m_project, scheme_kind, name)); + if (cmd) m_project->undoStack()->push(cmd); + return true; + } + + if (!m_project->elementAutoNum().contains(name)) { + log(QStringLiteral("qet.renameAutoNum: no element auto-numbering named '%1'").arg(name)); + return false; + } + const QString problem = ElementAutoNumSchemeCommand::nameProblem(m_project, newName, name); + if (!problem.isEmpty()) { + log(QStringLiteral("qet.renameAutoNum: %1").arg(problem)); + return false; + } + auto *cmd = ElementAutoNumSchemeCommand::edit( + m_project, name, newName, m_project->elementAutoNum(name), false); + if (cmd) m_project->undoStack()->push(cmd); return true; } @@ -2956,9 +3337,30 @@ bool QetScriptApi::removeAutoNum(const QString &kind, const QString &name) log(QStringLiteral("qet.removeAutoNum: no %1 auto-numbering named '%2'").arg(kind, name)); return false; } - if (kind == QLatin1String("conductor")) m_project->removeConductorAutoNum(name); - else if (kind == QLatin1String("element")) m_project->removeElementAutoNum(name); - else m_project->removeFolioAutoNum(name); + if (kind == QLatin1String("element")) { + const int used = m_project->elementsUsingElementAutoNum(name).size(); + if (used) { + log(QStringLiteral("qet.removeAutoNum: %1 element(s) follow '%2', it cannot be removed") + .arg(used).arg(name)); + return false; + } + if (auto *cmd = ElementAutoNumSchemeCommand::remove(m_project, name)) { + m_project->undoStack()->push(cmd); + } + return true; + } + const auto scheme_kind = kind == QLatin1String("conductor") + ? AutoNumSchemeCommand::Kind::Conductor + : AutoNumSchemeCommand::Kind::Folio; + const int used = AutoNumSchemeCommand::usersOf(m_project, scheme_kind, name).size(); + if (used) { + log(QStringLiteral("qet.removeAutoNum: %1 folio(s) follow '%2', it cannot be removed") + .arg(used).arg(name)); + return false; + } + if (auto *cmd = AutoNumSchemeCommand::remove(m_project, scheme_kind, name)) { + m_project->undoStack()->push(cmd); + } return true; } @@ -3165,6 +3567,50 @@ bool QetScriptApi::setImageRotation(int folioIndex, int imageIndex, double angle return true; } +/** + @brief QetScriptApi::cropImage + Show only the rectangle (x, y, width, height) of the image's original, + in the original's own pixels, as the crop tool does: one undo step, + the kept region staying where it is on the folio. + @return false if nothing was cropped: no such image, read-only + project, or a rectangle that is empty, outside the original, or the + current crop. +*/ +bool QetScriptApi::cropImage(int folioIndex, int imageIndex, int x, int y, int width, int height) +{ + if (!m_project) return false; + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.cropImage: project is read-only")); + return false; + } + const QList list = sortedImages(folioIndex); + if (imageIndex < 0 || imageIndex >= list.count()) { + log(QStringLiteral("qet.cropImage: folio %1 has %2 image(s), no index %3") + .arg(folioIndex).arg(list.count()).arg(imageIndex)); + return false; + } + return list.at(imageIndex)->applyCrop(QRect(x, y, width, height)); +} + +/** + @brief QetScriptApi::imageCrop + @return the image's crop rectangle in its original's pixels, as + {x, y, width, height} like elementGeometry(), or an empty map for no + such image. +*/ +QVariantMap QetScriptApi::imageCrop(int folioIndex, int imageIndex) const +{ + QVariantMap crop; + const QList list = sortedImages(folioIndex); + if (imageIndex < 0 || imageIndex >= list.count()) return crop; + const QRect r = list.at(imageIndex)->cropRect(); + crop.insert(QStringLiteral("x"), r.x()); + crop.insert(QStringLiteral("y"), r.y()); + crop.insert(QStringLiteral("width"), r.width()); + crop.insert(QStringLiteral("height"), r.height()); + return crop; +} + bool QetScriptApi::deleteImage(int folioIndex, int imageIndex) { if (!m_project) return false; @@ -3185,6 +3631,25 @@ bool QetScriptApi::deleteImage(int folioIndex, int imageIndex) return true; } +/** + @brief QetScriptApi::elementTextGeometry + Where one of a symbol's text fields is drawn on the folio, in folio + coordinates: left, top, right, bottom of the text as shown. A label + that sits on a wire is visible here, not from x/y alone (x/y are + relative to the symbol and say nothing about the text's size). + @return an empty map when the text does not exist +*/ +QVariantMap QetScriptApi::elementTextGeometry(int folioIndex, const QString &elementUuid, + int textIndex) const +{ + DynamicElementTextItem *t = findElementText(folioIndex, elementUuid, textIndex, + QStringLiteral("elementTextGeometry")); + if (!t) return {}; + const QRectF r = t->sceneBoundingRect(); + return {{QStringLiteral("left"), r.left()}, {QStringLiteral("top"), r.top()}, + {QStringLiteral("right"), r.right()}, {QStringLiteral("bottom"), r.bottom()}}; +} + /** @brief QetScriptApi::addPdfPage Render one page of a PDF file to an image and place it, as the "add @@ -3559,7 +4024,8 @@ bool QetScriptApi::numberElement(int folioIndex, const QString &elementUuid) element->setUpFormula(true); const DiagramContext new_info = element->elementInformations(); if (new_info.value(QETInformation::ELMT_LABEL) == old_info.value(QETInformation::ELMT_LABEL) - && new_info.value(QStringLiteral("formula")) == old_info.value(QStringLiteral("formula"))) { + && new_info.value(QStringLiteral("formula")) == old_info.value(QStringLiteral("formula")) + && new_info.value(QETInformation::ELMT_FORMULA_ID) == old_info.value(QETInformation::ELMT_FORMULA_ID)) { stack->endMacro(); return false; } @@ -3569,6 +4035,129 @@ bool QetScriptApi::numberElement(int folioIndex, const QString &elementUuid) return true; } +/** + @brief QetScriptApi::renumberElementAutoNum + Number again, from the first number, the elements following the + element auto-numbering @p name, in folio and position order, as the + "Renumber" button of the project's numberings does. Undoable, one + step. + + An element whose label is frozen is left as it is, and its label is + not given to another element. + @return how many elements were left as they are because their label + is frozen, -1 if there is no such numbering or the project is read-only +*/ +int QetScriptApi::renumberElementAutoNum(const QString &name) +{ + if (!m_project) return -1; + const QString caller = QStringLiteral("renumberElementAutoNum"); + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.%1: project is read-only").arg(caller)); + return -1; + } + if (!m_project->elementAutoNum().contains(name)) { + log(QStringLiteral("qet.%1: no element auto-numbering named '%2'").arg(caller, name)); + return -1; + } + QVector frozen; + if (auto *cmd = ElementAutoNumSchemeCommand::renumber( + m_project, name, &frozen, + QObject::tr("Renuméroter les éléments (%1)").arg(name))) { + m_project->undoStack()->push(cmd); + } + return static_cast(frozen.size()); +} + +/** + @brief QetScriptApi::freeElementNumbers + The numbers an element which follows an element auto-numbering may be + given by hand with assignElementNumber(): from 1 to a few past the + highest in use, those no other element of the numbering carries and which + would not give it the label of another element. Empty if the element + follows no auto-numbering, or one whose numbers are not a single sequence + (a folio number, a cycle or letters in the definition). +*/ +QVariantList QetScriptApi::freeElementNumbers(int folioIndex, const QString &elementUuid) +{ + QVariantList list; + if (!m_project) return list; + Element *element = findElement(folioIndex, elementUuid); + if (!element) return list; + const QString title = m_project->elementAutoNumTitle( + QUuid(element->elementInformations().value(QETInformation::ELMT_FORMULA_ID).toString())); + for (int n : ElementAutoNumSchemeCommand::freeNumbers(m_project, title, element)) { + list << n; + } + return list; +} + +/** + @brief QetScriptApi::assignElementNumber + Give an element which follows an element auto-numbering the number + @p number of it, which must be free (see freeElementNumbers()): its label + is the formula worked out with that number and it keeps following the + numbering. If the counter of the numbering is at or below @p number it + moves past it. Undoable, one step. +*/ +bool QetScriptApi::assignElementNumber(int folioIndex, const QString &elementUuid, int number) +{ + if (!m_project) return false; + const QString caller = QStringLiteral("assignElementNumber"); + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.%1: project is read-only").arg(caller)); + return false; + } + Element *element = findElement(folioIndex, elementUuid); + if (!element) return false; + + QString problem; + auto *cmd = ElementAutoNumSchemeCommand::assignNumber(m_project, element, number, &problem); + if (!cmd) { + log(QStringLiteral("qet.%1: %2").arg(caller, problem)); + return false; + } + m_project->undoStack()->push(cmd); + return true; +} + +/** + @brief QetScriptApi::assignElementAutoNum + Make an element follow the element auto-numbering @p name: it gets + the formula and the next number of that numbering, which moves on. + The same command as picking the numbering in the element's + information window. Undoable, one step. + + The element is left alone, and false returned, when it follows that + numbering already, is a slave or a report, or when something would be + lost: a frozen label, or a formula it follows or holds already, unless + @p overwrite is true. A label typed by hand, with no formula, is + replaced. +*/ +bool QetScriptApi::assignElementAutoNum(const QString &name, int folioIndex, + const QString &elementUuid, bool overwrite) +{ + if (!m_project) return false; + const QString caller = QStringLiteral("assignElementAutoNum"); + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.%1: project is read-only").arg(caller)); + return false; + } + if (!m_project->elementAutoNum().contains(name)) { + log(QStringLiteral("qet.%1: no element auto-numbering named '%2'").arg(caller, name)); + return false; + } + Element *element = findElement(folioIndex, elementUuid); + if (!element) return false; + + auto *cmd = ElementAutoNumSchemeCommand::assign(m_project, name, {element}, overwrite); + if (!cmd) { + log(QStringLiteral("qet.%1: the element was left as it is").arg(caller)); + return false; + } + m_project->undoStack()->push(cmd); + return true; +} + /** @brief QetScriptApi::duplicateElements Copy elements, and the conductors between them, to another place. @@ -3578,6 +4167,10 @@ bool QetScriptApi::numberElement(int folioIndex, const QString &elementUuid) elements are selected for the moment and the previous selection restored before returning; the paste is Diagram::fromXml() at the position, followed by one PasteDiagramCommand so it is a single undo step. + + As for a paste in the editor, the copies of elements which follow an + element numbering get the next numbers of it (the preference "number + pasted elements"), and the numbering moves on; undoing gives them back. @return the uuids of the new elements, or an empty list on failure */ QStringList QetScriptApi::duplicateElements(int fromFolioIndex, const QStringList &elementUuids, @@ -3694,9 +4287,109 @@ QString QetScriptApi::folioBorder(int folioIndex, const QString &property) const if (property == QLatin1String("rows")) return QString::number(b.rows_count); if (property == QLatin1String("row-height")) return QString::number(b.rows_height); if (property == QLatin1String("display-rows")) return b.display_rows ? QStringLiteral("true") : QStringLiteral("false"); + const QRectF r = diagrams.at(folioIndex)->border_and_titleblock.borderAndTitleBlockRect(); + if (property == QLatin1String("width")) return QString::number(r.width()); + if (property == QLatin1String("height")) return QString::number(r.height()); return QString(); } +namespace { +/// The sheets "preset" knows, by the name it takes before -portrait or +/// -landscape. Tabloid and ledger are the same 11 x 17 in sheet. +const QList> &folioPaper() +{ + static const QList> p{ + {QStringLiteral("a0"), QPageSize::A0}, {QStringLiteral("a1"), QPageSize::A1}, + {QStringLiteral("a2"), QPageSize::A2}, {QStringLiteral("a3"), QPageSize::A3}, + {QStringLiteral("a4"), QPageSize::A4}, {QStringLiteral("a5"), QPageSize::A5}, + {QStringLiteral("letter"), QPageSize::Letter}, {QStringLiteral("legal"), QPageSize::Legal}, + {QStringLiteral("tabloid"), QPageSize::Tabloid}, {QStringLiteral("ledger"), QPageSize::Tabloid}}; + return p; +} + +/** + The count (1-99) and whole size (20-200) of cells that fill @p available + without going over it. Any fill within two units of it will do -- a PDF + export rounds a page that close to a standard sheet up to the sheet + (QPageSize's fuzzy match allows 3 pt, and two units are 1.5 pt) -- and + among those the size nearest @p current wins, so the grid keeps the + look it had rather than turning into nine huge columns that happen to + divide the sheet exactly. Failing that, the fullest fill. False if not + even one cell of the smallest size fits. +*/ +bool fitCells(qreal available, qreal current, int &count, qreal &size) +{ + constexpr qreal slack = 2.0; + int best_n = 0, best_s = 0, best_fill = 0; + bool best_close = false; + for (int s = 20; s <= 200; ++s) { + const int n = qMin(99, int(std::floor(available / s + 1e-9))); + if (n < 1) continue; + const int fill = n * s; + const bool close = fill >= available - slack; + bool better; + if (close != best_close) + better = close; + else if (close && qAbs(s - current) != qAbs(best_s - current)) + better = qAbs(s - current) < qAbs(best_s - current); + else + better = fill > best_fill; + if (!best_n || better) { + best_n = n; + best_s = s; + best_fill = fill; + best_close = close; + } + } + if (!best_n) return false; + count = best_n; + size = best_s; + return true; +} +} // namespace + +/** + @brief QetScriptApi::folioPresets + The values setFolioBorder() takes for "preset". +*/ +QStringList QetScriptApi::folioPresets() const +{ + QStringList names; + for (const auto &paper : folioPaper()) + names << paper.first + QStringLiteral("-portrait") + << paper.first + QStringLiteral("-landscape"); + return names; +} + +/** + @brief QetScriptApi::houseStyle + This installation's drawing conventions (grid, flow direction, routing, + tagging, grouping, ...), as free text the user wrote once. Empty when + nobody has set any. Not project-scoped: the same text for every + project this QElectroTech opens, same as liveAssistantEnabled(). + @return the text +*/ +QString QetScriptApi::houseStyle() const +{ + return QetSettings::houseStyle(); +} + +/** + @brief QetScriptApi::setHouseStyle + Write the installation's drawing conventions. Always succeeds (a plain + setting, not project data, so there is nothing here to refuse); @return + is for a consistent call shape with the rest of the API. + @param text +*/ +bool QetScriptApi::setHouseStyle(const QString &text) +{ + QetSettings::setHouseStyle(text); + //qet-assistant.json carries it: an assistant reading the file + //now must see the new text, not the one from the last start + AssistantInfo::refresh(); + return true; +} + /** @brief QetScriptApi::setFolioBorder Change one field of a folio's frame through ChangeBorderCommand, as the @@ -3707,6 +4400,9 @@ QString QetScriptApi::folioBorder(int folioIndex, const QString &property) const tested, so it is left refused rather than assumed safe. The extremes that are offered (99 x 99 cells, widths from 1 to 1000) were exported to PNG and did not hang or crash. + + "preset" sets all four at once for a sheet of paper, as one command: + see the class comment. */ bool QetScriptApi::setFolioBorder(int folioIndex, const QString &property, const QString &value) { @@ -3716,8 +4412,8 @@ bool QetScriptApi::setFolioBorder(int folioIndex, const QString &property, const log(QStringLiteral("qet.%1: project is read-only").arg(caller)); return false; } - if (!folioBorderNames().contains(property)) { - log(QStringLiteral("qet.%1: unknown property '%2'; expected one of %3") + if (!folioBorderNames().contains(property) && property != QLatin1String("preset")) { + log(QStringLiteral("qet.%1: unknown property '%2'; expected one of %3, preset") .arg(caller, property, folioBorderNames().join(QStringLiteral(", ")))); return false; } @@ -3728,7 +4424,45 @@ bool QetScriptApi::setFolioBorder(int folioIndex, const QString &property, const const BorderProperties old_b = diagram->border_and_titleblock.exportBorder(); BorderProperties new_b = old_b; bool ok = false; - if (property == QLatin1String("columns") || property == QLatin1String("rows")) { + if (property == QLatin1String("preset")) { + const QString v = value.toLower(); + const int dash = v.lastIndexOf(QLatin1Char('-')); + const QString orientation = v.mid(dash + 1); + bool known = dash > 0 && (orientation == QLatin1String("portrait") + || orientation == QLatin1String("landscape")); + QSizeF mm; + if (known) { + known = false; + for (const auto &paper : folioPaper()) { + if (paper.first != v.left(dash)) continue; + mm = QPageSize(paper.second).size(QPageSize::Millimeter); + known = true; + } + } + if (!known) { + log(QStringLiteral("qet.%1: unknown preset '%2'; expected one of %3") + .arg(caller, value, folioPresets().join(QStringLiteral(", ")))); + return false; + } + if ((orientation == QLatin1String("landscape")) != (mm.width() > mm.height())) + mm.transpose(); + // Scene units are pixels at 96 per inch, as the PDF export draws + // them; the export adds one for the frame's own line. + const qreal page_w = std::floor(mm.width() / 25.4 * 96.0 + 1e-6) - 1; + const qreal page_h = std::floor(mm.height() / 25.4 * 96.0 + 1e-6) - 1; + // Whatever is not columns or rows -- the headers, and the title + // block on whichever edge it sits -- measured rather than assumed, + // since it depends on the template. + const QRectF r = diagram->border_and_titleblock.borderAndTitleBlockRect(); + const qreal extra_w = r.width() - old_b.columns_count * old_b.columns_width; + const qreal extra_h = r.height() - old_b.rows_count * old_b.rows_height; + if (!fitCells(page_w - extra_w, old_b.columns_width, new_b.columns_count, new_b.columns_width) + || !fitCells(page_h - extra_h, old_b.rows_height, new_b.rows_count, new_b.rows_height)) { + log(QStringLiteral("qet.%1: preset '%2' leaves no room for a column or a row " + "beside this folio's title block").arg(caller, value)); + return false; + } + } else if (property == QLatin1String("columns") || property == QLatin1String("rows")) { const int n = value.toInt(&ok); if (!ok || n < 1 || n > 99) { log(QStringLiteral("qet.%1: %2 must be a whole number from 1 to 99, not '%3'").arg(caller, property, value)); @@ -3755,6 +4489,86 @@ bool QetScriptApi::setFolioBorder(int folioIndex, const QString &property, const return true; } +/** + @brief QetScriptApi::conductorDefault + One property of the conductor defaults: a folio's (what its new + conductors start from, and where "one text per potential" lives), or + with folioIndex -1, the project's, which each new folio copies. + Empty if the folio or the property does not exist. +*/ +QString QetScriptApi::conductorDefault(int folioIndex, const QString &property) const +{ + if (!m_project) return QString(); + ConductorProperties p; + if (folioIndex == -1) { + p = m_project->defaultConductorProperties(); + } else { + const QList diagrams = m_project->diagrams(); + if (folioIndex < 0 || folioIndex >= diagrams.count()) return QString(); + p = diagrams.at(folioIndex)->defaultConductorProperties; + } + if (property == QLatin1String("onetextperfolio")) + return p.m_one_text_per_folio ? QStringLiteral("true") : QStringLiteral("false"); + return conductorPropertyValue(p, property); +} + +/** + @brief QetScriptApi::setConductorDefault + Set one property of the conductor defaults, under the names + setConductorProperty() takes plus "onetextperfolio" (true/false: one + number per potential on each folio). Like the Folio properties and + Project properties dialogs, this is not on the undo stack: neither + dialog has an undo command for it. +*/ +bool QetScriptApi::setConductorDefault(int folioIndex, const QString &property, const QString &value) +{ + if (!m_project) return false; + if (m_project->isReadOnly()) { + log(QStringLiteral("qet.setConductorDefault: project is read-only")); + return false; + } + Diagram *diagram = nullptr; + if (folioIndex != -1) { + const QList diagrams = m_project->diagrams(); + if (folioIndex < 0 || folioIndex >= diagrams.count()) return false; + diagram = diagrams.at(folioIndex); + } + const ConductorProperties old_p = diagram ? diagram->defaultConductorProperties + : m_project->defaultConductorProperties(); + ConductorProperties new_p = old_p; + if (property == QLatin1String("onetextperfolio")) { + const QString v = value.toLower(); + if (v != QLatin1String("true") && v != QLatin1String("false")) { + log(QStringLiteral("qet.setConductorDefault: onetextperfolio is true or false, not '%1'").arg(value)); + return false; + } + new_p.m_one_text_per_folio = (v == QLatin1String("true")); + } else if (!setConductorPropertyValue(new_p, property, value)) { + log(QStringLiteral("qet.setConductorDefault: cannot set '%1' to '%2'; properties are onetextperfolio, %3") + .arg(property, value, conductorPropertyNames().join(QStringLiteral(", ")))); + return false; + } + if (new_p == old_p) return true; + + if (!diagram) { + m_project->setDefaultConductorProperties(new_p); + return true; + } + diagram->defaultConductorProperties = new_p; + // Show or hide the conductor texts now, as the Folio properties dialog + // does (DiagramPropertiesDialog), or an export later in this run would + // draw them as they were. + if (new_p.m_one_text_per_folio != old_p.m_one_text_per_folio) + { + const QList conductor_list = diagram->conductors(); + for (Conductor *c : conductor_list) + c->updateTextVisibility(); + for (Conductor *c : conductor_list) + c->calculateTextItemPosition(); + } + return true; +} + /** @brief QetScriptApi::elementGeometry Where an element is: x and y are its origin (what setElementPosition() @@ -3779,6 +4593,76 @@ QVariantMap QetScriptApi::elementGeometry(int folioIndex, const QString &element return g; } +/** + @brief QetScriptApi::terminalPosition + Where a wire docks on terminal @p terminalIndex of the element, in folio + coordinates (Terminal::dockConductor(), the point conductorSegments() + and conductorPath() start or end at), and which way the terminal sends + its wire on the folio, the element's rotation included: "n", "e", "s" + or "w". Two terminals facing each other are joined by a straight wire + exactly when their x (n/s) or y (e/w) are equal, which is what a + script needs to place a symbol in line with another before wiring it. + Empty if the element or terminal is not found. +*/ +QVariantMap QetScriptApi::terminalPosition(int folioIndex, const QString &elementUuid, + int terminalIndex) const +{ + // const_cast: findTerminal logs, and log() writes to stderr, which is + // not a const operation on this object. The lookup itself changes + // nothing. + auto *self = const_cast(this); + Terminal *terminal = self->findTerminal(folioIndex, elementUuid, terminalIndex, + QStringLiteral("terminalPosition")); + if (!terminal) return {}; + const QPointF p = terminal->dockConductor(); + static const char *const facing[] = {"n", "e", "s", "w"}; + const int o = static_cast(terminal->orientation()); + QVariantMap m; + m.insert(QStringLiteral("x"), p.x()); + m.insert(QStringLiteral("y"), p.y()); + m.insert(QStringLiteral("facing"), + QString::fromLatin1(o >= 0 && o < 4 ? facing[o] : "?")); + return m; +} + +/** + @brief QetScriptApi::conductorPath + The drawn path of the conductor carrying @p conductorUuid on the folio, + as a list of {x, y} points in folio coordinates: the first is where it + docks on its first terminal (conductorEnds()[0]), the last where it + docks on its second, and every point between is a corner or a segment + end. The same points conductorSegments() lists, but for any conductor + -- conductorSegments() names one by a terminal and so refuses a + terminal that carries two. Empty if there is no such conductor. +*/ +QVariantList QetScriptApi::conductorPath(int folioIndex, const QString &conductorUuid) const +{ + if (!m_project) return {}; + const QList diagrams = m_project->diagrams(); + if (folioIndex < 0 || folioIndex >= diagrams.count()) return {}; + const QUuid wanted(conductorUuid); + if (wanted.isNull()) return {}; + + DiagramContent content(diagrams.at(folioIndex), false); + for (Conductor *c : content.conductors(DiagramContent::AnyConductor)) { + if (c->uuid() != wanted) continue; + QVariantList points; + auto add = [&points](const QPointF &p) { + QVariantMap m; + m.insert(QStringLiteral("x"), p.x()); + m.insert(QStringLiteral("y"), p.y()); + points << m; + }; + const QList segs = c->segmentsList(); + for (int i = 0; i < segs.count(); ++i) { + if (i == 0) add(c->mapToScene(segs.at(i)->firstPoint())); + add(c->mapToScene(segs.at(i)->secondPoint())); + } + return points; + } + return {}; +} + /** @brief QetScriptApi::insertFolio Add a folio at a position (0 is first, folioCount() is last) through @@ -3908,8 +4792,24 @@ bool QetScriptApi::setFolioTitle(int folioIndex, const QString &title) return true; } +/** + @brief QetScriptApi::setUndoGrouped + Set by QetScripting::runOnProject() while the whole run is one undo + macro. QUndoStack cannot undo or redo inside a macro: it prints a + warning and does nothing, so undo() and redo() say so instead. +*/ +void QetScriptApi::setUndoGrouped(bool grouped) +{ + m_undo_grouped = grouped; +} + bool QetScriptApi::undo() { + if (m_undo_grouped) { + log(QStringLiteral("qet.undo: not available here -- this run is one " + "undo step; press Ctrl+Z after it to undo it")); + return false; + } if (!m_project || !m_project->undoStack()->canUndo()) return false; m_project->undoStack()->undo(); return true; @@ -3917,6 +4817,10 @@ bool QetScriptApi::undo() bool QetScriptApi::redo() { + if (m_undo_grouped) { + log(QStringLiteral("qet.redo: not available while this run is one undo step")); + return false; + } if (!m_project || !m_project->undoStack()->canRedo()) return false; m_project->undoStack()->redo(); return true; @@ -4369,5 +5273,9 @@ bool QetScriptApi::zoomReset() */ void QetScriptApi::showMessage(const QString &text) { + if (m_live_log) { + log(QStringLiteral("qet.showMessage: ") + text); + return; + } QET::QetMessageBox::information(nullptr, QObject::tr("Script"), text); } diff --git a/sources/scripting/qetscriptapi.h b/sources/scripting/qetscriptapi.h index c294cc616..f6b8b0c0e 100644 --- a/sources/scripting/qetscriptapi.h +++ b/sources/scripting/qetscriptapi.h @@ -259,7 +259,18 @@ class QetGraphicsTableItem; which it does not, are left alone. Changing the project title is not undoable: the application sets it directly too. - A folio's title block @b template is a seventh, separate case: + A seventh, write-only field, "preset", sizes the frame for a sheet of + paper: "a4-landscape", "tabloid-portrait" and so on (folioPresets() + lists them). It picks the column and row counts and whole-number + sizes that fill the sheet best without going over it, keeping each + size as near the current one as it can, and pushes them as one + ChangeBorderCommand. Whole numbers because the folio properties panel + edits these sizes in whole pixels: a fraction would be rounded off the + first time someone opened it. Two read-only fields, "width" and + "height", are the frame and title block together in scene units -- + what an export draws -- so a caller can check the result. + + A folio's title block @b template is a separate case again: Diagram::setTitleBlockTemplate() resolves a name only against QETProject::embeddedTitleBlockTemplatesCollection() -- the same copy-into-the-project step addElement() already does for elements, @@ -283,7 +294,12 @@ class QetGraphicsTableItem; is -- x, y (its origin), rotation, and the box it occupies on the folio (left, top, right, bottom) -- so a script can lay one thing out relative to another instead of only setting absolute coordinates, and can check - that a move landed. insertFolio() puts a new folio at a position + that a move landed. terminalPosition() is where a wire docks on one + terminal and which way it leaves, so a symbol can be placed with a + terminal exactly in line with another one before any wire exists; + conductorPath() is a wire's drawn path by its uuid, for any wire, + where conductorSegments() needs a terminal carrying only that one. + insertFolio() puts a new folio at a position instead of at the end, which is what reordering is mostly for while moving an existing folio still needs the application's project view. - @b Images: place a picture from a file. The pixels are copied into @@ -359,6 +375,7 @@ class QetScriptApi : public QObject Q_INVOKABLE QString projectTitle() const; Q_INVOKABLE QString filePath() const; Q_INVOKABLE int folioCount() const; + Q_INVOKABLE int currentFolio() const; Q_INVOKABLE QString folioTitle(int index) const; Q_INVOKABLE QString folioUuid(int index) const; Q_INVOKABLE int folioIndex(const QString &uuid) const; @@ -372,7 +389,8 @@ class QetScriptApi : public QObject Q_INVOKABLE bool exportDxf(const QString &outDir, bool showTerminals = false); Q_INVOKABLE bool exportCables(const QString &output); Q_INVOKABLE bool exportWires(const QString &output); - Q_INVOKABLE bool exportBom(const QString &output); + Q_INVOKABLE bool exportBom(const QString &output, bool noSlaves = false, + bool noJunctions = false); Q_INVOKABLE bool exportCableList(const QString &output); Q_INVOKABLE bool exportWiring(const QString &output); Q_INVOKABLE bool exportNets(const QString &output); @@ -386,6 +404,8 @@ class QetScriptApi : public QObject Q_INVOKABLE bool setElementPosition(int folioIndex, const QString &elementUuid, double x, double y); Q_INVOKABLE bool moveElement(int folioIndex, const QString &elementUuid, double dx, double dy); Q_INVOKABLE bool rotateElement(int folioIndex, const QString &elementUuid, double angle); + Q_INVOKABLE bool mirrorElement(int folioIndex, const QString &elementUuid, bool vertical = false); + Q_INVOKABLE QString elementMirror(int folioIndex, const QString &elementUuid) const; Q_INVOKABLE bool deleteElement(int folioIndex, const QString &elementUuid); // -- address what is already there -- @@ -423,6 +443,11 @@ class QetScriptApi : public QObject Q_INVOKABLE bool moveConductorSegment(int folioIndex, const QString &elementUuid, int terminalIndex, int segmentIndex, double dx, double dy); + Q_INVOKABLE QString routeConductor(int folioIndex, const QString &elementUuid, + int terminalIndex); + Q_INVOKABLE QString routeConductorBetween(int folioIndex, + const QString &elementUuidA, int terminalIndexA, + const QString &elementUuidB, int terminalIndexB); // -- cross-references: master/slave and report links -- Q_INVOKABLE QString elementLinkType(int folioIndex, const QString &elementUuid) const; @@ -507,9 +532,15 @@ class QetScriptApi : public QObject Q_INVOKABLE QStringList autoNums(const QString &kind) const; Q_INVOKABLE bool addAutoNum(const QString &kind, const QString &name, const QStringList &parts); Q_INVOKABLE bool removeAutoNum(const QString &kind, const QString &name); + Q_INVOKABLE bool renameAutoNum(const QString &kind, const QString &name, const QString &newName); Q_INVOKABLE bool useConductorAutoNum(int folioIndex, const QString &name); Q_INVOKABLE bool useElementAutoNum(const QString &name); Q_INVOKABLE bool numberElement(int folioIndex, const QString &elementUuid); + Q_INVOKABLE int renumberElementAutoNum(const QString &name); + Q_INVOKABLE QVariantList freeElementNumbers(int folioIndex, const QString &elementUuid); + Q_INVOKABLE bool assignElementNumber(int folioIndex, const QString &elementUuid, int number); + Q_INVOKABLE bool assignElementAutoNum(const QString &name, int folioIndex, + const QString &elementUuid, bool overwrite); // -- images, embedded in the project -- Q_INVOKABLE QStringList images(int folioIndex) const; @@ -517,6 +548,8 @@ class QetScriptApi : public QObject Q_INVOKABLE int addImage(int folioIndex, const QString &filePath, double x, double y); Q_INVOKABLE bool setImageScale(int folioIndex, int imageIndex, double factor); Q_INVOKABLE bool setImageRotation(int folioIndex, int imageIndex, double angle); + Q_INVOKABLE bool cropImage(int folioIndex, int imageIndex, int x, int y, int width, int height); + Q_INVOKABLE QVariantMap imageCrop(int folioIndex, int imageIndex) const; Q_INVOKABLE bool deleteImage(int folioIndex, int imageIndex); Q_INVOKABLE int addPdfPage(int folioIndex, const QString &pdfPath, int pageNumber, int dpi, double x, double y); @@ -534,6 +567,8 @@ class QetScriptApi : public QObject Q_INVOKABLE QString elementTextProperty(int folioIndex, const QString &elementUuid, int textIndex, const QString &property) const; Q_INVOKABLE bool deleteElementText(int folioIndex, const QString &elementUuid, int textIndex); + Q_INVOKABLE QVariantMap elementTextGeometry(int folioIndex, const QString &elementUuid, + int textIndex) const; // -- copy elements (with the conductors between them) to a position -- Q_INVOKABLE QStringList duplicateElements(int fromFolioIndex, const QStringList &elementUuids, @@ -543,6 +578,17 @@ class QetScriptApi : public QObject Q_INVOKABLE bool setProjectTitle(const QString &title); Q_INVOKABLE QString folioBorder(int folioIndex, const QString &property) const; Q_INVOKABLE bool setFolioBorder(int folioIndex, const QString &property, const QString &value); + Q_INVOKABLE QStringList folioPresets() const; + + // -- this installation's drawing conventions (grid, flow, routing, tagging, -- + // -- grouping, ...), free text, for every assistant that connects to read -- + Q_INVOKABLE QString houseStyle() const; + Q_INVOKABLE bool setHouseStyle(const QString &text); + + // -- the conductor defaults of a folio (Folio properties > Conductors), + // or with folioIndex -1, the project's defaults for new folios -- + Q_INVOKABLE QString conductorDefault(int folioIndex, const QString &property) const; + Q_INVOKABLE bool setConductorDefault(int folioIndex, const QString &property, const QString &value); // -- title block templates: which exist, embedding one into the project -- Q_INVOKABLE QStringList titleBlockTemplates() const; @@ -550,6 +596,9 @@ class QetScriptApi : public QObject // -- read an element's geometry -- Q_INVOKABLE QVariantMap elementGeometry(int folioIndex, const QString &elementUuid) const; + Q_INVOKABLE QVariantMap terminalPosition(int folioIndex, const QString &elementUuid, + int terminalIndex) const; + Q_INVOKABLE QVariantList conductorPath(int folioIndex, const QString &conductorUuid) const; // -- folios -- Q_INVOKABLE int addFolio(); @@ -584,11 +633,19 @@ class QetScriptApi : public QObject // -- logging: a script has no console of its own -- Q_INVOKABLE void log(const QString &message); + // -- what a script can call, read from this class itself -- + Q_INVOKABLE QStringList apiSignatures() const; + static QStringList signatures(); + + void setUndoGrouped(bool grouped); + void setLive(QStringList *log); + private: bool runFlag(const QString &flag, const QStringList &args); Element *findElement(int folioIndex, const QString &elementUuid) const; Terminal *findTerminal(int folioIndex, const QString &elementUuid, int terminalIndex, const QString &caller); + QString applyRoute(Conductor *conductor, const QString &caller); Conductor *findConductor(int folioIndex, const QString &elementUuid, int terminalIndex, const QString &caller); QList sortedTexts(int folioIndex) const; @@ -603,6 +660,8 @@ class QetScriptApi : public QObject QETProject *m_project; DiagramView *m_view; + bool m_undo_grouped = false; + QStringList *m_live_log = nullptr; ///< set for a live run: log() and showMessage() go here QString m_query_error; }; diff --git a/sources/scripting/qetscripting.cpp b/sources/scripting/qetscripting.cpp index 789b2dee9..fbf3873cf 100644 --- a/sources/scripting/qetscripting.cpp +++ b/sources/scripting/qetscripting.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #ifdef QET_HAS_SCRIPTING #include @@ -112,7 +113,24 @@ namespace { constexpr int kScriptTimeoutMs = 30000; } -bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *view) +bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *view, + const QString &title) +{ + QFile file(scriptPath); + if (QetSettings::scriptingEnabled() + && !file.open(QIODevice::ReadOnly | QIODevice::Text)) { + err << "Cannot open script: " << scriptPath << "\n"; + return false; + } + const QString source = QString::fromUtf8(file.readAll()); + file.close(); + return runSource(source, scriptPath, + title.isEmpty() ? QFileInfo(scriptPath).completeBaseName() : title, + project, view, nullptr); +} + +bool runSource(const QString &source, const QString &fileName, const QString &title, + QETProject *project, DiagramView *view, LiveRun *live) { // Checked here as well as at each caller, deliberately: this is the // one function that actually evaluates JavaScript, so it is the one @@ -121,23 +139,18 @@ bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *v // on the command line, an offer to switch the setting on in the editor. if (!QetSettings::scriptingEnabled()) { err << refusalMessage() << "\n"; - if (view) { + if (live) { + live->error = refusalMessage(); + } else if (view) { QET::QetMessageBox::warning(nullptr, QObject::tr("Script"), refusalMessage()); } return false; } - QFile file(scriptPath); - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - err << "Cannot open script: " << scriptPath << "\n"; - return false; - } - const QString source = QString::fromUtf8(file.readAll()); - file.close(); - QJSEngine engine; auto *api = new QetScriptApi(project, view, &engine); + if (live) api->setLive(&live->log); QJSValue qet_value = engine.newQObject(api); // newQObject() takes ownership by default (QJSEngine::JavaScriptOwnership), // which would delete api as soon as the engine's GC decides to -- api's @@ -162,7 +175,22 @@ bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *v } }); - QJSValue result = engine.evaluate(source, scriptPath); + // From the editor, a run is one undo step: a script that places + // twenty items is undone with one Ctrl+Z, not twenty. Headless --run + // keeps one step per call, which is what a script calling qet.undo() + // itself relies on. QUndoStack keeps an empty macro as a blank entry + // (and marks the project modified), so a script that changed nothing + // has its macro taken off again: an obsolete command is deleted by + // QUndoStack::undo() instead of being undone onto the redo side. + QUndoStack *stack = (view && project) ? project->undoStack() : nullptr; + const QString undo_text = live ? QObject::tr("Assistant : %1").arg(title) + : QObject::tr("Script : %1").arg(title); + if (stack) { + stack->beginMacro(undo_text); + api->setUndoGrouped(true); + } + + QJSValue result = engine.evaluate(source, fileName); { std::lock_guard lock(mtx); finished = true; @@ -170,9 +198,23 @@ bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *v cv.notify_one(); watchdog.join(); + if (stack) { + api->setUndoGrouped(false); + stack->endMacro(); + // Always the top of the undo side once the macro is closed, even + // when beginMacro() dropped a redo tail and count() went down. + const QUndoCommand *macro = stack->command(stack->index() - 1); + if (macro && macro->childCount() == 0) { + const_cast(macro)->setObsolete(true); + stack->undo(); + } else if (live) { + live->undoText = undo_text; + } + } + if (result.isError()) { const QString message = QStringLiteral("Script error: %1:%2: %3") - .arg(scriptPath) + .arg(fileName) .arg(result.property(QStringLiteral("lineNumber")).toInt()) .arg(result.toString()); err << message << "\n"; @@ -180,7 +222,11 @@ bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *v // launched the GUI normally (nowhere on Windows, easy to miss // everywhere else). Headless --run has no GUI to show this in, and // no session for it to block. - if (view) { + if (live) { + // The assistant gets the error and the user sees it in the + // log: a box here would wait on someone who did not ask. + live->error = message; + } else if (view) { QET::QetMessageBox::critical(nullptr, QObject::tr("Script"), message); } return false; @@ -202,7 +248,14 @@ int run(const QStringList &) return 1; } -bool runOnProject(const QString &, QETProject *, DiagramView *) +bool runSource(const QString &, const QString &, const QString &, QETProject *, + DiagramView *, LiveRun *live) +{ + if (live) live->error = QStringLiteral("built without Qt Qml: no scripting"); + return false; +} + +bool runOnProject(const QString &, QETProject *, DiagramView *, const QString &) { err << "This build of QElectroTech was compiled without the Qt Qml " "module, so JavaScript scripting is not available.\n"; diff --git a/sources/scripting/qetscripting.h b/sources/scripting/qetscripting.h index 09c8d9e0f..bcafff043 100644 --- a/sources/scripting/qetscripting.h +++ b/sources/scripting/qetscripting.h @@ -51,14 +51,40 @@ namespace QetScripting { /** @brief Run @p scriptPath against an already-open @p project (the - "Run Script..." GUI macro path). Errors go to stderr; there is no - modal reporting in this first version. + "Run Script..." GUI macro path). Errors go to stderr, and with a + @p view also to a message box. With a @p view the whole run is one + undo step; without one, each call is its own step, as on --run. @param view the active DiagramView, so the script's zoom methods have something to act on; nullptr from the headless entry point, where they become no-ops (see QetScriptApi). + @param title what the undo step is called; the script's file name + if empty. @return true if the script ran without throwing. */ - bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *view = nullptr); + bool runOnProject(const QString &scriptPath, QETProject *project, DiagramView *view = nullptr, + const QString &title = QString()); + + /** + @brief What a live run (an assistant acting on the open project, + see LiveServer) reports instead of showing: what the script + logged, the error if it threw, and the undo step it left, empty + if it changed nothing. + */ + struct LiveRun + { + QStringList log; + QString error; + QString undoText; + }; + + /** + @brief Run @p source as runOnProject() runs a file. @p fileName is + what errors name; @p title names the undo step. With @p live, no + box is shown: qet.log() and errors are collected there, and + qet.showMessage() is logged rather than shown. + */ + bool runSource(const QString &source, const QString &fileName, const QString &title, + QETProject *project, DiagramView *view, LiveRun *live); } diff --git a/sources/scripting/scriptheader.h b/sources/scripting/scriptheader.h new file mode 100644 index 000000000..0592a929a --- /dev/null +++ b/sources/scripting/scriptheader.h @@ -0,0 +1,175 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#ifndef SCRIPTHEADER_H +#define SCRIPTHEADER_H + +#include +#include +#include + +/** + @brief The ScriptHeader struct + How a stored script's button looks, read from a comment block at the top + of the .js file itself, so one file is all there is to write by hand, + to share, or for an assistant to create: + + @code + // ==QETScript== + // @name Add revision note + // @icon note.svg (a file next to the script, or builtin:) + // @tooltip Puts a "Rev A" note on the folio on screen + // @shortcut Ctrl+Alt+R + // @context canvas (canvas, selection or conductor) + // @api 1 + // ==/QETScript== + @endcode + + Only @name is required. An unknown key is an error rather than ignored: + a misspelt "@shortcut" that silently did nothing would be harder to find + than a script refused with the line that is wrong. + + Header-only, with no QElectroTech dependency, so it is tested on its own. +*/ +struct ScriptHeader +{ + QString id; ///< file name without .js; the action id is diagrameditor.script. + QString name; + QString icon; + QString tooltip; + QString shortcut; ///< as QKeySequence::fromString() reads it + QString context = QStringLiteral("canvas"); + int api = 1; + QString error; ///< empty if the header is usable + + bool isValid() const { return error.isEmpty(); } + + static QStringList contexts() + { + return {QStringLiteral("canvas"), QStringLiteral("selection"), + QStringLiteral("conductor")}; + } + + /** + @brief parse + @param text : the whole script + @param id : the script's file name without its extension + */ + static ScriptHeader parse(const QString &text, const QString &id) + { + ScriptHeader h; + h.id = id; + static const QRegularExpression block( + QStringLiteral("//\\s*==QETScript==\\s*\\n(.*?)//\\s*==/QETScript=="), + QRegularExpression::DotMatchesEverythingOption); + const QRegularExpressionMatch m = block.match(text); + if (!m.hasMatch()) { + h.error = QStringLiteral("no // ==QETScript== header"); + return h; + } + static const QRegularExpression line_re( + QStringLiteral("^\\s*//\\s*@(\\w+)\\s+(.*?)\\s*$")); + const QStringList lines = m.captured(1).split(QLatin1Char('\n')); + for (const QString &line : lines) { + const QRegularExpressionMatch lm = line_re.match(line); + if (!lm.hasMatch()) { + continue; + } + const QString key = lm.captured(1); + const QString value = lm.captured(2); + if (key == QLatin1String("name")) h.name = value; + else if (key == QLatin1String("icon")) h.icon = value; + else if (key == QLatin1String("tooltip")) h.tooltip = value; + else if (key == QLatin1String("shortcut")) h.shortcut = value; + else if (key == QLatin1String("context")) h.context = value; + else if (key == QLatin1String("api")) h.api = value.toInt(); + else { + h.error = QStringLiteral("unknown header key @%1").arg(key); + return h; + } + } + if (h.name.isEmpty()) { + h.error = QStringLiteral("@name is required"); + } else if (!contexts().contains(h.context)) { + h.error = QStringLiteral("@context must be one of: %1") + .arg(contexts().join(QStringLiteral(", "))); + } else if (h.api != 1) { + h.error = QStringLiteral("@api %1 is not supported by this " + "version (1 is)").arg(h.api); + } + return h; + } + + /** + @brief compose + A whole script file: the header parse() reads, then @a body. Empty + fields are left out, so a file saved by the script manager and a + hand-written one look alike. + */ + static QString compose(const QString &name, const QString &icon, + const QString &tooltip, const QString &shortcut, + const QString &context, const QString &body) + { + QString text = QStringLiteral("// ==QETScript==\n"); + auto line = [&text](const QString &key, const QString &value) { + const QString v = value.simplified(); + if (!v.isEmpty()) + text += QStringLiteral("// @%1 %2\n").arg(key.leftJustified(8), v); + }; + line(QStringLiteral("name"), name); + line(QStringLiteral("icon"), icon); + line(QStringLiteral("tooltip"), tooltip); + line(QStringLiteral("shortcut"), shortcut); + if (context != QLatin1String("canvas")) line(QStringLiteral("context"), context); + line(QStringLiteral("api"), QStringLiteral("1")); + text += QStringLiteral("// ==/QETScript==\n") + body; + if (!text.endsWith(QLatin1Char('\n'))) text += QLatin1Char('\n'); + return text; + } + + /** + @brief bodyOf + Everything after the header, or the whole text if there is none. + */ + static QString bodyOf(const QString &text) + { + const int end = text.indexOf(QStringLiteral("// ==/QETScript==")); + if (end < 0) return text; + const int next = text.indexOf(QLatin1Char('\n'), end); + return next < 0 ? QString() : text.mid(next + 1); + } + + /** + @brief idFor + A file name for a new script called @a name: lower-case letters, + digits and dashes, accents dropped, not one of @a taken. + */ + static QString idFor(const QString &name, const QStringList &taken) + { + QString base = name.normalized(QString::NormalizationForm_KD).toLower(); + static const QRegularExpression not_kept(QStringLiteral("[^a-z0-9\\s_-]")); + base.remove(not_kept); + base = base.simplified().replace(QLatin1Char(' '), QLatin1Char('-')).left(48); + if (base.isEmpty()) base = QStringLiteral("script"); + QString id = base; + for (int i = 2; taken.contains(id); ++i) + id = base + QLatin1Char('-') + QString::number(i); + return id; + } +}; + +#endif // SCRIPTHEADER_H diff --git a/sources/scripting/scriptlibrary.cpp b/sources/scripting/scriptlibrary.cpp new file mode 100644 index 000000000..0107ab0af --- /dev/null +++ b/sources/scripting/scriptlibrary.cpp @@ -0,0 +1,194 @@ +/* + Copyright 2006-2026 The QElectroTech Team + This file is part of QElectroTech. + + QElectroTech is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + QElectroTech is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with QElectroTech. If not, see . +*/ +#include "scriptlibrary.h" + +#include "../qetapp.h" + +#include +#include +#include +#include +#include +#include +#include + +ScriptLibrary &ScriptLibrary::instance() +{ + static ScriptLibrary library; + return library; +} + +/** + @brief ScriptLibrary::folder + Where stored scripts live: "scripts" in the user's data folder, next to + the user's own element and title block collections. +*/ +QString ScriptLibrary::folder() +{ + return QETApp::dataDir() + QStringLiteral("/scripts"); +} + +/** + @brief ScriptLibrary::actionId + The ShortcutManager id of a script's action. The "diagrameditor." + prefix is what puts it among the commands the shortcut bar can show. +*/ +QString ScriptLibrary::actionId(const QString &script_id) +{ + return QStringLiteral("diagrameditor.script.") + script_id; +} + +ScriptLibrary::ScriptLibrary() +{ + //An editor saving a file often writes it more than once, or + //replaces it through a rename: wait for it to settle. + m_rescan_timer.setSingleShot(true); + m_rescan_timer.setInterval(250); + connect(&m_rescan_timer, &QTimer::timeout, this, &ScriptLibrary::rescan); + connect(&m_watcher, &QFileSystemWatcher::directoryChanged, + &m_rescan_timer, qOverload<>(&QTimer::start)); + connect(&m_watcher, &QFileSystemWatcher::fileChanged, + &m_rescan_timer, qOverload<>(&QTimer::start)); + rescan(); +} + +/** + @brief ScriptLibrary::watch + Watch the folder and each script in it, or, while the folder does not + exist yet, the data folder it will be created in. +*/ +void ScriptLibrary::watch() +{ + if (!m_watcher.files().isEmpty()) m_watcher.removePaths(m_watcher.files()); + if (!m_watcher.directories().isEmpty()) m_watcher.removePaths(m_watcher.directories()); + + const QDir dir(folder()); + if (!dir.exists()) { + if (QFileInfo::exists(QETApp::dataDir())) { + m_watcher.addPath(QETApp::dataDir()); + } + return; + } + m_watcher.addPath(dir.path()); + QStringList files; + for (const Script &s : std::as_const(m_scripts)) files << s.path; + for (const QString &e : std::as_const(m_errors)) files << dir.filePath(e.section(QLatin1Char(':'), 0, 0)); + if (!files.isEmpty()) m_watcher.addPaths(files); +} + +void ScriptLibrary::rescan() +{ + QList